La mejor pregunta de entrevista de ingeniería que me han hecho

Visión general de la tarea de entrevista “Mult” de memcached

  • Muchos la ven como un ejercicio de ingeniería sólido y realista: modificar una base de código C real, añadir una función similar a una existente y demostrar que puedes leer y extender código de estilo de producción.
  • Otros piensan que es técnicamente poco impresionante (“milquetoast”) y, en gran medida, un copia y pega de incr con +*, que ofrece poca “perspicacia”.

Qué prueba realmente la pregunta

  • Quienes la defienden dicen que prueba:
    • Navegar rápidamente una base de código desconocida.
    • Reutilizar patrones existentes en lugar de sobrediseñar.
    • Escribir código que compile, funcione y encaje con el estilo circundante.
  • Los críticos sostienen que también prueba implícitamente:
    • Habilidades de configuración del entorno (toolchain de C, sistema de compilación).
    • Capacidad de ignorar preocupaciones legítimas (bloqueos, desbordamiento, rendimiento) en favor de la rapidez.
  • Algunos destacan que muchos candidatos ni siquiera pueden entregar el “mínimo indispensable”, así que es un buen filtro.

Sobrediseño frente a pragmatismo (“Tipo 1 vs Tipo 2”)

  • Un bando ve “Tipo 1” (analizar en profundidad bloqueos, condiciones de carrera, diseño) como buena ingeniería y “copia y pega y ajusta” como mala práctica, especialmente en un sistema de alto rendimiento como memcached.
  • El bando opuesto ve “Tipo 1” como parálisis por análisis y “Tipo 2” (clonar incr/decr, cambiar operadores, añadir pruebas) como el comportamiento práctico de un ingeniero senior.
  • Surgen disputas sobre cuestiones como el desbordamiento y la no conmutatividad; algunos insisten en que hay que abordarlas, otros responden que add/sub/append/set/delete ya tienen advertencias similares y que el alcance de la tarea es intencionadamente estrecho.

Tiempo, presión y compensación

  • La cifra de “tres horas” se debate mucho:
    • Algunos dicen que es una tarea de 30–60 minutos y que tres horas es generoso.
    • Otros no aceptarán ningún ejercicio no remunerado de 3 horas o más, especialmente cuando aplican a varias empresas.
  • Hay peticiones de pagar a los candidatos por este tipo de evaluación de trabajo profundo; otros responden que, mientras suficientes personas lo acepten, las empresas no cambiarán.

Comparaciones con otros estilos de entrevista y profesiones

  • Muy preferida frente a LeetCode/acertijos por quienes gustan de muestras de trabajo realistas.
  • Los críticos señalan que aun así amplifica la presión de la entrevista y puede filtrar a buenos ingenieros que no rinden bien en tareas individuales cronometradas.
  • Algunos lo comparan con otras profesiones: muchas usan títulos, licencias o demostraciones prácticas en lugar de pruebas de codificación improvisadas; el software carece de certificación estandarizada, así que las empresas recurren a ejercicios como este.