¿Puedo escribir código en mi computadora portátil en lugar de una pizarra durante una entrevista de trabajo? ¿Qué tal proyectado en una pantalla para que todos en la sala puedan verlo? ¿Por qué perder el tiempo en una habilidad irrelevante como codificar en pizarras blancas?

No, prefiero ver (1) cómo piensan los candidatos de pie, y (2) qué tan buenos se comunican. Para ambos, una pizarra es una herramienta mucho mejor que una computadora portátil con un editor y un compilador.

[He estado involucrado en la selección y evaluación de candidatos durante más de 10 años, en empleadores de alto perfil. Las opiniones expresadas aquí son mías y no necesariamente reflejan la política de mis empleadores actuales o pasados.]

Las preguntas de programación cuyo énfasis está predominantemente en la sintaxis del lenguaje o sus bibliotecas son con frecuencia tontas. Nadie es una enciclopedia ambulante de un lenguaje o marco o API o sistema operativo dado, e incluso si un candidato lo fuera, se correlacionaría poco con sus habilidades para resolver problemas.

Por supuesto, para los candidatos que afirman conocer bien C ++, es necesario incluir un cierto número de preguntas asociadas con el lenguaje en la entrevista, pero es muy difícil elegir preguntas que determinen si los candidatos tienen tanta experiencia como afirman, sin aventurarse en detalles bizantinos que nadie debe recordar de memoria.

Las preguntas más importantes que hago son problemas sobre algoritmos y arquitecturas de computadora, y los candidatos pueden responder oralmente, o con diagramas, o en código fuente en un idioma existente de su elección o en pseudocódigo. El desempeño de los candidatos está completamente determinado por las ideas que expresan y cuán rigurosamente se expresan, no por la forma de expresión que eligen.

En una entrevista realizada de la manera que usted propone (es decir, escribiendo código real en una computadora portátil), el candidato inevitablemente pasará un tiempo valioso de entrevista en detalles poco interesantes como escribir código repetitivo (buscar qué archivos de inclusión son necesarios, qué módulos importar, qué bibliotecas para vincular, etc. …) que no me ayudan a juzgar sus habilidades para resolver problemas. Al ver que buscas en cppreference.com qué incluyen los archivos que te perdiste y qué función de miembro olvidaste, no me dices nada específico sobre tus habilidades: todo el mundo usa cppreference.com todo el tiempo. Es mucho mejor usar mi tiempo y el tuyo para que pienses en voz alta sobre los problemas. Si lo desea / puede, puede enviar muestras de su código para su revisión. Si ha contribuido a proyectos de código abierto, es muy probable que ya haya revisado su código antes de la entrevista.

En todos los entornos de alto perfil, el énfasis está más en los algoritmos que en los idiomas. Las personas inteligentes pueden aprender un nuevo idioma rápidamente. Los candidatos menos versátiles intelectualmente que se han vuelto competentes en un idioma específico pero no pueden hacer la transición fácilmente a diferentes entornos obtendrían una buena puntuación en el tipo de entrevista que sugiera, pero son una contratación menos deseable.

En los lugares que entrevisté, incluido Google, generalmente le permitirán escribir su código en una computadora portátil (normalmente la que proporciona) si así lo desea. Deberá tener la previsión de llevar su computadora portátil y poder usarla sin conexión.

Escribir el código correcto es solo una parte de lo que se está evaluando. El entrevistador también está buscando ver si piensa en el problema antes de comenzar, qué considera cuando elabora algoritmos y su metodología general de resolución de problemas, independientemente de su entorno de desarrollo.

Como mínimo, debe hablar sobre el problema y escribir un pseudocódigo o una descripción del algoritmo en la pizarra, de la misma manera que lo haría al resolver un problema con un colega. Solo después de que esté razonablemente seguro de que todo esto es correcto, estaría bien cambiar a una computadora portátil. Hacer cualquier otra cosa te hará daño en la entrevista.

Finalmente, tenga en cuenta que si está trabajando en su computadora portátil, es más difícil obtener preguntas / sugerencias útiles del entrevistador. Eso significa tiempo perdido si baja por la rama equivocada, y eso puede hacer la diferencia entre que el entrevistador tenga y no tenga suficiente información para recomendarle una ‘contratación’. Muchas salas de entrevistas en muchos lugares no tienen proyectores, y algunos entrevistadores se sentirían incómodos mirando por encima del hombro para dar la misma retroalimentación.

