¿Por qué conocer estructuras de datos y algoritmos básicos no es suficiente para descifrar la mayoría de las entrevistas técnicas?

Aquí está la fea verdad: “Conocer” las estructuras de datos y los algoritmos es un ejercicio inútil. “Comprenderlos” es lo que realmente buscas. Es decir, cuando aprende DS / Algo, debe centrarse en el “por qué” en lugar del “cómo” / “qué”. Por ejemplo, “¿Por qué dividir la matriz en dos?”, “¿Por qué los nodos están vinculados a otros nodos?”, Etc. Sin comprender esos “por qué”, puede aprender cada algo y ds inventados de memoria y aún así le resulta imposible realmente hacer cualquier programa

Y la mayoría de las preguntas de la entrevista están diseñadas para clasificar a las personas que entienden por qué, de modo que puedan aplicar de manera similar a otros problemas. Donde aquellos que solo se centraron en el cómo solo pueden hacer esa estructura de datos, o ese algoritmo. Por lo tanto, cuando se les pregunta algo que nunca han encontrado, están atrapados. Pero la persona que comprende el por qué puede ser capaz de descubrir algo e incluso poder comentar cómo mejorarlo, sin mencionar que puede solicitar información adicional que podría cambiar la respuesta, es decir, es más capaz de hacer el trabajo diario de un programador.

“Estructuras de datos y algoritmos” es el tema favorito de las empresas entrevistadas.

Cuando su experiencia aumenta, más de 4 años, entonces el diseño del sistema se vuelve importante.

Como dijo el usuario de Quora que no vale la pena simplemente conocer varios DS. Debe comprender dónde se usan cómo se implementan. Sus pros y contras, etc.

Si buscas preparación para la entrevista. Puede comenzar con “ Resolución de problemas en estructuras de datos y algoritmos ” escrito en varios lenguajes como C, C ++, Java, C #, Python, etc. Estos libros son fáciles de seguir y están escritos para el punto de vista de la entrevista . Además, estos libros tienen el último capítulo sobre Diseño de sistemas , que también se requiere en las entrevistas.

Los enlaces de los libros en Amazon están abajo:

1. Resolución de problemas en estructuras de datos y algoritmos utilizando C

2. Resolución de problemas en estructuras de datos y algoritmos usando C ++

3. Resolución de problemas en estructuras de datos y algoritmos utilizando Java

4. Resolución de problemas en estructuras de datos y algoritmos con C #

5. Resolución de problemas en estructuras de datos y algoritmos usando Python

6. Estructuras de datos y algoritmos en Go

Descargo de responsabilidad: soy autor de todos los libros anteriores.

Evaluar a un ingeniero de software únicamente sobre estructuras de datos y algoritmos es como evaluar a un chef únicamente sobre su capacidad para saltear cebollas; Hay muchos otros factores en una entrevista que van más allá del alcance de su conocimiento de estructuras de datos. Dale a cualquier mono la cantidad correcta de herramientas (y plátanos) y puede codificar, pero las empresas no solo te pagan por tu capacidad de codificar sino por tu capacidad de resolver problemas.

En todos los niveles, el propósito de una entrevista técnica es determinar si usted será una buena opción para el equipo con el que está hablando. Las habilidades técnicas son parte de eso, pero no tan importantes en el gran esquema de las cosas. ¿Te pareces arrogante o difícil de trabajar? ¿Tienes idea de cómo funciona realmente el desarrollo de software? ¿Tienes experiencia trabajando como parte de un equipo? Esas son las cosas que realmente importan una vez que sus habilidades técnicas están por encima de un cierto nivel, y lo que puede romper incluso al candidato más fuerte.