Preguntas de entrevista DSA
Por Aaron Cao · Actualizado el

Las entrevistas DSA reutilizan un pequeño conjunto de patrones en lugar de cientos de problemas únicos. Espera arrays y cadenas de texto, dos punteros y ventana deslizante, hashing, búsqueda binaria, árboles y grafos, heaps, y programación dinámica, planteados como problemas en vivo que se espera que expliques en voz alta mientras los resuelves.
¿Qué evalúa realmente una entrevista DSA?
Has resuelto varios cientos de problemas y aún te sientes poco preparado, lo cual suele significar que has estado practicando la mitad equivocada del ejercicio. Esta sección identifica qué se evalúa realmente, para que la práctica pueda ajustarse a ello.
Una ronda en vivo de estructuras de datos y algoritmos mide cuatro cosas a la vez: si reconoces a qué patrón pertenece el problema, si puedes exponer el enfoque antes de escribir código, si la implementación es correcta en los casos límite, y si puedes razonar la complejidad en voz alta. Los candidatos optimizan el tercer punto y descuidan el segundo, y luego reciben una peor puntuación por una solución correcta que llegó sin explicación.
Ese paso de reconocimiento es la razón por la que practicar patrones supera a resolver muchos problemas. Los problemas rara vez son novedosos; son recombinaciones. En cuanto puedas decir esto es una ventana deslizante sobre un mapa de frecuencias dentro del primer minuto, el resto es ejecución. Los bancos de preguntas relacionados por lenguaje y puesto están en el hub de preguntas de entrevista.
¿Qué patrones deberías conocer?
Estos patrones representan la mayoría de lo que se pregunta. Aprende a reconocer la señal que apunta a cada uno.
- Dos punteros. Entrada ordenada, sumas de pares, particionado en el sitio, comprobación de palíndromos.
- Ventana deslizante. Subarray contiguo más largo o más corto bajo una restricción.
- Conteo con hash map. Anagramas, duplicados, comparaciones de frecuencia, primer elemento único.
- Búsqueda binaria. Arrays ordenados, y búsqueda sobre el espacio de respuestas cuando el array no está ordenado.
- Búsqueda en anchura y en profundidad. Árboles, cuadrículas, componentes conexas, camino más corto sin ponderar.
- Heap y cola de prioridad. Problemas de los k mayores, fusión de flujos ordenados, medianas en tiempo real.
- Intervalos. Fusión, inserción y detección de solapamiento tras ordenar por el inicio.
- Programación dinámica. Subproblemas solapados: subir escaleras, cambio de monedas, distancia de edición, subsecuencias.
- Backtracking. Permutaciones, combinaciones, subconjuntos, rompecabezas con restricciones.
- Algoritmos de grafos. Orden topológico, union-find, camino más corto ponderado.
¿Qué preguntas aparecen según el tema?
Enunciados representativos, formulados como los plantean los entrevistadores:
- Encuentra dos números de un array cuya suma sea un valor objetivo, y luego hazlo sin espacio adicional.
- Devuelve la longitud de la subcadena más larga sin caracteres repetidos.
- Dado un array ordenado y rotado, encuentra un valor objetivo en tiempo logarítmico.
- Fusiona intervalos solapados y explica por qué merece la pena el coste de ordenar.
- Invierte un árbol binario y luego encuentra su profundidad máxima.
- Valida un árbol binario de búsqueda, y di qué se le escapa a una comprobación ingenua.
- Cuenta las islas de una cuadrícula, y explica cómo manejarías una cuadrícula demasiado grande para la memoria.
- Encuentra los k elementos más frecuentes y justifica tu estructura de datos.
- Calcula el número mínimo de monedas para una cantidad, y expresa la recurrencia.
- Detecta un ciclo en una lista enlazada, y devuelve el nodo donde empieza.
- Serializa y deserializa un árbol binario.
- Dados los requisitos previos de unos cursos, decide si el horario es posible.
Un recién graduado que entrevista para un puesto de backend recibe el problema de la subcadena y empieza a escribir código de inmediato. El código está casi bien, pero el entrevistador pasa toda la ronda preguntando qué hace, y la puntuación refleja el silencio, no el error. Un candidato que dedica cuarenta segundos a decir ventana sobre un mapa de caracteres, expando por la derecha, contraigo por la izquierda al encontrar un duplicado, y llevo la cuenta del máximo ya ha superado la parte más difícil de remontar.
¿Cómo practicas hablar mientras resuelves?
Resolver en silencio genera el reflejo equivocado. La ronda en vivo exige narrar y programar al mismo tiempo, y eso es una habilidad distinta de cada una por separado.
Cambia el ejercicio, no la lista de problemas. Antes de escribir nada, di en voz alta el patrón, el enfoque y la complejidad esperada. Escribe el código mientras sigues narrando. Al terminar, indica de nuevo la complejidad y menciona un caso límite que hayas manejado y otro que preguntarías. Hacer esto con diez problemas desarrolla más capacidad de entrevista que resolver cincuenta en silencio.
Una sesión de entrevista simulada aporta las preguntas de seguimiento, la parte que no se puede ensayar en solitario, y te da una grabación de tu propia narración para revisar. Un límite honesto se aplica siempre: una evaluación de código escrita en el navegador, con supervisión, no es una conversación, y ningún asistente en vivo tiene cabida en ella. El hub de tipos de entrevista explica qué formatos de código son en vivo y cuáles son automatizados.
FAQ
¿Cuántos problemas debería resolver antes de una entrevista DSA?
¿Es necesaria la programación dinámica en la mayoría de las entrevistas?
¿Debería indicar la complejidad sin que me lo pidan?
¿Y si no encuentro la solución óptima?
¿Puede ayudar un asistente de IA en una ronda DSA?
Preguntas relacionadas
- ¿Qué preguntas se hacen en una entrevista en video de HireVue?
- ¿Qué preguntas se hacen en una entrevista de AWS?
- ¿Qué preguntas se hacen en una entrevista de ventas?
- ¿Qué preguntas de entrevista de Power BI se hacen realmente?
- ¿Qué preguntas se hacen en una entrevista de atención al cliente?
- ¿Qué preguntas se hacen en una entrevista de trabajo para una ONG?