Entrevista wiki — Guía para ingenieros de software
En general, una entrevista de ingeniero de software tiene 4 tipos de rondas: -
- Ronda Técnica
- Ronda de diseño de alto nivel (HLD)
- Diseño de bajo nivel (LLD) Redondo
- Ronda de comportamiento
El número de rondas para cada rol dependería de la empresa. Por ejemplo Amazon, suelen tener 4 rondas en las que las 2 primeras rondas estarían relacionadas con Data Structure(DS) y algoritmos, y el resto serían rondas de diseño si es para el rol SDE2+. Para ellos, no mantienen una ronda separada para el comportamiento, sino que hacen un par de preguntas de liderazgo en cada ronda.
Cada ronda es importante y debemos dedicar tiempo a cada una. Por lo general, los estudiantes de primer año que están fuera de la universidad no tendrán rondas de HLD y LLD. Pero pueden esperar una ronda OO (orientada a objetos) en su lugar, donde prueban sus habilidades orientadas a objetos.
Aquí en este wiki, compartiré todo el contenido que encontré durante la preparación de mi entrevista. Estaría compartiendo cursos, libros, blogs y repositorios de GitHub que me fueron muy útiles durante la preparación de mi entrevista. Esto no significa que tengas que seguir lo mismo para tus entrevistas ya que cada uno tiene su propio estilo de aprendizaje. Pero puedes usar este wiki como guía o referencia para la preparación. Al final, eres tú quien asiste a la entrevista.
Cubriré cada ronda por separado. Comencemos con la ronda técnica.
Ronda Técnica
Una de las rondas más importantes tanto para principiantes como para experimentados. Aquí ponen a prueba tus conocimientos de estructura de datos y algoritmos. Estas rondas no ponen a prueba su conocimiento de los algoritmos avanzados que existen para resolver problemas complejos. Pero al menos deberías conocer los más comunes. He visto personas que tienen problemas muy extraños y basura que solo pueden resolverse con algunos algoritmos únicos. Pero eso es muy raro. No sugeriré pasar tiempo allí, ya que debemos confiar en la probabilidad básica de enfrentarlo. Si desea ver el patrón de preguntas de entrevista común, puede visitar el siguiente sitio web (https://algo.monster/problems/stats)
Las cosas que no debes saltarte:
Estructura de datos,
Matriz, Lista vinculada, Pila, Cola, Montón, Mapa, Conjunto, Trie, Árbol, BST
Algoritmos
Algoritmos de clasificación, programación dinámica, codiciosos, de búsqueda, divide y vencerás y gráficos.

Diseño de alto nivel
Pone a prueba su conocimiento sobre el diseño de la arquitectura general de un sistema. Incluye una descripción de la arquitectura del sistema, el diseño de la base de datos y una breve descripción de los sistemas, servicios, plataformas y relaciones entre módulos. Las preguntas solían ser muy vagas, como el diseño de WhatsApp, el diseño de Redbus, etc. Aquí debe crear un diseño en menos de 30 a 45 minutos, según el entrevistador. Aquí el entrevistador no espera que usted codifique, pero debería poder diseñar las bases de datos, la API, etc. si se le solicita.
Diseño de bajo nivel
Describe una descripción detallada de cada módulo, lo que significa que incluye la lógica real para cada componente del sistema y profundiza en la especificación de cada módulo. Aquí debe codificar las clases, las interfaces, etc. También debe tener muy buenos conocimientos de patrones de diseño. Si conoce un lenguaje orientado a objetos, entonces sería un punto a favor.

rondas de comportamiento
Creo que aquí no necesito dar ninguna introducción. Esta es una de las rondas que la gente solía saltarse pero, en mi opinión, dedica al menos un día a la preparación. La mayoría de los entrevistadores realmente se preocupan por lo que dices en esta ronda. Amazon, Google, etc. realmente se toman muy en serio estas rondas y debe conocer las preguntas que se hacen y qué estrategia se debe seguir para responderlas.
Recursos:
Ronda técnica
1.https://www.geeksforgeeks.org/top-algorithms-and-data-structures-for-competitive-programming/(Lo más importante)
2.https://takeuforward.org/interviews/strivers-sde-sheet-top-coding-interview-problems/(Problemas)
3.https://www.youtube.com/user/purpongie(Tutorial)
4.https://cses.fi/problemset/list(Problemas)
5.https://github.com/donnemartin/interactive-coding-challenges(Aprendiendo)
6.https://leetcode.com/discuss/interview-question/2001789/Collections-of-Important-String-questions-Pattern(Problemas)
7.https://github.com/jwasham/coding-interview-university(Aprendiendo)
8.https://leetcode.com/discuss/interview-question/2069641/the-only-lists-you-need-for-your-interview-preparation(Aprendiendo)
Ronda de DAN
1.https://www.youtube.com/c/SystemDesignInterview/videos(Tutorial)
2.https://www.youtube.com/watch?v=0163cssUxLA&list=PLA8lYuzFlBqAy6dkZHj5VxUAaqr4vwrka(Tutorial)
3.https://www.youtube.com/watch?v=xpDnVSmNFX0&list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX(Tutorial)
4.https://blog.bytebytego.com/?utm_source=linkedin_post(Blog)
5.https://leetcode.com/discuss/general-discussion/125038/system-design-interview-prep(Aprendiendo)
6.https://www.educative.io/courses/grokking-modern-system-design-interview-for-engineers-managers(Curso pagado)
7.https://github.com/donnemartin/system-design-primer(Aprendiendo)
8.https://github.com/checkcheckzz/system-design-interview(Aprendiendo)
Ronda LLD
1.https://workat.tech/machine-coding/practice(Problemas de codificación de la máquina)
2.https://www.youtube.com/playlist?list=PL564gOx0bCLouDCUMtmj6hMEu1JS7QYEr(Tutorial)
3.https://github.com/prasadgujar/low-level-design-primer/blob/master/questions.md(Problemas)
4.https://betterprogramming.pub/how-to-ace-the-low-level-design-interview-3f1be6401070(Blog)
Ronda de comportamiento
1.https://www.youtube.com/watch?v=RzlUQCy84rQ(Principio de liderazgo de Amazon)
2.https://leetcode.com/discuss/interview-question/1729926/a-guide-for-behavioral-round(guía)
3.https://drive.google.com/file/d/1sb6Kll5enH3H70uaNwnjWPkN9pNtSu9-/view(pdf)
4.https://igotanoffer.com/blogs/product-manager/behavioral-interview-questions-tech-companies#techniques(preguntas de facebook)
5.https://leetcode.com/discuss/interview-question/437082/Amazon-Behavioral-questions-or-Leadership-Principles-or-LP(preguntas de Amazon LP)
6.https://www.techinterviewhandbook.org/behavioral-interview-questions/(Preguntas)
7.https://www.principle.cards/(Pruébate)
Para obtener las últimas actualizaciones de la wiki de entrevistas, puede seguir mi repositorio de GitHubhttps://github.com/aashan007/Interview-wiki