Guía de preparación para entrevistas de ingenieros de software para entrevistas de codificación, diseño de sistemas, diseño de bajo nivel y de comportamiento
Hola chicos, si se preguntan cómo prepararse para las entrevistas de ingeniería de software, particularmente la entrevista de codificación y la entrevista de diseño de sistemas en 2024 y 2025, entonces han venido al lugar correcto.
Anteriormente, compartí los mejores libros , cursos y preguntas de entrevistas de codificación y hoy, voy a compartir con ustedes más recursos y áreas y temas clave que deben preparar y cómo prepararlos.
Como autor de un blog popular sobre Java y de una publicación en Medium, a menudo recibo preguntas sobre cómo prepararme rápidamente para una entrevista de codificación. Tengo dificultades para entender el concepto de diseño de sistemas y DSA. ¿Pueden recomendarme recursos? ¿Cuáles son los mejores libros sobre entrevistas de codificación que puedo leer o los mejores cursos a los que puedo unirme? etc.
Después de responder a muchas de ellas individualmente, pensé en escribir una publicación detallada sobre cómo abordar las entrevistas de codificación en 2024 y 2025, ya que las cosas han cambiado mucho en los últimos años, especialmente debido a la IA y la situación actual, conseguir trabajo en tecnología no es tan fácil como antes, a menos que no estés en India, Polonia o China.
Como alguien que ha navegado con éxito en más de 100 entrevistas y tiene experiencia en ambos lados de la mesa, tanto como candidato como entrevistador, he compilado una extensa lista de recursos que han resultado invaluables en mi viaje de preparación.
Esta guía cubre todo, desde entrevistas de codificación hasta diseño de sistemas, diseño de bajo nivel y entrevistas de comportamiento, ofreciendo una combinación de recursos gratuitos y pagos para adaptarse a las necesidades de cada estudiante.
También complementa mis recursos anteriores que compartí sobre entrevistas de codificación y diseño de sistemas como
Los 6 mejores cursos de Udemy para la preparación de entrevistas de programación en 2024
Estos son los mejores cursos de preparación para entrevistas de codificación que puedes comprar en oferta en Udemy en 2024
Mis cursos favoritos de Udemy para aprender diseño de sistemas en 2024
Estos son los mejores cursos de Diseño de Sistemas a los que puedes unirte no solo para prepararte para las entrevistas de Diseño de Sistemas, sino también para…
Los 10 mejores lugares para aprender diseño de sistemas en 2024
Estos son los mejores lugares para aprender Diseño de Software y Diseño de Sistemas en línea y prepararse bien para el Diseño de Sistemas…
¿Cómo aprobar las entrevistas de ingenieros de software en 2024/25?
Aquí tienes una guía completa y recursos para prepararte para las entrevistas de Ingeniería de Software en 2024 y el año que viene. Comenzaremos con libros y luego veremos cursos y sitios web para prepararnos mejor.
1. Dominar las entrevistas de codificación
Aquí están los mejores libros, listas de reproducción de YouTube y cursos en línea que puedes tomar para prepararte para la entrevista de codificación, incluidas estructuras de datos y algoritmos.
1.1 Libros esenciales
- “ Estructuras de datos y algoritmos simplificados” : un excelente punto de partida para principiantes, disponible en varios lenguajes de programación.
- “Cracking the Coding Interview” de Gayle Laakmann McDowell: una colección completa de 189 problemas de codificación de alta calidad con soluciones detalladas.
- “Elementos de entrevistas de programación” : disponible en Python, Java y C++, este libro ofrece una inmersión profunda en el diseño de algoritmos y estrategias de resolución de problemas.
1.2 Listas de reproducción de YouTube
- Lista de reproducción de algoritmos de Abdul Bari : algoritmos fundamentales explicados con claridad.
- Lista de reproducción de programación dinámica de Tushar Roy : domine el arte de resolver problemas de programación dinámica.
- Listas de reproducción de estructuras de datos y gráficos de William Fiset : visualizaciones que simplifican conceptos complejos.
- Back To Back SWE : ofrece explicaciones detalladas de varios algoritmos y estructuras de datos.
1.3 Cursos en línea
- Master the Coding Interview: Data Structures + Algorithms de Andrei Negaoie en Udemy es un gran recurso para preparar DSA.
- “ Algoritmos partes I y II ” de Coursera por Robert Sedgewick: una exploración exhaustiva de estructuras de datos y algoritmos fundamentales.
- “Introducción a los algoritmos” de MIT OpenCourseWare: cobertura rigurosa del diseño y análisis de algoritmos.
- “ Especialización en algoritmos ” de Stanford en Coursera: una serie de cuatro partes que profundiza en el diseño y análisis de algoritmos.
- Entrevistas para dominar la codificación: entrevistas a las grandes empresas tecnológicas (FAANG) en ZTM Academy
Estructuras de datos y algoritmos
Ofrecido por la Universidad de California en San Diego. Domina las técnicas de programación algorítmica. Mejora tu software…
1.4 Plataformas de práctica
- LeetCode: la plataforma ideal para la preparación de entrevistas de codificación.
- HackerRank: ofrece una amplia gama de desafíos y concursos de programación.
- CodeSignal: incluye evaluaciones específicas de la empresa y práctica de entrevistas.
1.5 Listas de problemas seleccionadas
- Algomonster : patrones de codificación y problemas seleccionados
- Educative-99 — (Disponible tanto en Python como en Java) Te enseñaré 26 patrones clave de entrevistas de codificación.
- Ciego 75
- Entrevista a los 150 mejores de LeetCode
- Los 100 problemas más populares de LeetCode
- Grind 75: una versión actualizada de Blind 75 con más problemas y planes de estudio personalizables.
2. Entrevistas sobre diseño de sistemas de craqueo
El próximo desafío es superar la entrevista de diseño de sistemas, que es notoriamente difícil debido a su naturaleza amplia y preguntas abiertas.
Aquí hay algunos cursos , libros , sitios web, boletines , hojas de trucos y entrevistas simuladas sobre diseño de sistemas que puede tomar para prepararse para las entrevistas de diseño de sistemas.
2.1 Libros que debes leer
- “ Diseño de aplicaciones intensivas en datos ” de Martin Kleppmann: la biblia para comprender los sistemas distribuidos.
Diseño de aplicaciones con uso intensivo de datos: las grandes ideas detrás de aplicaciones confiables, escalables y mantenibles…
Diseño de aplicaciones con uso intensivo de datos: las grandes ideas detrás de sistemas confiables, escalables y mantenibles [Kleppmann…
- “ Entrevista de diseño de sistemas: una guía privilegiada ” por Alex Xu: guía práctica con ejemplos del mundo real.
Entrevista de diseño de sistemas: una guía para expertos
Entrevista sobre diseño de sistemas: una guía para expertos [Xu, Alex] en Amazon.com. Envío GRATIS para compras que cumplan los requisitos. Entrevista sobre diseño de sistemas: una guía para expertos [Xu, Alex] en Amazon.com. Envío GRATIS para compras que cumplan los requisitos.
2.2 Canales de YouTube reveladores
- ByteByteGo : ofrece videos cortos y centrados en diversos temas de diseño de sistemas.
- Tech Dummies: explicaciones detalladas de problemas comunes de diseño de sistemas.
- CodeKarle : calidad antes que cantidad, ofreciendo información única.
- Gaurav Sen: explica conceptos complejos de diseño de sistemas de una manera accesible.
2.3 Cursos de profundización
- “Dominando la entrevista de diseño de sistemas por Frank Kane” : el curso más popular de Udemy, dictado por un exgerente de contrataciones de Amazon
- “ Entrevista sobre diseño de sistemas modernos” en Educative.io: cobertura integral de los fundamentos y patrones de diseño de sistemas.
- “Grokking the Advanced System Design Interview” en DesignGurus.io: uno de los mejores sitios web para entrevistas de diseño de sistemas.
- “Sistemas distribuidos” del MIT en edX — Fundamentos teóricos de los sistemas distribuidos.
- “Guía de entrevista de diseño de sistemas para arquitectura de software ”: otro excelente curso de Udemy dictado por un exlíder técnico de Facebook sobre el diseño de sistemas modernos.
- Curso de diseño de sistemas ByteByteGo
ByteByteGo | Preparación para entrevistas técnicas
Todo lo que necesitas para llevar tus habilidades de diseño de sistemas al siguiente nivel
Preparación para entrevistas de productos, ingeniería, ciencia de datos y más – Exponent
Nuestros cursos te ayudan a prepararte para las entrevistas y a destacar en tu trabajo. Obtén consejos de líderes técnicos y propietarios de productos…
2.4 Repositorios de GitHub para el diseño del sistema
- Los mejores recursos para entrevistas de diseño de sistemas : una lista seleccionada de los mejores recursos para entrevistas de diseño de sistemas
- awesome-system-design-resources : una lista seleccionada de recursos de diseño de sistemas.
- system-design-primer — Aprenda a diseñar sistemas a gran escala.
GitHub – javabuddy/best-system-design-resources: Una colección de los mejores recursos para aprender sobre sistemas…
Una colección de los mejores recursos para aprender diseño de sistemas, arquitectura de software y prepararse para entrevistas de diseño de sistemas…
3 entrevistas de diseño de bajo nivel
Ahora, pasemos al diseño de bajo nivel y descubramos lo que se necesita para superar esta ronda.
3.1 Libros fundamentales
- “ Head First Design Patterns ” : una introducción interesante a los conceptos y patrones de diseño de programación orientada a objetos.
- “ Clean Code ” de Robert C. Martin: principios para escribir código mantenible y eficiente.
Patrones de diseño de Head First: creación de software orientado a objetos extensible y mantenible 2.º…
Patrones de diseño de Head First: creación de software orientado a objetos extensible y mantenible 2.ª edición [Freeman, Eric…
Código limpio: un manual de desarrollo ágil de software
Clean Code: A Handbook of Agile Software Craftsmanship [Robert C. Martin] en Amazon.com. Envío GRATIS en compras elegibles…
3.2 Cursos de desarrollo de habilidades
- “Grokking the Low Level Design Interview” en Educative.io: cubre OOPS, patrones de diseño, principios SOLID y problemas LLD comunes.
- “ Patrones de diseño Java ” en Udemy: aplicación práctica de patrones de diseño en Java.
- Entendiendo la entrevista sobre diseño orientado a objetos : un curso interactivo sobre diseño orientado a objetos
Entendiendo la entrevista de diseño de bajo nivel usando principios OOD
Prepárese para su entrevista de diseño orientado a objetos con este curso estratégico. Domine su entrevista de diseño orientado a objetos…
3.3 Repositorios completos de GitHub
- awesome-low-level-design : recursos seleccionados para conceptos de LLD y problemas de entrevistas.
- patrones-de-diseño-para-humanos — Una explicación simplificada de los patrones de diseño.
4. Entrevistas de comportamiento
Ahora, pasemos a la entrevista conductual, que es un buen indicador de que estás cerca de alcanzar tu objetivo, pero aún no tienes la oferta en tus manos.
4.1 Estrategias de preparación
- Cree un documento de Notion o utilice una herramienta similar para compilar y responder preguntas de comportamiento comunes utilizando el marco STAR.
- Practica la narración de historias para que tus experiencias sean más atractivas y memorables.
Aquí hay un ejemplo del marco STAR donde cuenta cómo mejoró el rendimiento de una aplicación o API de rendimiento lento.
Situación:
- Me asignaron la tarea de optimizar una aplicación web de rendimiento lento que experimentaba retrasos significativos durante el uso pico.
Tarea:
- Identifique la causa raíz del cuello de botella en el rendimiento e implemente soluciones para mejorar los tiempos de respuesta.
Acción:
- Creación de perfiles: utilicé herramientas de creación de perfiles para analizar las métricas de rendimiento de la aplicación, como el uso de CPU, el consumo de memoria y los tiempos de ejecución de consultas de base de datos.
- Identificación de cuellos de botella: descubrí que la aplicación estaba realizando consultas excesivas a la base de datos, particularmente durante operaciones de búsqueda complejas.
- Optimización: implementé técnicas de optimización de consultas de bases de datos, que incluyen indexación, almacenamiento en caché y reescritura de consultas. También optimicé el código de la aplicación para lograr eficiencia al reducir cálculos innecesarios y asignaciones de memoria.
- Pruebas: Probé exhaustivamente la aplicación optimizada para asegurarme de que cumpliera con los requisitos de rendimiento y no introdujera ningún error nuevo.
Resultado:
- Los tiempos de respuesta de la aplicación mejoraron significativamente, lo que generó una mejor experiencia de usuario y una mayor satisfacción del cliente. Los esfuerzos de optimización también redujeron la carga del servidor, lo que resultó en ahorros de costos para la organización.
Puedes ver lo efectiva que es esta técnica.
4.2 Recursos recomendados
- “ Cracking the PM Interview ” de Gayle Laakmann McDowell: aunque se centra en la gestión de productos, ofrece excelentes consejos sobre entrevistas de comportamiento.
- Preguntas de la entrevista del método STAR : una guía completa para utilizar el método STAR de manera eficaz.
Cómo superar la entrevista de PM: cómo conseguir un trabajo de gerente de producto en tecnología (Cómo superar la entrevista…
¿Cuántas pizzas se reparten en Manhattan? ¿Cómo se diseña un despertador para ciegos? ¿Cuál es tu pieza favorita…
5. Perfecciona tus habilidades para la entrevista
Se dice que la práctica te hace perfecto y en las entrevistas ocurre lo mismo. Cuanto más te esfuerces, más posibilidades tendrás de tener éxito, pero en el mundo real, cada oportunidad es una oportunidad perdida, así que es mejor que utilices entrevistas simuladas en sitios como Exponent y Designgurus.io para practicar.
5.1 Plataformas de entrevistas simuladas
- Pramp : ofrece entrevistas simuladas gratuitas entre pares.
- Designgurus.io : un sitio web que te brinda la oportunidad de ser entrevistado por ex ingenieros de FAANG, como el ex ingeniero de Microsoft y Facebook Arslan Ahmad
- InterviewBit: proporciona un entorno de entrevistas realista con desafíos de codificación cronometrados.
- Interviewing.io: entrevistas técnicas anónimas con ingenieros de las principales empresas.
Coaching y entrevistas simuladas para su trabajo en el sector tecnológico – Exponent
Conéctese con un experto en su campo para practicar entrevistas simuladas, revisar su currículum o crear un plan de estudio.
5.2 Competiciones de codificación
- Concursos virtuales LeetCode: competencias de codificación periódicas para poner a prueba tus habilidades bajo presión del tiempo.
- Concursos HackerRank: ofrece diversas competiciones de codificación temáticas.
5.3 Consejos adicionales
- Grábate explicando soluciones para identificar áreas de mejora en tu comunicación.
- Únase a comunidades de codificación en Discord o Reddit para discutir problemas y estrategias con sus compañeros.
Eso es todo acerca de los mejores recursos para las entrevistas de ingeniería de software. He compartido muchos recursos excelentes para prepararse bien para las entrevistas de codificación y diseño de sistemas en 2024 y 2025. Contiene una gran cantidad de recursos, pero es posible que deba consultarlos todos, solo elija dónde se conecta mejor.
Recuerde que la práctica constante y un enfoque estructurado del aprendizaje son clave para el éxito en la entrevista.
También puede personalizar esta guía según sus necesidades, centrándose en las áreas donde necesita más mejoras.
¡Buena suerte con la preparación de tu entrevista!
Otros artículos y recursos sobre diseño de sistemas que te pueden interesar
- ¿Vale la pena el curso de diseño de sistemas de DesignGuru?
- Los 16 mejores recursos para prepararse para la entrevista de diseño de sistemas
- Más de 100 preguntas y problemas de entrevistas sobre diseño de sistemas
- ¿Vale la pena el curso de diseño de sistemas de Exponent?
- Los 16 mejores recursos para entrevistas de diseño de sistemas para desarrolladores
- ¿Vale la pena el System Design Interview RoadMap de DesignGuru?
- Los 5 mejores lugares para aprender diseño de sistemas y diseño de software
- 10 razones para aprender diseño de sistemas en 2024
- Los 6 mejores cursos interactivos de diseño de sistemas y diseño de API
- 10 cursos de diseño de software para desarrolladores
- Los 5 mejores boletines informativos sobre diseño de sistemas para entrevistas
- Mis cursos de diseño de software favoritos para 2024
- Los 5 mejores canales de YouTube sobre diseño de sistemas para ingenieros
- Los 10 mejores lugares para aprender diseño de sistemas en 2024
- Cómo prepararse para una entrevista de diseño de sistemas en 2024
- ¿Vale realmente la pena ByteByteGo?
- 3 lugares para practicar el diseño de sistemas Entrevistas simuladas
- ¿Vale la pena leer el libro Diseño de aplicaciones intensivas en datos?
Gracias por leer este artículo hasta ahora. Si te gusta esta solución de entrevista de diseño de sistemas de Twitter, compártela con tus amigos y colegas. Si tienes alguna pregunta, no dudes en hacerla en los comentarios.
PD: Por cierto, DesignGuru.io también tiene muchos otros cursos de Grokking para prepararse para temas esenciales de entrevistas de codificación como diseño OOP, diseño de sistemas, programación dinámica, etc. y puedes obtener acceso a todos sus cursos con un gran descuento al unirte a su paquete All course .