Gracias por A2A.
Las entrevistas en grandes empresas tecnológicas como Google, Microsoft, Amazon, Facebook, etc. no solicitan directamente ningún Algoritmo (al menos en mi experiencia). En su lugar, preguntan problemas donde la solución requiere conocimiento de estructuras de datos y algoritmos. Por ejemplo, una pregunta como Generar un conjunto de soluciones para Boggle requiere conocimiento de Backtracking, Profundidad del primer gráfico transversal, etc.
Eche un vistazo a Coderust 2.0: preparación de entrevistas de codificación más rápida utilizando visualizaciones interactivas para tener una idea sobre el tipo de preguntas que se hacen y cómo las estructuras de datos y los algoritmos lo ayudan a resolverlos.
- ¿Podría alguien ayudarme con el problema del algoritmo 'Intervalo casi ordenado'?
- Cómo resolver el problema de invertir la cadena dada si el tamaño de la cadena es mayor que el tamaño de mi RAM
- ¿Un montón necesita usar una cola prioritaria?
- ¿Qué significa si un futuro programador apesta u odia los algoritmos de aprendizaje y las estructuras de datos?
- Cómo aprender a escribir buenos algoritmos
Repasaría al menos los siguientes temas de DS / Algo en preparación para la entrevista
- Algoritmos de clasificación (clasificación por inserción, clasificación por selección, clasificación rápida, clasificación por fusión, clasificación por montón y clasificación por conteo).
- Pila y colas
- Listas vinculadas y su manipulación.
- Algoritmos de búsqueda (búsqueda binaria)
- Árboles (pre-orden, en orden, post-orden y recorridos de orden de nivel, árboles binarios, árboles de búsqueda binaria, intentos, etc.)
- Gráficos (recorridos que incluyen Búsqueda de profundidad primero, Búsqueda de amplitud primero y Ruta más corta)
- Programación dinámica
- Retroceso
Además de las preguntas que involucran habilidades de DS / Algo, también recibirá preguntas sobre el diseño de un sistema distribuido a gran escala, por ejemplo, Diseñe un acortador de URL como bitly o Design Instagram.
Eche un vistazo a Grokking the System Design Interview para prepararse para las preguntas de la entrevista relacionadas con el diseño de sistemas distribuidos a gran escala.
Para resumir
- Repase sus estructuras de datos y algoritmos si está oxidado.
- Practique resolviendo problemas que normalmente se le preguntan.
- Prepárese para las entrevistas de diseño del sistema.