Al escribir estas líneas, las preguntas sobre algoritmos son muy estándar en las entrevistas para desarrolladores. Si no desea responder esas preguntas, probablemente pueda encontrar un trabajo en algún lugar, pero sus opciones serán limitadas.
Es imposible dar una respuesta objetiva u objetiva sobre si este debería ser el caso, pero puedo decirle algunas cosas que son ciertas:
- Las preguntas sobre algoritmos son una de las únicas herramientas que tiene para evaluar candidatos de nivel de entrada. Estas personas realmente no tienen ninguna experiencia para diferenciarse, por lo que los cursos son prácticamente la única forma de compararlos.
- Las empresas como Google y Facebook necesitan personas que sepan cómo realizar cálculos eficientes en big data, por lo que las preguntas sobre algoritmos probablemente tengan sentido para ellos.
- Las empresas como Google y Facebook también pueden ver a casi todos los candidatos en el mercado, por lo que pueden permitirse el lujo de pasar por alto a cualquier buen candidato sin lastimarse demasiado.
- A medida que los desarrolladores se vuelven más experimentados, el valor que aportan a un puesto se aleja de las habilidades de codificación pura y se traslada a sus otras experiencias. Alguien con diez años de trabajo de desarrollo debe saber cómo administrar un proyecto, cómo dirigir un pequeño equipo de desarrolladores junior, cómo traducir los requisitos del negocio en declaraciones precisas, cómo elegir entre marcos, cómo negociar el alcance de un proyecto y Otras cosas que son difíciles de poner en la pizarra.
- La gran mayoría de los trabajos de desarrollo no requieren un alto grado de habilidad técnica. Una cantidad significativa del código que se escribe es colocar una GUI encima de una base de datos que es utilizada por un número bastante pequeño de personas.
- Si no usas una habilidad con bastante regularidad, la olvidarás bastante rápido. Las personas que programan durante diez años sin seleccionar o implementar algoritmos estarán un poco oxidadas.
En general, esto me sugiere que la forma en que hacemos entrevistas para desarrolladores experimentados no es la correcta. Sospecho que nadie realmente piensa mucho en su proceso de entrevista y que simplemente copian lo que Google y Facebook están haciendo sin pensar en cómo sus propias situaciones son diferentes. Sin embargo, en cualquier mundo posible, dos años no es tanta experiencia, así que no estoy seguro de si el cuerpo de trabajo de tal desarrollador debería ser suficiente.
- Cómo realizar un recorrido de orden posterior en un árbol binario
- Cómo agregar dos elementos de matriz usando punteros
- ¿Cuál es la forma más rápida de invertir una cadena con más de 10000 caracteres?
- ¿Cómo se debe verificar si él / ella ha entendido el algoritmo de Paxos?
- ¿Por qué utilizan la factorización principal para el cifrado en lugar de un algoritmo que hemos demostrado que es difícil de resolver?