Cada empresa tiene su propia política con respecto a esto, no hay una respuesta universal a esta pregunta. Personalmente no veo ningún problema con la codificación en su computadora portátil, no sería un problema para mí o para mi empresa. Sin embargo, hay algunas razones por las cuales la pizarra es preferible para algunas empresas importantes:

1. Muestra claramente sus habilidades en ausencia de código completo, sugerencias y otras herramientas que a menudo damos por sentado.

2. Es justo para otros candidatos porque todos usan las mismas herramientas. No queremos combinar la evaluación de sus habilidades de codificación con la evaluación de su capacidad para establecer un entorno conveniente.

3. Elimina la posibilidad de trampas a través de varias herramientas que puede instalar en su computadora portátil.

4. También elimina el riesgo de seguridad de tener hardware no confiable que se ejecuta en las instalaciones.

En mi experiencia, no más del 5% de las empresas me pidieron que escribiera código en la computadora portátil, en su mayoría le piden que escriba en la pizarra. Escribir en la pizarra es difícil ya que no puede copiar / pegar, agregar / eliminar / mover líneas. No puedes hacer espacio si olvidas algo. Todos estos desafíos se traducen en cuánto pensó en su solución antes de escribirla. También durante la codificación de la pizarra, puede dibujar su solución / diagramas y tener discusiones, etc. Debido a estas razones, los entrevistadores prefieren la codificación de la pizarra.

Me había codificado en la computadora portátil durante mis entrevistas en Box y Google. En algún momento tienes que traer tu computadora portátil para esto.

Una vez que una entrevista hizo una sesión de revisión de código conmigo durante la entrevista, usó su computadora para eso.

En Google, tenemos pizarras en todo el lugar. Se realiza mucha colaboración y diseño en pizarras blancas. Queremos verte en acción real.

More Interesting

Le dije a mi reclutador que me gustaría usar C ++ en mi entrevista técnica para un puesto de ingeniero de software general. Dado que la compañía también usa Java, ¿está bien cambiar de idioma durante la entrevista, dependiendo de la pregunta, si es más claro / más rápido para la pizarra?

Cómo resolver problemas de codificación sin confundirse

¿Cómo debo prepararme para las entrevistas de Google, Facebook y Microsoft con CLRS considerando que realmente no soy bueno en Data Structures?

¿Qué tipo de preguntas se hacen para una entrevista de National Instruments para el puesto de ingeniero de software del personal?

¿Cómo me preparo para las preguntas de diseño del sistema para entrevistas, como diseñar Twitter, BookMyShow, etc.?

Cómo prepararse para las preguntas de la entrevista HackerRank de Amazon

En entrevistas recientes de codificación de software (desde el año 2014), ¿se les ha permitido a los entrevistados codificar y rastrear usando una computadora / laptop en lugar de una pizarra?

¿Cuáles son los mejores sitios web / libros / recursos para programar preguntas de entrevistas?

¿Cómo puedes encontrar las 20 mejores consultas del día en Google?

¿Qué necesito saber sobre el recolector de basura en Java para una entrevista técnica?

Cómo encontrar la matriz definida positiva más cercana a una matriz dada

Dada una matriz de enteros, para cada índice i, debe reemplazar el valor en i con el primer valor más pequeño que A [i] que viene después del índice i. ¿Cómo lo haces?

Si soy ecológico en TopCoder, ¿puedo pasar entrevistas a las principales empresas tecnológicas? ¿La mayoría de las personas que aprueban las entrevistas tienen la capacidad de salir bien en las competencias de TopCoder? Si me fuera mejor en los concursos de TopCoder, ¿se transferirían las habilidades a las entrevistas?

Cómo prepararse para una entrevista técnica en Myntra para el perfil de desarrollador web

Se le da una matriz ordenada, que aumenta monotónicamente y disminuye de la misma manera. ¿Cómo idear un algoritmo para encontrar el índice de un elemento en esta matriz sin calcular el pivote? El tiempo de ejecución debe ser O (log n). Puede suponer que no hay ningún elemento duplicado en esta matriz.