¿A qué se debe prestar atención cuando se escribe un código en una entrevista? [cerrado]

7

He leído que en muchas empresas tienes que escribir código en una entrevista. Por un lado veo que tiene sentido pedir una muestra de trabajo. Por otro lado: ¿Qué tipo de código espera que se escriba en 5 minutos? ¿Y si me dicen "Escribe un algoritmo que haga esto y lo otro" pero no puedo pensar en una solución inteligente o incluso escribir código que no funcione semánticamente?

Estoy particularmente interesado en esa pregunta porque no tengo mucha experiencia en programación comercial, 2 años a tiempo parcial, un año a tiempo completo. (Pero me interesan los lenguajes de programación desde hace casi 15 años, aunque en general estaba más concentrado en jugar con el lenguaje que en escribir aplicaciones grandes ...) Y en realidad considero que mis habilidades de depuración y resolución de problemas son mucho mejores que mis habilidades de codificación. A veces me veo no escribiendo el código más hermoso cuando miro hacia atrás, pero, por otro lado, a menudo se me ocurren soluciones para problemas difíciles. Y creo que soy muy bueno optimizando, arreglando, reestructurando el código existente, pero tengo problemas para escribir nuevas aplicaciones desde cero. El diseño del software apesta ... ;-)

Por lo tanto, no me siento cómodo al pensar en esta situación de escritura de código en una entrevista ...

Entonces, ¿qué esperan los entrevistadores? ¿Qué tipo de información sobre la escritura de mi código les interesa?

    
pregunta Philip 16.01.2011 - 20:58

7 respuestas

3

Cuando les pido a los candidatos que escriban un código durante una entrevista, me interesan dos cosas:

  1. Cómo escriben el código. (¿Cómo está estructurado? ¿Es legible? ¿Tiene sentido?)
  2. Cómo resuelven el problema dado.

Para la primera, me interesa saber qué tan fácil de mantener es su código. Si estoy trabajando junto a ellos, ¿me va a molestar que no creen nombres de variables significativos?

Para el segundo, me interesa lo simple o lo compleja que es hacer la solución. Más simple siempre es mejor en mi mente. El código más simple es el código que no tienes que escribir. A veces les doy un problema que se resuelve fácilmente con una solución lista para usar; otras veces les doy un problema que tiene múltiples formas de resolverlo, pero solo una simple. Cuanto más complejos sean la solución, o cuantas menos preguntas hagan, menos probable será que los contrate.

Para escribir el código, los candidatos tienen una cantidad de tiempo variable para terminar los problemas.

Para algo como Fizzbuzz, consiguen cinco minutos. Para implementar una solución a una especificación que ofrezco, depende de cuánto tiempo lleve. Normalmente me tomo el tiempo que me toma hacerlo y lo multiplico por 1.5 para determinar cuánto tiempo darles.

    
respondido por el George Stocker 16.01.2011 - 21:05
3

Para la prueba de codificación que usamos en mi empleador, permitimos hasta 1 hora para que la persona complete la tarea. Estamos buscando una comprensión de cómo dividir el problema en elementos básicos. ¿Se puede digerir los requisitos. ¿Puedes demostrar la capacidad de diseñar una solución? ¿Puedes mostrar tu trabajo en el idioma seleccionado? No limitamos a la persona a un idioma en particular. La solución se revisa en privado y luego con el candidato. La revisión le dará al candidato la oportunidad de explicar la solución propuesta.

Una solución de trabajo es buena pero no es necesaria para obtener una oferta.

El objetivo aquí es obtener información sobre cómo el candidato resuelve un problema. La revisión posterior a la prueba es para tener en cuenta la inquietud que tienen algunos de los exámenes. Específicamente, si el candidato cometió un error en su solución, ¿puede explicar por qué está mal?

    
respondido por el Jeff 16.01.2011 - 21:26
2

No trates de ser demasiado inteligente. Mantenlo simple y comprensible.

El revisor del código debe poder ver tu respuesta y ver cómo intentas resolver el problema.

    
respondido por el Fortyrunner 16.01.2011 - 23:40
1

Podría ser una simple recursión, unir, etc. Hay muchos ejemplos de de 20-lines-max por ahí. Si empiezas recuerda:

  • Pregunte si al entrevistador le importa la sintaxis; a uno le importa el otro, no. Tal vez estén bien con el pseudocódigo.
  • Di un poco, ¿qué estás haciendo y por qué? paso a paso

Everbody tiene su propio estilo.

Buena suerte :)

    
respondido por el Lukasz Madon 16.01.2011 - 21:20
1

Por lo general, van a preguntar por un problema que usted puede optimizar, así que no salte inmediatamente a la versión perfecta. Primero haga una solución de fuerza bruta (por lo general, son más fáciles de codificar).

Una vez que haya logrado hacerlo correctamente, le preguntarán sobre la complejidad de su solución. Y cómo se puede optimizar (para mejorar la complejidad (las simples optimizaciones de mirillas no los impresionarán mucho)).

Ejemplos simples:

  • Listas de inversión / cadenas
  • algoritmos de clasificación
  • Cualquier cosa que tenga que ver con la recursión
  • algoritmos de primer árbol de profundidad
  • Si son desagradables, el primer recorrido de un árbol es ancho.

En general, las preguntas se formularán en términos del espacio de dominio de las empresas.

    
respondido por el Martin York 16.01.2011 - 21:49
1

Hace un par de años tuve una entrevista de trabajo, donde se esperaba que escribiera algún código.

Eso hubiera sido bueno y bueno, excepto:

  • Los entrevistadores llegaron más de una hora tarde.
  • No habían preparado ninguna cuenta en un host para realizar pruebas.
  • No habían descubierto qué máquina utilizar.
  • No habían descubierto cuál sería el código.
  • La computadora que finalmente decidieron usar para mí estaba tan sucia que no quería tocar el teclado. Eso. Estaba. FILTHY.

No hace falta decir que era una broma, y no conseguí el trabajo porque no me tenían en un campo de juego nivelado. Los entrevistados posteriores ya tenían el escenario resuelto en mí. Y, sabía que no quería trabajar allí si estuvieran tan mal.

    
respondido por el the Tin Man 17.01.2011 - 00:03
-1

La velocidad típica es de 60 líneas de código / h probado (es un código que realmente está haciendo algo, no líneas vacías y corchetes) ...

La entrevista obviamente tomará más de 5 minutos si quieren que escribas código desde cero. Probablemente solo pedirán muestras antes y hablará de conceptos más generales (por ejemplo, algoritmos).

    
respondido por el Slawek 16.01.2011 - 21:26

Lea otras preguntas en las etiquetas

Comentarios Recientes

¡Conócete a ti mismo también! "Si está creando un producto para el cuidado de la salud o una estrategia de energía verde, una cierta cantidad de riesgo es razonable para el ADN de su desarrollador y los entornos en los que se encuentran adaptar." - Omni Prototypes, lanzado a fines de 2009. ¡Algo para reflexionar al elaborar sus currículums vitae, piense mucho antes de que su correo electrónico sea revisado, porque los errores y los problemas están destinados a suceder! No completó su trabajo, no cumplió con... Lee mas