Se podrían dar muchas sugerencias aquí, pero me quedaría con un par de ellas:
- Conozca el proceso de la entrevista, ¿cuáles son los diferentes tipos de entrevistas que puede esperar?
- Hable con las personas que han pasado por las entrevistas. La gente ha escrito toneladas de blogs sobre sus experiencias; solo puedes leerlos.
Si buscas en Quora los dos aspectos anteriores, obtendrás mucho material. Aquí hay algunas preguntas de muestra:
- ¿Qué se necesita para conseguir un trabajo en Microsoft, Google, Facebook o cualquier gran empresa? ¿Qué se siente entrevistar en estas empresas?
- ¿Cómo puedo entrenarme para conseguir un trabajo en grandes empresas tecnológicas como Facebook, Google y Dropbox? Me gradué en Electrónica y Comunicación en 2014 y actualmente estoy trabajando con Cognizant Technology Solutions.
- ¿Cuál es la mejor manera de aprender algoritmos? Quiero prepararme para una entrevista en Google y estoy dispuesto a pasar todo mi tiempo libre aprendiendo.
Desde que descifré las entrevistas con Facebook, Google y Amazon. Aquí hay algunas sugerencias de mis experiencias:
- ¿Conocer solo C es una desventaja en las entrevistas técnicas?
- Algoritmo para calcular el número de dígitos pares e impares en un número?
- ¿Cuáles son algunas preguntas que se le pueden hacer a un desarrollador de React.js en una entrevista técnica?
- ¿Cuál es su opinión sobre CoderPad?
- ¿Cómo es el proceso de entrevista de ingeniería en Spotify?
Teniendo en cuenta el proceso de entrevista actual, debe dedicar la mayor parte de su tiempo de preparación a algoritmos y estructuras de datos. Dicho esto, es importante tener en cuenta que el proceso de entrevistas en Facebook y Google está evolucionando (y ya ha cambiado hasta cierto punto). Están poniendo mucho más énfasis en el ajuste cultural y las entrevistas de diseño del sistema. La codificación de entrevistas 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.
Definitivamente necesitaría ser bueno en la codificación de preguntas, pero no olvide los otros dos tipos de entrevistas. Permítanme explicarles un poco más en detalle sobre estas entrevistas.
Las entrevistas de ajuste cultural están destinadas a evaluar las siguientes cosas:
- ¿Qué tan buen programador / desarrollador / estudiante fuiste en el pasado? Su currículum, historial de trabajo, proyectos secundarios / de código abierto, proyecto educativo, todos juegan un papel importante aquí.
- ¿Qué tipo de compañero de trabajo serías? El entrevistador intentará evaluar si le gustaría trabajar con usted en un equipo. Se evaluará su motivación, empatía y perseverancia.
- ¿Tienes alguna bandera roja en tu personalidad? ¿Cómo manejaste el conflicto en el pasado? ¿Cómo manejas a un compañero de trabajo difícil? etc.
- ¿Luchas por el éxito y el crecimiento? Recuerde que está presentando una solicitud en una de las principales empresas del mundo, a ellas les gustaría contratar personas por encima del promedio.
- etc.
Las entrevistas de diseño de sistemas evalúan sus habilidades de diseño y su capacidad para trabajar con sistemas complejos. Su desempeño en estas entrevistas determina qué puesto y salario se le ofrecerá. Si puede mostrar habilidades de diseño superiores a la media, obtendrá una oferta más alta. Un buen recurso para prepararse para este tipo de entrevista: Grokking the System Design Interview. Estas entrevistas se vuelven aún más importantes cuando entrevista 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. Algunos problemas de diseño de muestra son: 1) Diseño de un servicio de acortamiento de URL como TinyURL, 2) Diseño de Instagram, 3) Diseño de Twitter, 4) Diseño de Uber, etc.
Hay toneladas de recursos disponibles para codificar entrevistas como Coderust 2.0 y LeetCode, etc.
Espero que esto ayude.