¿Cómo y qué debo preparar para entrevistas en grandes empresas como Google y Amazon?

Recibí una llamada de Google después de solicitar una billonésima vez.

Y esto es lo que recibí de un buen amigo mío que estuvo asociado con Google durante mucho tiempo.

——————

Materiales para revisar antes de programar su entrevista telefónica:

• una copia no oficial de su transcripción

• AL MENOS 3 días y horarios en los que estaría disponible para el teléfono técnico

entrevista incluyendo la zona horaria en el siguiente formato (ej .: 6/12 – 10:00 am – 2:00 pm

PST)

• el lenguaje de programación que le gustaría usar para la entrevista: Java, C ++, C o Python

• el mejor número de contacto para que el ingeniero se comunique con usted el día de la entrevista

Consejos para la entrevista de Google:

¡Aquí hay algunos consejos y sugerencias para ayudarlo a prepararse para el éxito! ¡Los que estudian tienden a hacerlo MUCHO mejor en sus entrevistas!

1) Planifique con anticipación:

Los ingenieros de Google que lo entrevistarán solo tienen un tiempo limitado para sus proyectos, ¡así que reserve tiempo en su agenda también! Esto también lo ayuda a relajarse y desempeñarse mejor en la entrevista. Tenga a mano un bolígrafo y papel en caso de que se le pida que escriba algunas cosas.

2) Qué esperar:

Entrevista técnica de hasta 45 minutos con un ingeniero de software de Google.

El entrevistador estará interesado en su conocimiento de los principios de la informática (estructuras de datos, algoritmos, etc.) y cómo se pueden utilizar en sus soluciones.

3) Preguntas de la entrevista:

Los temas de la entrevista pueden cubrir cualquier cosa en su CV (¡especialmente si ha declarado que es un experto!), Preguntas de codificación de pizarra, construcción y desarrollo de algoritmos complejos y análisis de sus características de rendimiento, problemas lógicos, diseño de sistemas y principios básicos de informática – tablas hash , pilas, matrices, etc. Los fundamentos de informática son requisitos previos para todos los roles de ingeniería en Google, independientemente de la antigüedad, debido a las complejidades y la escala global de los proyectos en los que terminaría participando.

4) Cómo tener éxito:

En Google, creemos en la colaboración y el intercambio de ideas. Lo más importante, necesitará más información del entrevistador para analizar y responder la pregunta en toda su extensión.

* Está bien cuestionar a su entrevistador.

* Cuando se le solicite que brinde una solución, primero defina y enmarque el problema tal como lo ve.

* Si no comprende, solicite ayuda o aclaraciones.

* Si necesita asumir algo, verifique verbalmente que sea una suposición correcta.

* Describa cómo quiere abordar la resolución de cada parte de la pregunta.

* Siempre hágale saber a su entrevistador lo que está pensando, ya que él / ella estará tan interesado en su

proceso de pensamiento como su solución.

Además, si está atascado, pueden proporcionar pistas si saben lo que está haciendo.

* Finalmente, escuche, ¡no se pierda una pista si su entrevistador está tratando de ayudarlo!

5) ¿Qué busca Google ?:

“No estamos simplemente buscando ingenieros para resolver los problemas a los que ya conocen las respuestas;

estamos interesados ​​en ingenieros que puedan resolver las respuestas a preguntas que no habían encontrado antes “.

Los entrevistadores analizarán tanto el enfoque de las preguntas como la respuesta:

* ¿El candidato escucha atentamente y comprende la pregunta?

* ¿Se hacen las preguntas correctas antes de continuar? (¡importante!)

* ¿Se utiliza la fuerza bruta para resolver un problema? (¡no está bien!)

* ¿Se asumen las cosas sin verificar primero? (¡no está bien!)

* ¿Se escuchan y se escuchan sugerencias?

* ¿El candidato es lento para comprender / resolver problemas? (¡no está bien!)

* ¿Le gusta al candidato encontrar múltiples soluciones antes de elegir la mejor?

* ¿Se buscan nuevas ideas y métodos para abordar un problema?

* ¿Es el candidato inventivo y flexible en sus soluciones y abierto a nuevas ideas?

