¿Cuánta diferencia hay entre las entrevistas de estudiantes de primer año y las personas con 2-3 años de experiencia en Google ya que se centran más en la resolución de problemas?

Para un más fresco:

  • ¿Por qué son redondas las tapas de alcantarilla?
  • ¿Cuál es la diferencia entre un mutex y un semáforo? ¿Cuál usaría para proteger el acceso a una operación de incremento?
  • Un hombre empujó su automóvil a un hotel y perdió su fortuna. ¿Que pasó?
  • Escriba un programa en C que mida la velocidad de un cambio de contexto en un sistema UNIX / Linux.
  • Dada una función que produce un número entero aleatorio en el rango de 1 a 5, escriba una función que produzca un número entero aleatorio en el rango de 1 a 7.
  • Describa el algoritmo para un recorrido de gráfico de profundidad primero.
  • Diseña una biblioteca de clase para escribir juegos de cartas.
  • Debe verificar que su amigo, Bob, tenga su número de teléfono correcto, pero no puede preguntarle directamente. Debe escribir una pregunta en una tarjeta y dársela a Eve, quien se la llevará a Bob y le devolverá la respuesta. ¿Qué debe escribir en la tarjeta, además de la pregunta, para asegurarse de que Bob pueda codificar el mensaje para que Eve no pueda leer su número de teléfono?
  • ¿Cómo se pasan las cookies en el protocolo HTTP?
  • Diseñe las tablas de la base de datos SQL para una base de datos de alquiler de vehículos.
  • Escriba una expresión regular que coincida con una dirección de correo electrónico.
  • Escriba una función f (a, b) que tome argumentos de cadena de dos caracteres y devuelva una cadena que contenga solo los caracteres encontrados en ambas cadenas en el orden de a. Escriba una versión que sea de orden N al cuadrado y una que sea de orden N.
  • Se le proporciona el origen de una aplicación que se bloquea cuando se ejecuta. Después de ejecutarlo 10 veces en un depurador, encontrará que nunca se bloquea en el mismo lugar. La aplicación es de un solo subproceso y utiliza solo la biblioteca estándar de C. ¿Qué errores de programación podrían estar causando este bloqueo? ¿Cómo probarías cada uno?
  • Explicar cómo funciona el control de congestión en el protocolo TCP.
  • En Java, ¿cuál es la diferencia entre final, finally y finalize?

Para una persona con experiencia, las preguntas son casi las mismas, excluyendo la experiencia laboral previa, el tiempo esperado para resolver es menor.

En un país en el que la gente solo quiere niños … … todas las familias continúan teniendo hijos hasta que tienen un hijo. Si tienen una niña, tienen otro hijo. Si tienen un niño, se detienen. ¿Cuál es la proporción de niños a niñas en el país?

Trabajo: Gerente de Producto

Eres el capitán de un barco pirata …

… y tu tripulación puede votar cómo se divide el oro. Si menos de la mitad de los piratas están de acuerdo contigo, mueres. ¿Cómo recomienda distribuir el oro de tal manera que obtenga una buena parte del botín, pero aún así sobreviva?

Trabajo: Gerente de Ingeniería

Debe verificar que su amigo Bob tenga su número de teléfono correcto …

… pero no puedes preguntarle directamente. Debe escribir la pregunta en una tarjeta y dársela a Eve, quien se la llevará a Bob y le devolverá la respuesta. ¿Qué debe escribir en la tarjeta, además de la pregunta, para asegurarse de que Bob pueda codificar el mensaje para que Eve no pueda leer su número de teléfono?

Trabajo: ingeniero de software

Realmente no hay una diferencia significativa entre entrevistar a alguien recién llegado de la escuela y alguien con un par de años de experiencia. Las cosas adicionales de las que debe preocuparse como entrevistador:

  1. ¿Deberían ser un SDE2 o SDE1 ? En otras palabras, ¿son de nivel de entrada o han avanzado más allá de ese primer hito, que generalmente es de 1 a 2 años de experiencia? El título de su trabajo actual suele ser la respuesta a esa pregunta, pero debe diferenciarse en la entrevista. Realmente no necesita preguntas diferentes que para una entrevista de nivel de entrada para esto, aunque también puede pedir detalles sobre lo que hicieron y cuál fue su papel en el mismo.
  2. ¿Aprendieron las prácticas de la industria ? En la escuela, la mayoría de lo que aprendes son técnicas y habilidades simples. En la industria, aprende el ciclo de vida del software en términos prácticos y trabaja a través de una variedad de artefactos. ¿El candidato ha pasado por un ciclo de producto completo y está familiarizado con el seguimiento de defectos, las pruebas unitarias, etc. al haberlo hecho?

Las expectativas para la parte de programación de la entrevista, al menos para mí, son las mismas para alguien en los primeros tres o cuatro años de su carrera que para un candidato universitario. Podría hacer menos la vista gorda ante los errores para el desarrollador más experimentado. Es realmente en la discusión del trabajo que querré ver una diferencia, como se describió anteriormente.

La complejidad de las preguntas con respecto a la evaluación de las habilidades básicas será bastante similar: en la resolución de problemas, la codificación y DS / Algos.

Sin embargo, con un poco de experiencia, generalmente también se sondea en sus proyectos recientes o en el trabajo en empresas anteriores. Se espera una buena comprensión de los aspectos técnicos relacionados con los proyectos anteriores. Solo si existe una profunda comprensión y contribución, entonces la experiencia cuenta. De lo contrario, no lo hace. Si la experiencia del candidato parece calificarlo para un nivel superior (SDE-II) que el nivel de entrada (SDE-I), entonces las preguntas de diseño y las preguntas abiertas también pueden formularse como parte del ciclo de la entrevista. Esto también puede ayudar con el ejercicio de nivelación en general. Un candidato experimentado puede escribir un código más limpio en lugar de un código de estilo universitario. Él / ella es capaz de comprender y sugerir soluciones significativas para la imagen más amplia de un problema ilimitado en lugar de resolver solo el problema acotado inmediato y bien especificado. Él / ella también es capaz de lidiar con un diseño de complejidad moderada y hablar sobre varios aspectos del mismo. En mi opinión, este es el diferenciador entre un ingeniero de nivel de entrada y uno que tiene más experiencia.

Preguntas basadas en el trabajo anterior + Preguntas regulares para estudiantes de primer año + Preguntas sobre habilidades de equipo.