Pruebas de código como parte de la entrevista [duplicado]

Recientemente apliqué a una empresa en la que estaba muy emocionado de trabajar. Ellos, como muchas otras empresas, me dieron un simple desafío de código para llevar a casa. Me aseguré de que todo mi código estuviera limpio, tuviera comentarios e incluso incluyera la documentación de Java.

Cuando enviaron la prueba por primera vez, noté algunos posibles problemas con el Desafío, que abordé de inmediato con un correo electrónico cortés que decía que había revisado la pregunta y estaba a punto de comenzar, pero tenía algunas preguntas sobre el requisito... principalmente que se referían a un Int donde parecía más apropiado usar un flotante (ya que era una calculadora de cambio de moneda). No respondieron a esas preguntas, así que durante el fin de semana seguí adelante y completé el desafío haciendo suposiciones sobre mis preguntas y documentando esas suposiciones y por qué las hice al enviarlas para revisión.

Tan pronto como recibieron mi envío, respondieron diciendo que mis suposiciones eran correctas y que no estaban seguros de por qué hacían referencia a un int y, de hecho, lo estaban cambiando a un flotante. También dijeron que recibieron mi envío y que se comunicarían conmigo pronto para configurar una revisión de preguntas y respuestas de mi código.

Una semana después, escribí un correo electrónico de verificación. Y ahora, otra semana después, aún no he recibido respuesta.

¿Es común simplemente no devolver la llamada a un candidato si no está satisfecho con el resultado de la prueba? Era tan simple que no sé cómo pude reprobarlo.

En el pasado, siempre recibí un correo electrónico de aprobación o falla de otras compañías.

"Flunking" es un término tan subjetivo. Puede haber varias razones por las que no han devuelto sus correos. ¿No tiene representación en forma de reclutador?
no, su reclutador de tecnología interno se puso en contacto conmigo después de ver mi LinkedIn. Reprobar es subjetivo. Sé cuándo realizo pruebas de código, las reviso y luego le hago al candidato una serie de preguntas sobre por qué hizo esto o aquello. y evalúe su resolución de problemas, conocimiento y disposición para aprender frente a su capacidad para aceptar críticas.
Esto se trata más específicamente de las pruebas de código, las pruebas de código son un paso antes de que continúe la entrevista
Solo como un aparte, vea ¿Por qué no usar Double o Float para representar la moneda? (Sin embargo, aún podría tener sentido para una tasa de conversión).
esa fue mi corrección. De hecho, usé float y BigDecimal para redondear a la mitad hasta la segunda posición decimal más cercana.
pero los números enteros no representarán las posiciones decimales y el no intercambio volverá como un número entero
@erik: Es posible que aún tenga razón, pero solo para asegurarnos, estamos hablando de usar an intpara representar la unidad más pequeña de la moneda en cuestión.
@erik La mayoría de los precios que veo no tienen partes fraccionarias. ;) En los EE. UU., son buenos números redondos. Por ejemplo, una taza de café puede costar 199 centavos. Un auto usado puede costar 650000 centavos. Supongo que podría estar preocupado por algunos productos que se venden en unidades continuas (p. ej., gasolina), y eso haría las cosas un poco más complicadas, pero entonces la idea es usar, p. ej., decentes.
Esto está fuera de tema, y ​​no se trata de productos básicos, es un tipo de cambio de moneda donde el usuario ingresa una cantidad de dólares y obtiene 4 tipos de cambio predefinidos
Además la empresa ya dijo que yo estaba en lo correcto
Bueno, en India, es común (casi siempre) que las empresas no te devuelvan la llamada en caso de que no hayas aprobado la entrevista.
el problema era permitir que un usuario ingresara una cantidad en dólares y recuperara cuántas libras, yenes, etc.
Pasé los últimos 10 años de mi vida como desarrollador de Java trabajando en la industria de servicios financieros, casi todas las aplicaciones en las que he trabajado tratan con moneda en algún momento y siempre he usado BigDecimal para representar valores en centavos para esto debido a la posibilidad de errores de redondeo al usar variables de punto flotante. No sé qué idioma está usando, pero los ints para representar la parte fraccionaria más pequeña de la moneda estarían bien para esto. No te devuelven la llamada porque no pasaste la prueba, esto es normal.

Respuestas (8)

Es realmente difícil de decir. Deberían haberte enviado algún tipo de respuesta. Eso es bastante común, pero supongo que no tienen que hacerlo.

Es posible que no tengan prisa por contratar a alguien. Podrían estar enviando un gran volumen de personas calificadas.

Las personas también pueden reaccionar muy negativamente al ser corregidos, eso no se puede controlar.