* ¿Pueden las preguntas pasar a una resolución de problemas más compleja?

Google desea ver un código claro, eficiente y de muy alta calidad sin errores de escritura. Debido a que todos los ingenieros (en todos los niveles) colaboran en toda la base de código de Google, con un proceso de revisión de código eficiente, es esencial que cada ingeniero trabaje con el mismo alto nivel.

6) ¡Haz más preguntas !:

Asegúrese de tener una comprensión decente de Google como empresa, más allá de los principales productos de Google, descubra lo que hacemos aquí:

Sobre nosotros | Google OR:

Google – Wikipedia

Al final de la entrevista, la mayoría de los entrevistadores le preguntarán si tiene alguna pregunta sobre la empresa, el entorno laboral, su experiencia, etc. Es inteligente tener algo preparado previamente para cada entrevista, pero no se preocupe demasiado si su la mente se queda en blanco.

Si tiene preguntas sobre el proceso de la entrevista, la remuneración o su desempeño, diríjalas a su reclutador.

7) Lectura adicional:

* Para comprender cómo funcionan los equipos de desarrollo de Google:

Desarrollo de software ágil – Wikipedia

* Para saber más sobre los proyectos principales de Google: http://labs.google.com/why-googl…

Si aún no ha leído los consejos de preparación técnica de Steve Yegge, consulte su blog:

Consigue ese trabajo en Google

* Debido al tamaño de los productos que va a construir, es imperativo que se sienta cómodo con la notación O grande, aquí es donde debe repasar:

Notación O grande – Wikipedia

8) Consejos de preparación técnica !:

Las principales áreas de ingenieros de software deben prepararse para tener éxito en la entrevista en Google:

Complejidad del algoritmo: es bastante crítico que comprenda el análisis de complejidad big-O. Nuevamente, ejecute algunos problemas de práctica para obtener esto en la aplicación.

Clasificación: Sepa cómo ordenar. No hagas burbujas. Debe conocer los detalles de al menos un algoritmo de clasificación n * log (n), preferiblemente dos (por ejemplo, clasificación rápida y clasificación por fusión). La ordenación por fusión puede ser muy útil en situaciones en las que la clasificación rápida no es práctica, así que échale un vistazo.

Hashtables: posiblemente la estructura de datos más importante conocida por la humanidad. Absolutamente deberías saber cómo funcionan. Sea capaz de implementar uno usando solo matrices en su idioma favorito, en aproximadamente el espacio de una entrevista.

Árboles: saber acerca de los árboles; Algoritmos básicos de construcción, transversal y manipulación de árboles.

Familiarícese con los árboles binarios, los árboles n-ary y los árboles trie. Familiarícese con al menos un tipo de árbol binario equilibrado, ya sea un árbol rojo / negro, un árbol splay o un árbol AVL, y sepa cómo se implementa. Comprenda los algoritmos de recorrido de árbol: BFS y DFS, y conozca la diferencia entre orden, postorder y preorder.

Gráficos: los gráficos son realmente importantes en Google. Hay 3 formas básicas de representar un gráfico en la memoria (objetos y punteros, matriz y lista de adyacencia); familiarícese con cada representación y sus pros y contras. Debe conocer los algoritmos básicos de recorrido de gráficos: búsqueda de amplitud y búsqueda de profundidad. Conozca su complejidad computacional, sus compensaciones y cómo implementarlos en código real. Si tienes la oportunidad, trata de estudiar algoritmos más sofisticados, como Dijkstra y A *.

Otras estructuras de datos: debe estudiar tantas otras estructuras de datos y algoritmos como sea posible. Debería saber especialmente sobre las clases más famosas de problemas NP-completos, como el vendedor ambulante y el problema de la mochila, y ser capaz de reconocerlos cuando un entrevistador le pregunte disfrazado. Descubra lo que significa NP-complete.

Matemáticas: algunos entrevistadores hacen preguntas básicas de matemáticas discretas. Esto es más frecuente en Google que en otras compañías porque estamos rodeados de problemas de conteo, problemas de probabilidad y otras situaciones de Discrete Math 101. Pase algún tiempo antes de la entrevista refrescando su memoria (o enseñándose) los elementos esenciales de la combinatoria y la probabilidad. Debería estar familiarizado con los problemas de n-choose-k y sus gustos: cuanto más, mejor.

