¿Por qué las entrevistas tecnológicas se centran en problemas o algoritmos complicados de la estructura de datos cuando la mayoría de las empresas no requieren esto en el trabajo diario?

Si se trata de una pregunta de tipo “acertijo” que necesita un truco particular para resolver y lo sabes antes, eso no prueba mucho. Pero generalmente tendrá muchas entrevistas técnicas en un día, por lo que es poco probable que sepa todos los trucos. Además, los “trucos” cambian con el tiempo. No hago las mismas preguntas difíciles que hice antes, y construyo otras nuevas para mis entrevistas para que no las hayas visto antes de todos modos.

En segundo lugar, el conocimiento algorítmico es crucial en su trabajo diario. No hay manera de evitarlo. Si desea trabajar en una empresa de primer nivel, necesita un conocimiento superior de algoritmos. No solo necesita escribir código que funcione, sino que funciona de manera flexible en diversas condiciones, a veces durante varios años, a veces de naturaleza crítica. Confiaría en alguien con buen conocimiento algorítmico y capacidad de codificación más cada día.

La segunda parte de su pregunta hace un punto interesante. Si alguien no puede resolver un problema en particular, ¿la empeora? ¡Absolutamente no! Creo firmemente que los buenos candidatos siempre ganarán al final. ¿Ser rechazado en Google? Quizás un Amazon es donde perteneces. O una startup que realmente te valora. Sin embargo, es necesario que aprenda algoritmos y estructuras de datos y que codifique, y que se enorgullezca de ser lo mejor que puede ser (suponiendo que le guste CS en primer lugar), y las cosas buenas vendrán a usted, punto. ¡Buena suerte!

Creo que hay varios aspectos de la estructura de datos y algoritmos ‘difíciles’ que ayudan a los entrevistadores a determinar la idoneidad y competencia de un programador:

  1. En un momento desarrollé aplicaciones no demasiado complicadas y juegos 2D. A veces me sorprendía la forma en que usaba árboles, intentos, mapas, colas, pilas y gráficos con mucha frecuencia. Entonces, sí, un trabajo de programación diario implica muchas estructuras de datos y tenerlas en el fondo de su mente siempre es muy útil.
  2. Para mí, sus habilidades para comprender y desarrollar algoritmos reflejan directamente sus habilidades para resolver problemas y su claridad de pensamiento. Lo que para mí es el activo más importante para cualquier programador, mientras escribe cualquier código de pieza.
  3. Conocer tu DS y tus algoritmos refleja que te has esforzado por aprender lo básico y demuestra que estás dedicado. Escribir un buen software no es fácil y requiere inteligencia y niveles superiores de concentración.

Habiendo dicho todo eso, a veces he visto entrevistadores que hacen preguntas que a menudo son demasiado inquietantes, lo cual es una simple estupidez. No tienen idea de cómo evaluar a un candidato para el trabajo.

Estoy de acuerdo, el proceso es injusto. Su motivación es ver qué tan inteligente eres y si puedes encontrar una respuesta al problema idealmente para un problema que nunca has visto antes, y cómo escribes tu código y los casos de prueba.

Sin embargo, en estos días, es común que los reclutadores hagan preguntas comunes de libros como Cracking the Code, por lo que si has leído algo así, te da una ventaja injusta sobre alguien porque conoces la solución.

More Interesting

Cómo pensar en voz alta durante la entrevista técnica

¿Conocer solo C es una desventaja en las entrevistas técnicas?

Llevo un tiempo codificando y he desarrollado varias aplicaciones web. No he usado ningún algoritmo o incluso muchas matemáticas. No he hecho ninguna de las cosas complicadas de las que tanto se habla en informática. ¿Por qué?

¿Cuáles son los conceptos más importantes en C y C ++ que se deben aprender y comprender antes de una entrevista de programación?

¿Los entrevistadores de trabajo de software exageran enormemente la tasa promedio a la que rechazan a los candidatos para aparecer en línea con la imagen de una empresa?

¿Qué puedo esperar en la evaluación en línea SDE de Amazon? ¿Puede alguien que haya realizado la evaluación darme ejemplos de los tipos de preguntas formuladas?

Cómo saber si amo la programación de computadoras o no

¿Cuál es la diferencia entre bibliotecas vinculadas estáticamente y bibliotecas cargadas dinámicamente?

Dada una matriz sin clasificar, ¿cómo podemos asignar cada valor al primer valor que viene después y es más grande (o asignar a -1 si no existe ese número)?

¿Por qué las compañías de software, durante las entrevistas, se preocupan si los candidatos conocen la sintaxis exacta del código?

¿Cuáles son algunos sitios web y libros que se recomiendan para prepararse realmente bien para las entrevistas con ingenieros de software? ¿Es suficiente descifrar la entrevista de codificación? ¿LeetCode tiene buena cobertura? ¿Qué sitios se recomiendan además?

¿Cuál es el pseudocódigo de entrada formal, salida formal y algoritmo para el problema del profesor Gecko (CLRS 16.2-4)?

¿Cuáles son algunas preguntas comunes en una entrevista de cuatro grandes?

¿Cuáles son algunas preguntas básicas sobre el lenguaje de programación C formuladas en la mayoría de las entrevistas?

Si ha sido rechazado de una escuela de codificación de élite y ha vuelto a aplicar y luego ha sido aceptado, ¿cuál es su historia?