Para entrevistas técnicas en empresas tecnológicas de primer nivel, ¿cuánto tiempo tienen los candidatos para cada pregunta de programación?

Hmm Mira, simplemente … realmente no funciona así.

Suponga que quiere conocer a alguien nuevo y quiere probar qué tan buenos son en los rompecabezas dándoles un rompecabezas para resolver. ¿Cuánto tiempo les darías para completarlo?

No realmente. Dame un número. ¿Cuánto tiempo les darías para completar el rompecabezas? No, no te voy a mostrar el rompecabezas. Pero espero que me diga cuánto tiempo le daría a su nuevo amigo para completar este rompecabezas ambiguo y no especificado.

Con suerte, no estás pensando en un número real en este momento, y en realidad estás pensando en uno o ambos de estos pensamientos:

  1. ¿Cuál es el rompecabezas? No puedo decirte cuánto tiempo le tomará a alguien resolverlo si no tengo idea si es un rompecabezas de 25 piezas o uno de 500 piezas. Un gran rendimiento para un rompecabezas de 500 piezas probablemente tomaría mucho más tiempo que un rendimiento terrible en un rompecabezas de 25 piezas.
  2. ¿Qué significa “cuánto tiempo” significa? Quiero decir, la inteligencia, o habilidad en cualquier área, no es algo binario. Cuanto más rápido resuelva el rompecabezas, mejor será en los rompecabezas. Suponga, por ejemplo, que impuso un límite de 1 hora, es decir, debe resolver este rompecabezas dentro de 1 hora. Qué significa eso? ¿No es alguien que lo resuelve en 10 minutos mejor que alguien que lo resuelve 40 minutos, aunque ambos están mucho antes del límite de tiempo? ¿Y no es alguien que lo resuelve en 2 horas mejor que alguien que toma 10, a pesar de que ambos están bien después del límite de tiempo? No tiene sentido tener un límite de tiempo cuando no solo estás juzgando sobre una base binaria buena / mala.

Así es exactamente como funciona para preguntas técnicas. No hay un límite de tiempo (aparte de los límites simples de una entrevista de solo 45 minutos – 1 hora), y ciertamente no hay un límite de tiempo que sea general en las diferentes preguntas de dificultad. Cuanto más rápido, mejor, en general. Pero qué tan bueno se considera resolver una pregunta en X minutos realmente depende de la pregunta.

Eso dijo:

  • Es normal hacer 1 a 2 preguntas de codificación / algoritmo por entrevista. (Por favor, no interprete que esto significa que si resuelve 4 preguntas, eso significa que lo hizo bien. Puede que hayan sido preguntas fáciles).
  • Por lo general, se le pide que comience a hablar (no con una solución completa, solo mostrando cómo está pensando) de manera bastante inmediata, pero está bien pedir un minuto para pensar si es necesario .
  • Está totalmente bien y es normal, e incluso bueno, presentar una solución de fuerza bruta.

Realmente depende de la pregunta. Si se trata de una pregunta de diseño de sistema o codificación de pizarra, podría tomar toda la entrevista: discutir la idea, codificarla, probarla, con respecto a posibles modificaciones, etc. Si es una pregunta de tipo “responda de inmediato y siga adelante”, No debería tomarle más de varios minutos para manejarlo. Además, si claramente tiene problemas para resolver el problema, es probable que el entrevistador no se quede allí sentado mirándolo sudar en silencio, sino que lo ayude con preguntas más pequeñas o le dé una sintaxis que le falta.

En cualquier caso, ¡no hagas esperar al revisor! Un minuto de silencio puede estar bien, pero se supone que debes mostrarle al entrevistador lo que estás pensando. No tiene que recitar la solución final en un minuto, pero al menos explique lo que está haciendo. Bueno, a menos que el entrevistador solicite específicamente una codificación silenciosa 🙂

En la mayoría de los casos, se espera que resuelva 1-2 preguntas de codificación en una sesión de 45 minutos. Por lo general, al menos una de las preguntas requiere que escriba un código sólido (¡correcto, sin pseudocódigo!).

También vale la pena señalar que para una sesión de 45 minutos, tendrá unos minutos para la presentación al principio y unos minutos para las preguntas al final. Como resultado, ¡solo obtienes ~ 35 minutos para las preguntas de codificación!

