Este repositório é destinado a qualquer indivíduo que queira melhorar suas habilidades de resolução de problemas para entrevistas de engenharia de software.
Os problemas são agrupados em seus respectivos subtópicos, a fim de focar na aplicação repetida de padrões comuns, em vez de abordar questões aleatoriamente.
Todas as perguntas estão disponíveis em leetcode.com, algumas exigindo leetcode premium.
Para obter o maior sucesso ao praticar, é altamente recomendável conhecer os métodos e tempos de execução das seguintes estruturas de dados e suas operações:
Além disso, você deve ter um bom conhecimento de algoritmos comuns, como:
Este pdf contém informações para as principais estruturas de dados em Java.
Outros métodos úteis para saber incluem substring()
, toCharArray()
, Math.max()
, Math.min()
e Arrays.fill()
.
A lista completa de perguntas pode ser encontrada aqui: https://seanprashad.com/leetcode-patterns/.
Soluções escritas em Java podem ser encontradas no ramo de soluções.
Acha que uma pergunta deveria/não deveria ser incluída? Gostaria que houvesse outro recurso? Fique à vontade para abrir um issue com sua sugestão!
Esta lista é fortemente inspirada em Grokking the Coding Interview com problemas adicionais extraídos da lista Blind 75 e neste artigo hackernoon sobre 14 padrões para responder a qualquer pergunta da entrevista de codificação.