¡No, no es suficiente! Me entrevisté en Microsoft, Facebook, Google y Amazon. Una cosa a tener en cuenta, las entrevistas técnicas no significan solo preguntas de codificación, sino que también incluyen preguntas de diseño. Primero, analicemos las preguntas de codificación que se hacen en estas grandes empresas. Aquí están mis observaciones sobre estas preguntas:
- Todas las preguntas implican algún truco que debes resolver primero. Por ejemplo, responda a esta pregunta ‘Escriba un iterador en orden de un árbol de búsqueda binario (BST)’. Conocer la estructura de datos (o algoritmo) por sí solo no es suficiente aquí. Como sabemos, podemos usar una pila para desarrollar la solución iterativa para el recorrido recursivo de BST, pero el truco es qué nodo debe empujarse en la pila y cómo / cuándo debemos hacer estallar un nodo.
- Encontrar una solución de extremo a extremo: conocer las estructuras de datos le permitirá descubrirlo, pero debe resolver un problema por completo, resolviendo todos los escenarios, condiciones finales, procesando entradas, etc.
- Decidir qué estructura (s) de datos se adapta mejor a su solución. Múltiples estructuras de datos y algoritmos pueden resolver un problema, decidir cuál será el mejor es crítico, por ejemplo, a veces optimizas para la memoria y a veces trabajas para optimizar el tiempo de ejecución general o ambos.
En segundo lugar, las preguntas de diseño evalúan sus habilidades de diseño; Todos los puntos anteriores se aplican también a los problemas de diseño. Además de eso, trabajas en dividir el sistema en componentes más pequeños, diseñando qué hará cada componente y cómo funcionarán entre sí los diferentes componentes, etc.
Encontré los siguientes sitios muy útiles para la preparación de entrevistas técnicas:
- ¿Cómo encontrará la subsecuencia de mayor crecimiento en una lista circular vinculada?
- ¿El archivo objeto producido por C está escrito en lenguaje máquina?
- ¿Por qué algunos desarrolladores pueden construir un buen software, pero no logran descifrar la entrevista técnica?
- Dada una lista de n enteros, ¿cómo puedo encontrar todas las combinaciones que suman 0?
- ¿Cuáles son las preguntas más frecuentes de la entrevista de programación?
- Codificador
- LeetCode
- Grokking la entrevista de diseño del sistema