Sistemas operativos: Conozca los procesos, hilos y problemas de concurrencia. Conozca las cerraduras y mutexes y semáforos y monitores y cómo funcionan. Conozca el punto muerto y el bloqueo en vivo y cómo evitarlos. Sepa qué recursos necesita un proceso y necesita un subproceso, y cómo funciona el cambio de contexto y cómo lo inicia el sistema operativo y el hardware subyacente. Conozca un poco sobre la programación. El mundo se está moviendo rápidamente hacia múltiples núcleos, así que conozca los fundamentos de las construcciones de concurrencia “modernas”.

Codificación: debe conocer al menos un lenguaje de programación realmente bueno, y preferiblemente debe ser C ++ o Java. C # también está bien, ya que es bastante similar a Java. Se espera que escriba un código en al menos algunas de sus entrevistas. Se espera que conozca una buena cantidad de detalles sobre su lenguaje de programación favorito.

9) Temas de muestra:

Codificación de temas de muestra: construir / atravesar estructuras de datos, implementar rutinas del sistema, destilar grandes conjuntos de datos a valores únicos, transformar un conjunto de datos en otro.

Diseño / Análisis de Algoritmo

Temas de muestra: análisis big-O, clasificación y hashing, manejo de cantidades obscenamente grandes de datos.

Consulte también los temas enumerados en “Codificación”.

Diseño de sistemas

Temas de muestra: conjuntos de características, interfaces, jerarquías de clases, diseño de un sistema bajo ciertas restricciones, simplicidad y robustez, compensaciones.

Discusión abierta

Temas de muestra: mayores desafíos enfrentados, mejores / peores diseños vistos, análisis de rendimiento y optimización, pruebas, ideas para mejorar los productos existentes.

Aquí hay más enlaces que reuní mientras me preparaba.

Cómo contratamos – Google Careers

Trae preguntas. Construye respuestas. – Google Careers

La vida en google

Google

Cómo resolver las preguntas locas de la entrevista abierta de Google

Ahora, era joven e ingenuo y no pude descifrar esa entrevista, pero usando este enfoque logré obtener un puñado de cartas de oferta de empresas de primer nivel.

Incluyendo a Amazon, me ofrecieron un trabajo como científico de datos en Amazon Seattle el año pasado, me negué a aceptarlo debido a problemas personales.

Aleta.

More Interesting

¿Cuáles son las preguntas interesantes que se hacen en una entrevista?

¿Cuáles son las preguntas de la entrevista SQL DBA experimentadas y más recientes?

¿Está bien hablar en hindi en una entrevista, si sabes que puedes expresarte mejor en hindi que en inglés?

¿Cuál es una buena manera de entrevistar a un candidato para un puesto de ingeniero de pruebas de Java?

¿Cuál es una buena respuesta a 'Cuéntame sobre ti'?

¿Cuál es el proceso de entrevista de Toptal para un desarrollador de WordPress?

Cómo descifrar entrevistas para MNC

¿Qué tipo de preguntas se hacen en la entrevista NIBM? ¿Cómo prepararse para lo mismo?

En mi UPSC DAF he optado por IPS en la quinta posición. ¿Cómo justifico esto en una entrevista?

¿Cuál es la mejor manera de abordar las preguntas de tipo rompecabezas en entrevistas con desarrolladores?

¿Son las personas que recibieron ofertas de trabajo después de su primera entrevista? ¿Es común?

¿Puede alguien que está un poco por debajo del promedio en programación y algoritmos borrar la entrevista de prácticas SDE de Amazon? ¿Si es así, cómo? Escuché que la entrevista para el puesto de pasantía será fácil en comparación con la entrevista para un trabajo de tiempo completo.

¿Cuáles son las preguntas de IQ para entrevistas con desarrolladores de software?

Cómo preparar preguntas de entrevistas conductuales en Melbourne

¿Cuáles son los consejos no obvios pero útiles para la parte de diseño de producto de las entrevistas de PM de Google?