Existe la posibilidad de que esté sobrecualificado. Recientemente, un grupo de mis compañeros de clase solicitaron el mismo trabajo de software. Todos hemos tomado las mismas clases juntos y he trabajado con cada uno de ellos a lo largo de los años y, en mi evaluación, el menos calificado entre ellos consiguió el trabajo. Los dos primeros ni siquiera consiguieron una entrevista. A veces, estos trabajos de software son empresas que buscan personas que puedan poner código en la computadora, sin tener que pagar por un 'desarrollador', hago esa afirmación con mucha cautela y deseo no sonar pretencioso.

Puede seguir cortésmente, pero en algún momento puede que tenga que enfrentarse a la música que no entendió y seguir buscando en otra parte.

Sí, espero no haberlos ofendido con las correcciones a la prueba, tuve cuidado de plantearlas como preguntas, no como críticas.
I make that statement very cautiously and wish not to sound pretentiousMe han pasado por alto, como programador con años de experiencia con solo AA, para personas con MBA y sin experiencia. No es pretencioso enfrentarse al mundo real con expectativas reales. Reclutadores que se preocupan más por el papel que por la experiencia, sobre/infracualificados, sobre/infrapagados, etc...
"A veces, estos trabajos de software son empresas que buscan personas que puedan poner código en la computadora, sin tener que pagar por un 'desarrollador'...", también conocido como la Fuerza Aérea de los Estados Unidos.
hola futbol :)

Sigue haciendo seguimiento. Tienes una relación positiva con ellos. Saben que no solo son buenos programadores, sino que eres un caso en el que es difícil encontrar una buena ayuda. Es casi seguro que tienen otras cosas en sus platos. Dales el beneficio de la duda, sigue haciendo un seguimiento pero no te arriesgues: sigue presentando tu currículum y yendo a las entrevistas. No poner todos los huevos en la misma cesta.

Bueno, actualmente ya estoy empleado y bastante feliz donde estoy, pero sentí que era hora de que un desarrollador de Android comenzara a buscar puestos y salarios más emocionantes. He estado en mi trabajo actual durante más de 2 años y, aunque mis evaluaciones siempre son "una patada $$", no obtengo más del 3 % más cada año.
@erik durante 2 años y... No obtengo más del 3 % más cada año Entonces, quiere decir que obtuvo ≤3 % dos veces . (Solo señalar que dos puntos de datos no son demasiado. Está bien estar insatisfecho con eso, pero tampoco es un "patrón de comportamiento a largo plazo" todavía).
@erik, ¿trabaja para una empresa enfocada en TI o una empresa cuyo negocio principal está en otros campos y tiene un departamento de TI para ayudar a habilitar el negocio principal?
Trabajo en publicidad.. como desarrollador móvil. Y entiendo que 2 años no es exactamente a largo plazo, pero he leído que es aconsejable buscar una nueva empresa cada 2 o 3 años.
Aumento del 3% basado en el rendimiento, ¿dos veces seguidas? ¡Lujo! Cuando yo era niño, no teníamos nada más que esperanzas y sueños para Navidad.
@erik, si la empresa es una empresa de publicidad móvil (es decir, ganan dinero a través de la intermediación de anuncios móviles, etc.), entonces espero que tengan una escala salarial competitiva para los desarrolladores. Si la empresa es una empresa de publicidad tradicional que necesita software para ayudar a realizar sus operaciones diarias, entonces tenderán a verlo como un costo y no como un valor, por lo que la paga será menor. Si es hábil en su oficio, intente encontrar una empresa que vea la TI como una forma de ganar dinero.

Me han entrevistado para cientos de trabajos y me han aceptado en docenas, pero nunca me han devuelto la llamada para decirme que no fui elegido.

Parece que no te han respondido por un tiempo. Esto significa que no te van a contratar. Lo más probable es que, por muy bien que lo haya hecho usted en el examen, a otra persona le fue mejor o se adaptó mejor a todos.

La acción apropiada a tomar en este momento es nada . Pasa a la siguiente entrevista.

He recibido muchas respuestas sobre por qué no me eligieron antes... dicho esto, seguro que es una posibilidad, pero las pruebas de código generalmente no se presentan como un elemento decisivo sino para plantear un período de preguntas y respuestas.
@erik, si recibes una respuesta cuando te rechazan, es una carta modelo con una frase estándar como "no creemos que encajes en tu equipo"... Algo más detallado que solo me han dicho en persona durante una entrevista de trabajo o de un reclutador que fue a buscar información después de no escuchar nada durante semanas.

Esto suena como un muy buen comienzo.

Sin embargo, la administración puede estar muy ocupada y, a veces, es necesario encadenar las decisiones entre múltiples niveles de administración.

