Saturday 18 November 2017

Moving Average Leetcode


Os seguintes são os assuntos comuns em entrevistas de codificação. Como entender esses conceitos exige muito mais esforço, este tutorial serve apenas como introdução. Os assuntos que são cobertos incluem: 1) StringArrayMatrix, 2) Lista Ligada, 3) Árvore, 4) Heap, 5) Gráfico, 6) Ordenação, 7) Programação Dinâmica, 8) Manipulação de Bit, 9) Combinações e Permutações e 10 ) Problemas de matemática. Eu recomendo que você leia Simple Java primeiro, se você precisar de uma breve revisão dos conceitos básicos do Java. Se você quiser ver exemplos de código que mostram como usar uma API popular, você pode usar JavaSED. Um algoritmo de entrada de problemas é muitas vezes uma seqüência ou matriz. Sem auto-conclusão de qualquer IDE, os seguintes métodos devem ser lembrados. Métodos comuns para resolver problemas relacionados à matriz incluem DFS, BFS, programação dinâmica, etc A implementação de uma lista vinculada é bastante simples em Java. Cada nó tem um valor e um link para o próximo nó. É por isso que apenas os principais desenvolvedores têm a chance de bibliotecas de desenvolvedores e os normais só podem usá-los. Eu encontrei as perguntas aqui muito bom. É claro para usar a biblioteca quando necessário, eles são o básico para desenvolvedores de software. Estas perguntas são difíceis e é preciso ser realmente inteligente para obter a maioria deles. Google, Facebook, Microsoft etc. as principais empresas querem GENIUS, não desenvolvedores seniores ou bons desenvolvedores. Eu tenho algumas universidades uni que trabalham no Google, Apple, Microsoft, eles são perfeitamente bons nesses algoritmos e são desenvolvedores de topo. Estas perguntas são as escadas para eles clime acima de mais do que a maioria dos desenvolvedores. Se vocês acham que este não é o melhor site para as perguntas da entrevista. Você pode por favor sugerir um site onde temos boas perguntas Desde que eu sou novo em programação e desesperadamente à procura de um emprego nos EUA me sugerir onde eu posso olhar para perguntas de entrevista e se preparar bem. Juan Carlos Alvarez Pregá-lo irmão. Este é um ótimo post. Eu gosto que ele inclui quase todos os tópicos comuns solicitados em entrevistas de codificação. Eu também gostaria de compartilhar este blog sobre questões de entrevista de codificação 8211 blog. gainlo. coindex. phpcategorycoding-entrevista-perguntas Talvez, mas que wasn8217t a questão Bob. Discordo completamente da sua conclusão. Demasiados desenvolvedores profissionais se esquecem de que são pagos para escrever software, geralmente para venda, não reescrever a linguagem em sua própria imagem. Este é um derivado de, 1) obtê-lo de trabalho. 2) obtê-lo funcionando corretamente. 3) Se, e somente se, houver um problema de desempenho nesse pedaço de código, otimize a implementação. Se eles quisessem saber como implementar um DeQueue que deveria ter sido a questão. A meta resposta que eu dei foi que eu não reinventar a linguagem a menos que eu absolutamente preciso. E isso foi há dois anos ago8230.c8217mon cara. Hmm, eu sei que ele não é o ponto aqui, mas eu wouldn8217t aceitar Stack como uma resposta: it8217s sincronizado e baseado em Vector. Esta pode ter sido a resposta caminho de volta mais de 10 anos atrás, hoje uma resposta melhor pode ser: use ArrayDeque ou LinkedList instância embora a interface Deque, mas um deve ser capaz de chicotear um acima do zero a pedido, porque it8217s tão simples. Você pode dar qualquer exemplo de sua declaração quantos programadores horríveis você sabe que acabou sendo no Google, Netflix, etc 8211 todos eles tomam quebra-cabeça, algoritmos e tais entrevistas. Até agora, Google, Facebook, Netflix, LinkedIn, Apple, etc têm os melhores programadores. Daí eles são as melhores empresas. Para a sua solução, 8220I8217d desenvolver em um idioma que suporta listas nativamente8221 8211 você toma como certo que a linguagem existe, e ele pode executar uma lista vinculada. Uau. Alguém inteligente tem que criar esse primeiro, certo para que ele exista, para que você possa usá-lo. Referindo o seu comentário abaixo, empresas líderes da indústria 8211 podem não ser as empresas que criam as coisas. Para eg. AccentureServiceNow, etc são empresas líderes da indústria para o 8220Service Industry8221. Quantas patentes têm arquivado Compare-os com patentes arquivadas pelo Google, Facebook, LinkedIn, etc empresas líderes da indústria geralmente querem 8220pick até a melhor referência e implementá-lo8221 8211 como você disse. Mas quem cria esses como referências Alguém deve criar uma obra-prima, para ser escolhido e usado por outros. Empresas como o Google, Facebook, etc 8220create8221 coisas. E é por isso que eles são justos em fazer tal entrevista. Experiência de anos XYZ, é uma coisa importante, muito importante. Mas 8220raw intelligence8221 também é muito importante. Ambos andam de mãos dadas. As empresas que estão moldando a tecnologia em torno de nós, querem ter certeza de que eles estão contratando pessoas inteligentes. De modo que, quando algum problema inteiramente novo tiver que ser resolvido (que não pode ser resolvido com experiência prévia), pode ser feito. Infelizmente, estas perguntas estão sendo pedidas para graduados frescos e Seniors igualmente. Nos últimos meses, participei de 10 entrevistas. Tudo começou com uma entrevista por telefone no laptop com editor ingênuo onde eles esperam que você ainda se lembra de toda a sintaxe. Os entrevistadores esperam que você resolva esses tipos de perguntas em 30 minutos com o melhor algoritmo possível. No mundo real, os melhores algoritmos evoluem. Você pode limpar essas entrevistas somente se você tiver preparado exclusivamente para essas empresas e tipo de perguntas. Uma vez que a entrevista é limpa, todas essas empresas são mesmo porcaria de idade. Google, Facebook, linkedin, amazon, ebay 8211 todos eles fazem da mesma maneira. Pior ainda 8211 startups estão dando projeto de codificação e ronda zero de rastreamento do que as próximas rondas como codificação. Desperdiçar quase 1 dia inteiro na entrevista e rejeitar a maioria das pessoas desperdiçando o tempo de todos. Como vejo, muitas dessas perguntas não estão realmente pedindo para reinventar as rodas, mas testando sua capacidade de projetar algoritmos eficientes e simples, bem como usar estruturas de dados apropriadas. Irrelevância, você quer dizer. Concordo com sua premissa básica sobre a inutilidade de implementar uma lista vinculada, mas sua arrogância é grating. Se você está indo para fazer o argumento de que você não vai ouvir os argumentos feitos por alguém que não pode soletrar corretamente, ou usar pontuação adequada, gramática e capitalização, é irônico que você não pode soletrar também. Ou talvez fosse apenas um erro de digitação, como o 8220match8221 em questão. 8220I8217ve entrevistado com empresas líderes da indústria. I8217ve trabalhou para empresas líderes da indústria. Eu não tenho certeza se você está trolling ou não, mas nos últimos 6 meses fui perguntado várias perguntas desta lista pelo Google, Microsoft e Amazon. Para lhes dar crédito, eles não se importavam se eu me lembrava dos nomes de métodos corretos para as classes e métodos STL ou Collections, mas as perguntas eram desta lista. Independentemente de quão útil esses problemas são na vida real (eles não são muito úteis), eles são úteis apenas para o propósito de entrevistas. A crítica de alguém que não pode usar gramática adequada, pontuação e capitalização é tão pungente. Considere-me repreendido por sua visão apurada. Os não especializados freqüentemente confundem competência e confiança com a arrogância, porque não têm a habilidade de dizer a diferença. Bottom line é que se você quiser contratar as pessoas certas, você precisa fazer as perguntas certas. Perguntas que testam a capacidade do candidato para regurgitar fatos que aprenderam de forma rotineira não são as perguntas certas. Questões que demonstram a capacidade do candidato para aplicar esse conhecimento são. Você é uma pessoa muito ignorante ainda altamente arrogante e eu não posso acreditar que existem tantos idiotas dar u plus ones eu aposto que há muitos perdedores lá fora, que tem rejeitado pelo google ou facebook. Eu verifiquei seu resumo ea companhia que você trabalhou para não é nada impressionante. Sim é uma má prática para reinventar as rodas na vida real, mas isso significa necessariamente que é uma má prática para fazer essas perguntas na entrevista Por que os universites em todo o mundo ensinam cálculo, álgebra linear, equações diferenciais Será que esses temas realmente ser Usado na vida real, pela sua lógica por se preocupar aprender todos esses, por que não universtisy despejar todos os cursos teóricos de qualquer maneira. Tenho certeza de que você não é mais do que um programador médio, apenas becauser você não é bom nisso e você não pode trabalhar para google ou mircosoft doesnt significa que essas perguntas são horriable. Eu apenas não posso suportar pessoas incompetentes bullshiting aqui e fingir ser profissional. Thx OP para compilar uma grande lista de perguntas de entrevista Eles são muito comumente visto naqueles grandes 4 compaines. 8220I8217ve visto mais do que suficiente pessoas provenientes da universidade tentando resolver tudo com recursão 8211 resultando em mau para ler, lento e memória caro code.8221 Yeah, o que aqueles universitários assholes saber de qualquer maneira 8220Every recursão cria uma cópia da função recursiva na memória ( Na maioria dos idiomas). E a recursão quase sempre é mais lenta do que a solução iterativa.8221 Esta afirmação é incorreta. Quando você faz recursão de cauda não há nenhuma razão para criar um novo quadro de pilha. Quando você diz que as línguas 8220most8221 can8217t fazem a recursão da cauda you8217re errado. C e C otimizam para a recursividade da cauda e, na maioria dos casos não artificiais, executam uma função recursiva corretamente implementada mais rapidamente e com menos memória do que uma função iterativa comparável. Java e C não têm a otimização para a recursão de cauda porque eles estão sendo compilados just in time (JIT) 8230 o processo JIT doesn8217t permitir tempo para executar a otimização de recursão cauda esse recurso nunca foi implementado nesses idiomas. Há uma razão pela qual é uma má idéia usar o Java para aplicações em tempo real ou incorporadas. Não apenas o processo JIT impede a otimização8230, mas em todos os casos em que os criadores de Java tiveram que escolher entre desempenho e segurança (o que significa impedir que o desenvolvedor cometesse erros estúpidos), os criadores de Java sempre erravam na prevenção de erros estúpidos. Aprecie o seu esforço para obter os algoritmos. É divertido refletir sobre as perguntas e tentar resolvê-lo, tempo de ou não ser solicitado na entrevista. Eu gosto de passar pelos assuntos que você compartilhou. Fui-me perguntado um par de estas perguntas em uma entrevista de Amazon aproximadamente um mês há. A entrevista foi bastante bem, embora eu não tivesse conseguido o emprego. Meu palpite é que eles fazem as perguntas para ter uma idéia de como você analisa um problema, e sua maneira de chegar a soluções. Isso também dá uma empresa uma idéia de seu conhecimento subjacente de uma linguagem, e complexidade do tempo. Não estou dizendo que está certo ou errado, mas acho que funciona para as empresas que usam esse método de entrevistar. Embora eu concorde reinventar a roda você não vai chegar a lugar nenhum e realmente ninguém espera que você faça isso no trabalho, independentemente de eu acredito que esta ainda é uma pergunta de entrevista válida para mim. Porque, porque você mesmo disse que você quer um candidato que tem grandes habilidades de resolução de problemas e faz decisões de design inteligente. E isso não é nada mais do que um problema que precisa ser resolvido, e perguntando isso você está procurando alguém que pode inventar uma roda quando necessário. Sim, eu concordo que melhores perguntas poderiam ser feitas, por exemplo, algo como esses testes de programação Java. Eles estão focados em examinar as habilidades de solução de problemas do candidato. Mas, no entanto, eu vejo assim, em algum momento este foi um problema e, em seguida, alguém resolveu e fez uma API fora dele. Estrutura de lista vinculada é comumente conhecido por isso, podemos esperar do candidato que ele sabe o que é, e então o que você está realmente pedindo é ver como ele projeta alguma estrutura (mesmo uma estrutura existente neste caso), que em algum momento ele Certamente vai fazer no trabalho. Obrigado pelo excelente artigo. Eu realmente gostei disso. Tenho vindo a fazer pesquisas na internet por um tempo muito longo e agora vir acima com algo útil. Será um grande guia para minha tese aqui: Tendo feito mais de 20 ou mais entrevistas de tecnologia durante uma pesquisa de emprego recentemente, I8217ve encontrou as listas neste post para ser muito útil. A maioria das empresas como o Google ou Linkedin primeiro dar-lhe uma tela de telefone e lá você vai encontrar 2 ou 3 perguntas da variedade encontrada aqui. Depois de sobreviver e chegar à entrevista em pessoa, então that8217s onde a diversão REAL começa. Você costuma ter problemas de programação muito mais difíceis e tem muito menos para terminá-los. Eu acho que a maioria dos desenvolvedores no Google ou Facebook deve ser gênios ou algo assim, eu acho que esta é uma boa maneira de eliminar todas as pessoas de inteligência apenas média. Sim Google e Facebook fazem essas perguntas, mas não pela razão que você acreditava. Tenho amigos em G e FB. Eles me disseram que passaram lt1 de seu tempo resolvendo problemas como quotdetecting ciclo em linkedlistquot. Não parece ser uma coisa sábia perguntar 90 de tais perguntas entrevistas. A razão pela qual eles fizeram essas perguntas foi que eles sabiam uma maneira melhor de avaliar objetivamente o projeto real do candidato e habilidades de codificação. Então eles voltaram às perguntas que foram feitas na escola. Em empresas de software de topo (google, fb, amazon, ms, etc.) você vai enfrentar este tipo se perguntas porque o que eles querem ver it8217s não só se você pode resolver o problema, mas COMO você resolvê-lo. Isso é exatamente o que eles querem avaliar, eles querem ver quais perguntas você pediu para entender o problema, como você analisá-lo, como você decomposed o problema, como você transformou sua análise e idéias em código, como bom é o seu código , Sustentável, flexível). Assim, as perguntas não são todas sobre algoritmos, mas também sobre suas habilidades Sabendo como eles se aplicam é um problema muito diferente do que como implementá-los. Como um cartaz anterior escreveu sobre nunca usar um gráfico ou nunca ter que implementar uma árvore RB that8217s diferente do que ter uma compreensão de por que eles são importantes. It8217s um versos de resposta de 5 minutos um exercício de 40 minutos. Porque as outras 1,999 pessoas não se importavam.

No comments:

Post a Comment