Esta publicación ¡Advertencia! ¿Eres un programador lento en entrevistas? tiene una discusión detallada sobre este tema.

Según su descripción, creo que hay un malentendido muy común aquí. En una entrevista cara a cara, no es como después de que el entrevistador le dice la pregunta, tiene 10 minutos de silencio para pensarlo y luego responder la pregunta. En cambio, todo el proceso se trata de comunicación. Será mejor que pienses en voz alta incluso si aún no tienes una idea concreta.

En términos de tiempo, hay dos cosas a las que debe prestar atención. En primer lugar, debe proponer enfoques rápidamente. Está bien, la solución no es óptima, ya que puede seguir optimizándola. Esto requiere mucha práctica con las preguntas de codificación. En segundo lugar, he visto a muchas personas que encontraron la solución correcta rápidamente pero no pudieron completar el código. Al practicar, es mejor anotar su solución en código sólido, que es muy diferente de “resolver en su mente”.

En Microsoft, cada entrevistador tenía una hora con usted y variaría mucho en cuanto al tiempo que le darían para responder una pregunta dependiendo de la dificultad. Debería intentar pensar en voz alta mientras resuelve el problema, es probable que el entrevistador esté tratando de descubrir su enfoque para resolver el problema. Es bueno hacer preguntas sobre los supuestos de los problemas y obtener aclaraciones. La rapidez con la que resuelva el problema definitivamente funciona a su favor para impresionar a las personas, pero para muchos ser minucioso puede ser igual de impresionante. No te quedes atrapado en un problema durante toda la entrevista a menos que el entrevistador te lleve a problemas más profundos. Es mejor pedir pistas si realmente te quedas atascado. He hecho que la gente tome toda la entrevista sobre un problema que otros resolvieron en 15 minutos. También para las posiciones de nivel de entrada es mejor mostrar código real en la pizarra frente a pseudocódigo.

De acuerdo con mi experiencia.

En una entrevista de codificación de una hora , se espera que el candidato resuelva dos preguntas de codificación o una pregunta de varias partes. La entrevista se divide por 25-30 minutos para cada pregunta. La primera pregunta / parte puede ser fácil, solo por 10-15 minutos.

En una entrevista de codificación de 45 minutos , podría haber una sola pregunta durante 30 minutos, o una simple (calentamiento durante 10 minutos) y una normal durante 25-30 minutos.

Si la entrevista está centrada en el algoritmo , espere una larga discusión sobre diferentes enfoques para resolver un problema (probablemente con muchos supuestos y subproblemas), pero es muy probable que se le pida que escriba código para una de las soluciones.

En las principales empresas, se espera que el candidato esté bien preparado, por lo que para preguntas fáciles, debe mostrar un progreso rápido y un ” código libre de errores “.

Para problemas más complicados, puede estar atrapado en algún lugar, pero se espera que se comunique verbalmente sobre su proceso de pensamiento para mostrar tantas ideas como sea posible. La clave del éxito aquí es nuevamente estar bien preparado y estar familiarizado con problemas similares. Solo en este caso, tendrá una buena oportunidad de salir de esta situación y completar la tarea.

Los entrevistadores pueden dar algunas pistas, pero se verá bien solo si proporcionó muchas ideas y algunas de ellas estuvieron muy cerca de lo que esperaba el entrevistador.

Me gustaría enfatizar que en las grandes compañías esperan que el candidato se prepare para las entrevistas , así que tómese su tiempo y practique si tiene dudas sobre sus habilidades para la entrevista.

Realmente depende de la empresa. Obtenga toda la información que pueda sobre su proceso de entrevista, ya sea de la agencia de reclutamiento por la que está pasando o en línea.

Las cosas que he visto en el pasado son:

(1) Pruebas escritas con muchas preguntas cortas, que cubren una amplia gama del idioma para el que está entrevistando. EG: 30 preguntas en 30 minutos. Las preguntas serían como “¿qué es el polimorfismo”.

(2) Problemas lógicos para los que realmente no puede prepararse. Aquí hay un ejemplo que me preguntaron recientemente. Hay dos trenes en una vía de tren. No se mueven. Escriba un solo programa en pseudocódigo para que ambos trenes funcionen de manera tal que choquen. Puedes usar los comandos move-left, move-right, wait. La pista es infinitamente larga y recta.

