Me entrevisté con Facebook, Microsoft, Google y Amazon; y he tenido éxito en todos ellos! De mi ejemplo personal cuando entrevisté me preparé para 3–4 meses. El mayor problema que tuve fue que no me sentía cómodo con la codificación de la pizarra, ya que esto no es lo que normalmente haces en tu trabajo diario. En segundo lugar, me entrevisté en Google y Facebook como candidato principal, lo que dificultó un poco la tarea de mostrar habilidades sólidas de diseño. Mis entrevistas de Amazon y Microsoft fueron para puestos junior hace unos años.
A menos que se sienta muy cómodo con la codificación de la pizarra, las estructuras de datos y las habilidades de diseño del sistema, tengo dos sugerencias para usted:
- Sigue practicando la codificación de pizarra hasta que te sientas cómodo con ella.
- No olvides prepararte para las entrevistas de diseño del sistema. La codificación de entrevistas se ha convertido en un requisito previo en estos días, su posición real (y salario, etc.) se decide en función de las habilidades de diseño que tenga.
Dado todo esto, ahora permítanme indicar el proceso de la entrevista y algunos recursos para prepararme para diferentes partes del mismo.
- Estoy haciendo ingeniería mecánica 2do año. ¿Cuáles son las cualidades y habilidades que debo desarrollar en mí para poder conseguir un buen trabajo en cualquier lugar?
- ¿Cómo debo comenzar mi viaje para convertirme en programador?
- Quiero convertirme en un físico cuántico. Estoy en el 11 ° CBSE. ¿Cuáles pueden ser mis planes de carrera?
- ¿Qué constituye la experiencia de administración del sistema?
- ¿Qué empresa de TI te ofrece la mejor y más rápida oportunidad de viajar al extranjero desde India?
Por lo general, hay una o dos pantallas de teléfono seguidas de un ciclo completo de entrevistas en el sitio. He visto a personas que se les quita la pantalla del teléfono con una buena referencia interna. Generalmente hay tres partes en un ciclo de entrevistas de ingeniería de software, trate de concentrarse en todas ellas para su preparación:
- Entrevista de codificación: ya sea en una pizarra o en una computadora real. Esto se ha convertido en un requisito previo para obtener una oferta. Si no puede codificar / resolver el problema (o tiene algunos errores graves en su código), es bastante difícil obtener una oferta. Buenos recursos para prepararse para este tipo de entrevista: Coderust 2.0 y LeetCode. Debe esperar al menos dos entrevistas de codificación en un bucle.
- Entrevista de diseño del sistema: prueba sus habilidades de diseño y su capacidad para trabajar con servicios complejos y escalables. Su desempeño en estas entrevistas determina qué puesto y salario se le ofrecerá. Si tiene habilidades de diseño encomiables, obtendrá una oferta más alta. Un buen recurso para prepararse para esta entrevista: Grokking the System Design Interview.
- Entrevista cultural en forma . Durante esta entrevista, las empresas ven si un candidato sería un buen candidato para su cultura. El candidato no debe mostrar ninguna bandera roja.
Al igual que la codificación de entrevistas, los candidatos que no han pasado suficiente tiempo preparándose para las entrevistas de diseño del sistema (SDI) en su mayoría tienen un mal desempeño. Esto se agrava cuando estás entrevistando a las principales empresas como Google o Facebook. En estas empresas, si un candidato no se desempeña por encima del promedio, tiene una probabilidad limitada de obtener una oferta. Además, un buen desempeño en tales entrevistas siempre resulta en una mejor oferta (financieramente), ya que su desempeño se refleja en su capacidad para trabajar con sistemas complejos.
Además, a todas estas grandes empresas les gustan los candidatos que están familiarizados con los conceptos de sistemas distribuidos como Hashing consistente, Particionamiento de datos, Equilibrio de carga, Redundancia y replicación, Teorema CAP, etc.
Algunos problemas de diseño de muestra son:
- Diseño de un servicio de acortamiento de URL como TinyURL
- Diseñando Instagram
- Diseñando Twitter
- Diseñando Youtube
- Diseñando Facebook Messenger
- Diseño de la fuente de noticias de Facebook
- Diseñando Dropbox
- Diseño de sugerencia Typeahead
- Diseñando Yelp
- Diseñando Uber
Puedo poner más detalles sobre la codificación de entrevistas, pero sentí que otras respuestas tienen algunas buenas referencias. Aquí hay algunos buenos artículos sobre entrevistas de codificación / diseño:
- ¿Cómo NO diseñar Netflix en su entrevista de diseño de sistema de 45 minutos?
- Cómo NO tener éxito en su entrevista de codificación de 45 minutos
- Anatomía de una entrevista de diseño del sistema
¡Feliz entrevista!