Hay recursos humanos, a veces un gerente sobre el equipo en el que estaría trabajando, un gerente sobre ese gerente y otros gerentes dentro de la unidad de espacio de trabajo y luego puede haber un gerente sobre ese gerente y así sucesivamente, a veces un permiso de todos, incluido algunos especialistas, son requeridos.

Además, seamos realistas, es verano, es común que las cosas tomen más tiempo de lo normal debido a las vacaciones de verano.

Me ha pasado que he estado teniendo una buena experiencia con un empleador potencial, pero no escuché nada durante semanas hasta que de repente me ofrecieron un trabajo en esa empresa. Ya había aceptado otra oferta de trabajo pero eso no es lo importante, lo importante es que a veces las empresas no se apresuran a ofrecer nada por muchas razones.

Si no tiene noticias de ellos dentro de otra semana, intente llamarlos, el contacto directo suele ser la mejor manera de hacerlo. Simplemente no te rindas.

Quiero decir, le escribí a su Tech Recruiter interno un correo electrónico de seguimiento hace una semana, solo preguntando si había algún estado y si ellos, como empresa, ofrecen comentarios constructivos para las pruebas de código. No hay respuesta pero tienes razón, es verano. quién sabe.
@erik Si le escribiste al reclutador mientras el reclutador estaba de vacaciones, adivina qué sucede :)
@VietnhiPhuvan Supongo que es similar a cuando estábamos en la escuela primaria, pensar que los maestros vivían fuera de la escuela era simplemente absurdo en ese entonces.
@erik Hágalo simple en el reclutador interno: solo pregunte por el estado. Siempre puede solicitar comentarios constructivos sobre su código más tarde.

He reclutado a varios candidatos antes, y creo que es aceptable registrarse una vez a la semana para decir simplemente "todavía estamos interesados" o "la gerencia está revisando su solicitud", pero no enviar nada durante una semana o más no es profesional. .

Las empresas no necesariamente proporcionarán comentarios constructivos, hay algunas buenas razones para esto y algunas razones tontas de recursos humanos para esto.

Yo también soy desarrollador de software. La situación que has descrito es, desde mi experiencia, muy común. Como señaló otra persona, es muy raro que reciba una respuesta informándole que no fue seleccionado para el puesto. Y aunque es posible que le haya ido bien en la prueba, hay varios factores en juego en la decisión de contratación que toma una empresa: habilidad técnica, personalidad, disponibilidad de un colega establecido, etc.

Su mejor defensa es un buen ataque: continúe solicitando más trabajos, continúe asistiendo a otras entrevistas y continúe trabajando en proyectos paralelos que aumentarán su confianza. La ambigüedad con respecto a una solicitud de trabajo es más fácil de manejar cuando tienes varios hierros en el fuego, por así decirlo.

¡Buena suerte!

Me aseguré de que todo mi código estuviera limpio, tuviera comentarios e incluso incluyera la documentación de Java.

Tal vez estaban buscando a alguien que solo codifica y no hace muchas preguntas. Podría publicar su código en Code Review , tal vez hizo cosas como demasiados comentarios o clases adicionales donde una función es suficiente, etc.

Pero suponiendo que haya más de un solicitante, es normal que no te acepten aunque hayas hecho un buen trabajo. Tal vez alguien lo hizo igual de bien y tiró los dados para decidir. Simplemente no dejes que eso te decepcione.

Cuando me dieron la prueba del código, me explicaron que el punto era que yo lo completara y luego establecerían una llamada telefónica donde me preguntarían sobre el código que escribí y mi proceso.
esto no responde a la pregunta formulada: "¿Es común simplemente no devolver la llamada a un candidato si no está satisfecho con el resultado de la prueba?"

así que durante el fin de semana seguí adelante y completé el desafío haciendo suposiciones sobre mis preguntas y documentando esas suposiciones y por qué las hice al enviarlas para revisión.

Y ahí está el problema. No escribiste según las especificaciones enumeradas. Hiciste suposiciones sobre cosas sobre las que no tenías suficiente información para hacer suposiciones.
Y si decidió usar números de punto flotante para almacenar datos monetarios, cometió un error fundamental.

Así que descartaron su presentación debido a eso, sin duda.

esto no responde a la pregunta formulada: "¿Es común simplemente no devolver la llamada a un candidato si no está satisfecho con el resultado de la prueba?"
también es inexacto y una suposición. Les escribí tan pronto como recibí la prueba, que había acordado completar antes del lunes. nunca respondieron a mi pregunta, hasta que envié la respuesta y me dijeron que estaba en lo correcto y que corregirían la prueba para reflejar eso en el futuro.