Realmente no puedes prepararte para estas preguntas. Creo que en la práctica obtendrá entre 10 y 20 minutos para encontrar la respuesta, con pistas proporcionadas si las necesita. Necesitaba algunas pistas para obtener la respuesta porque intenté que los trenes viajaran uno hacia el otro. La solución es simplemente hacer que ambos trenes se muevan hacia la derecha, con el de la izquierda yendo dos veces más rápido que el otro.

Lo principal que debe hacer aquí es relajarse y pensar lógicamente la pregunta.

(3) El tercer tipo común es cuando le piden que escriba un programa (en papel) para implementar algo como una lista vinculada. He descubierto que generalmente tienes unos 15/20 minutos para hacer algo así.

Luego analizarán su solución con usted después y le harán varias preguntas sobre por qué hizo esto o aquello, o cómo lo haría multiproceso, etc.

(4) El cuarto tipo son las preguntas de evaluación previa al empleo en sitios como IKM u otros. Estos varían, pero generalmente son preguntas de opción múltiple que tiene 1 o 2 minutos cada una para responder.


Si puedo, una cosa que he encontrado realmente útil para las entrevistas es asegurarme de que has memorizado muy bien toda la sintaxis del lenguaje básico. Es para que cada uno quede atrapado por algo que creía que era oscuro: la última vez que me ocurrió fue en una prueba de detección previa a la entrevista para Barcap, tuvieron una prueba de banco de ideas personalizada que se centró casi exclusivamente en métodos de tipo stl bind1st, bind2nd type. Nunca los había usado en la práctica, y tuve que buscarlos en el acto. No hay segunda entrevista.

Divulgación: construí un sitio web para ayudar con este proceso de memorización. Continuamente le hace preguntas cortas y rastrea lo que ha recordado y lo que no ha recordado. Actualmente solo es para comandos de consola C ++ y UNIX, pero eventualmente se extenderá a otros lenguajes. Aquí hay un enlace: CuDeeB: usted, pero más nítido … Es solo para memorizar, por lo que es mejor usarlo junto con algo como hack-a-rank que le brinda tareas de programación reales. Puede usarlo gratis sin dar detalles de la tarjeta de crédito, etc.

Si tiene poco tiempo y solo desea un repaso, CuDeeB es probablemente la mejor opción. Las preguntas se escribieron durante muchos años en base a preguntas que realmente me atraparon en entrevistas anteriores, principalmente en finanzas.

Espero que esto ayude,

(Chris Brockwell [¡usando una computadora de amigos!])

Cuando se le hace una pregunta de programación durante una entrevista, antes de responder, primero debe hacerse otra pregunta: ¿por qué me hacen esta pregunta ?

En general, un entrevistador está tratando de tener una mejor idea de cómo piensa. Esto es mucho más importante que tu respuesta real. Obviamente, es genial si puede responder rápidamente y con una respuesta creativa, pero generalmente las respuestas son proporcionadas por veteranos. Y, por lo general, a los veteranos no les molestan esas preguntas durante las entrevistas.

Entonces, ¿qué significa eso para el resto de nosotros? Significa que primero debe considerar responsablemente lo que se le pregunta y luego pensar en su respuesta en voz alta. La mayoría de los entrevistadores no esperarán que lo haga bien en su primer intento, así que no pierda su ingenio si comete un error, solo dígalo y continúe.

En cuanto al tiempo, varía en el espacio de la entrevista. En algunos casos, todo el espacio puede ser ocupado por una pregunta. En otros, se plantean desafíos más fáciles. En última instancia, la restricción de tiempo probablemente estará determinada por la cantidad de tiempo asignado para el espacio de la entrevista. No dejes que el tiempo te presione, pero si no puedes evitarlo, solo pregúntale al entrevistador cuánto tiempo tienes.

Creo que la respuesta es que realmente depende de la empresa, Google hace entrevistas de 5 x 45 minutos en las que resuelve un problema en la pizarra, donde he tenido entrevistas técnicas en las que me han asignado una tarea, un IDE e Internet conexión y me dijeron que tenía 3-5 horas para completarlo, y luego tuve que presentar el código y justificar las decisiones que tomé.

