Este repositorio está destinado a cualquier persona que desee mejorar sus habilidades de resolución de problemas para entrevistas de ingeniería de software.
Los problemas se agrupan bajo sus respectivos subtemas, para centrarse en aplicar repetidamente patrones comunes en lugar de abordar preguntas al azar.
Todas las preguntas están disponibles en leetcode.com y algunas requieren leetcode premium.
Para lograr el mayor éxito al practicar, se recomienda encarecidamente conocer los métodos y tiempos de ejecución de las siguientes estructuras de datos y sus operaciones:
Además, debes tener un buen conocimiento de algoritmos comunes como:
Este pdf contiene información para las principales estructuras de datos en Java.
Otros métodos útiles que debe conocer incluyen substring()
, toCharArray()
, Math.max()
, Math.min()
y Arrays.fill()
.
La lista completa de preguntas se puede encontrar aquí: https://seanprashad.com/leetcode-patterns/.
Las soluciones escritas en Java se pueden encontrar en la rama de soluciones.
¿Crees que una pregunta debería o no debería incluirse? ¿Desearía que hubiera otra característica? ¡No dudes en abrir un problema con tu sugerencia!
Esta lista está fuertemente inspirada en Grokking the Coding Interview con problemas adicionales extraídos de la lista Blind 75 y este artículo de hackers sobre 14 patrones para resolver cualquier pregunta de una entrevista de codificación.