Para ser honesto, estoy más a favor del segundo formato, aunque aparentemente la razón por la que Google hace lo que hacen es que hay muy poco que puedan pedirle que haga que sea relevante para lo que hacen, por lo que intentan evaluar cómo piensa en tus pies.

Para responder a su pregunta primero, supongo que está solicitando la mayoría de los casos generales como las entrevistas de Facebook y Amazon.

En una entrevista técnica de 45 minutos, generalmente se le harán 1 o 2 preguntas. No hay un límite de tiempo claro para cada pregunta de codificación y describiría la entrevista más como un proceso de discusión. Entonces, en estos 45 minutos, encontrará una solución y discutirá con el entrevistador. Lo más probable es que también deba escribir código sólido en una pizarra.

Pero no está hecho. Por lo general, su solución no es óptima, lo que significa que es demasiado lenta o requiere demasiada memoria. Entonces es hora de que optimice su solución paso a paso. Habrá mucha discusión y también necesitará analizar la complejidad (tiempo / espacio) de cada solución.

Volviendo a su pregunta, yo diría que siempre es bueno tener alguna idea o incluso una solución (puede ser lenta y simple) en los primeros 5-10 minutos, lo que le dará mucho tiempo para la discusión y la optimización posteriores. Y si le harán 2 preguntas, se espera que un buen candidato resuelva cada una en 15-20 minutos. Cuando digo resolver el problema, significa que el candidato encuentra una buena solución (mejor que la más simple, pero tal vez no sea óptima) y termina de escribir código sólido.

Puede preguntar cómo sé si la entrevista se prepara para hacerme una o dos preguntas . Visite Google y hay toneladas de recursos en línea como http://www.glassdoor.com donde puede acceder a innumerables preguntas de entrevistas reales de diferentes compañías. De esta forma, obtendrá una idea general de la dificultad y el estilo de cada empresa y tendrá una mejor estimación de si la primera pregunta es un calentamiento o una gran pregunta.

Además, si tiene la oportunidad de tener una entrevista simulada con un entrevistador experimentado, tendrá una mejor idea de si es demasiado lento. Puedes hacer esto con tus amigos y volver a entrevistarlos. También obtuve mi entrevista simulada de http://www.gainlo.co cuyos entrevistadores están trabajando en Google, Facebook, etc. y me dieron toneladas de comentarios.

More Interesting

Cómo prepararse para una entrevista en Google para un ingeniero técnico

Al codificar entrevistas, ¿la mayoría de los lugares buscan la corrección del código o más del proceso?

¿Cuáles son las mejores fuentes para practicar problemas de programación dinámica?

Una cadena contiene solo 0 y 1 (cualquier número de 0 y 1). Dado n (longitud de la cadena, no la cadena en sí), ¿cuántas permutaciones de cadena son posibles donde cada subsecuencia contagiosa de longitud principal de la cadena tiene un número mayor o igual de 0 que número de 1?

Cómo dividir una matriz que consta de N enteros positivos (incluido cero) en K subconjuntos de modo que la suma de elementos de cada subconjunto sea la misma

Teoría de grafos: ¿Cuál es el algoritmo más eficiente para encontrar el centro de un árbol?

¿Qué tipo de preguntas se hacen en la entrevista IOCL de los ingenieros químicos?

Al responder una pregunta en una entrevista de programación, ¿es mejor comenzar siempre con enfoques básicos antes de discutir los más complejos?

¿Cómo se le ocurre a la gente un algoritmo eficiente con baja complejidad de tiempo y espacio durante una entrevista?

Cómo juzgar a un programador Java con solo 5 preguntas

¿Qué bootcamp de codificación requiere codificación o entrevistas técnicas para sus aplicaciones?

Me gusta construir cosas y prepararme para entrevistas técnicas es aburrido, ¿qué debo hacer?

Cómo prepararme para una entrevista de programación cuando tengo 7-8 meses

Para las entrevistas en el campus, ¿por qué las empresas realizan entrevistas de codificación en línea en HackerRank o CodeChef?

Se le da una lista de N intervalos. ¿Encuentra la longitud del subconjunto más grande de intervalos de modo que no haya tres intervalos en el subconjunto que compartan un punto común?