¿Cómo debo prepararme para mi entrevista en Google si me queda 1 mes y solicito un puesto de ingeniero de software?

Con más de diez años de experiencia en programación y un título de CS, me llevó aproximadamente un mes y medio de práctica diaria prepararme para la entrevista. “Listo”, para mí, se define ambiciosamente como la capacidad de abordar casi cualquier pregunta de entrevista técnica en 30 minutos o menos y llegar a una solución óptima. Lo siguiente se basa en lo que hice para preparar: su millaje puede variar.

Ingredientes:

  • Cerca de dos años de experiencia en codificación sólida
  • Lápiz y papel
  • Romper la entrevista de codificación ( CTCI )
  • Tu libro de algoritmos favorito
    • La introducción a los algoritmos, el manual de diseño de algoritmos y las perlas de programación son algunas buenas opciones. ¿Puedo sugerirle que use tecnología baja y compre copias físicas?
  • Dos o tres horas al día
  • Muy recomendable: pizarra blanca
  • Muy recomendable: grado CS
  • Opcional: MIT OpenCourseware u otro sitio de aprendizaje

Direcciones :

1) Aprenda todo lo que pueda sobre el proceso de entrevistas de Google (días 1 y 2)

Al igual que una comprensión incompleta de una pregunta técnica lo arruinará en la entrevista real, la información errónea desbaratará su preparación previa. Aprendí esto de la manera difícil cuando fallé en mi primer intento después de enfatizar los enigmas sobre el estudio de algoritmos y estructuras de datos.

Comience con la fuente: consulte google.com/careers para obtener información sobre cómo contrata Google. Luego mire este video de Google sobre lo que buscan los entrevistadores en la entrevista y, finalmente, vea un ejemplo de entrevista con verdaderos ingenieros de Google.

Una vez que tenga una base sólida, le recomiendo que siga leyendo CTCI . Particularmente enfóquese en los capítulos 5 y 6 titulados Preguntas de comportamiento y Preguntas técnicas .

Cuando finalmente leas mi breve artículo sobre las seis cosas que debes hacer absolutamente durante la entrevista real, debes tener una buena idea de cómo es un candidato bien preparado.

2) Compare usted mismo (días 3–5)

Ahora que sabe qué tan preparado debe estar, averigüe dónde se encuentra ahora. Use CTCI para esto. Tome un par de preguntas de cada sección y resuélvalas usando los seis pasos que mencioné anteriormente. Mantenga un registro de cuánto tiempo le lleva alcanzar una solución óptima para cada problema que resuelva.

Si y solo si ha resuelto el problema usted mismo, eche un vistazo a la solución que lo acompaña para evaluar cómo lo hizo. ¿Alcanzaste la solución óptima o al menos progresaste más allá de la respuesta ingenua / de fuerza bruta? ¿Cuánto tiempo te llevó? ¿Se escribió su código en la menor cantidad de líneas posible?

Haz esto para cada sección. Cuando termine, puede priorizar las secciones que no hizo tan bien desde el principio en su régimen de práctica y dejar las otras secciones para más adelante. Debe repetir este ejercicio justo antes de la entrevista para conocer sus puntos débiles antes del día de la entrevista.

3) Haga una lista de estudio (días 3-5)

Usando los datos que adquirió del paso anterior, haga una lista priorizada de cosas que necesita estudiar. Esta lista debe incluir:

  • Memorizar dos buenos algoritmos de clasificación y su Big-O
  • Memorizar búsqueda binaria
  • Memorizar cómo implementar estructuras de datos básicas como hashmap, lista vinculada, pila, cola y árboles (n-ary, trie, heap) y sus complejidades Big-O
  • Memorización de algoritmos de recorrido de gráficos (BFS, DFS y un algoritmo de ruta más corto como el de Dijkstra)
  • Memorizar poderes de 2
  • Practicar ejercicios de manipulación de bits (trabajar con mapas de bits, desplazamiento de bits)
  • Terminología de programación orientada a objetos (abstracción, herencia, cohesión, acoplamiento)
  • Conozca las colecciones y las API de matemáticas para su lenguaje de programación dado
  • Recursión, retroceso y memorización.
  • Revisar los principios básicos de matemática discreta y estadística.

Todo esto está cubierto en CTCI y su libro de algoritmos favorito. Nota: ¡ el punto de la memorización es la comprensión! Probablemente nunca se le pedirá que escriba un algoritmo literalmente. Más bien, se espera que conozcas cada uno lo suficientemente bien como para poder usarlos creativamente para resolver un problema que nunca has visto.

4) Practique algoritmos y estructuras de datos diariamente (días 6–30)

Elija dos o tres elementos de su lista y comprométase aproximadamente dos o tres horas cada día a trabajar en estas cosas (por ejemplo, 1 hora antes del trabajo, pausa para el almuerzo, 1 hora después del trabajo). A medida que memoriza cosas, pruébelo escribiendo un algoritmo o estructura de datos en papel o en una pizarra. Escriba el peor de los casos Big-O complejidades de tiempo y espacio para el algoritmo cuando haya terminado. ¡Siempre revisa tu trabajo, siempre!

Ahora copie lo que ha escrito en su IDE favorito y compílelo. Tome nota de los errores de compilación para evitarlos cuando repita el ejercicio nuevamente. Puede y también debe crear pruebas unitarias para verificar la exactitud de su código.

Siga haciendo esto hasta que pueda transcribir y compilar su código sin errores lógicos o sintácticos.

5) Aborde tantas preguntas de programación como pueda (días 16-30)

En este momento, debe tener un buen manejo de las habilidades que necesita para tener éxito en la pregunta de la entrevista. Comenzando con CTCI, aborde todos los problemas de programación que pueda, nuevamente utilizando los seis pasos. Dedique aproximadamente la mitad de su tiempo de estudio a esto mientras pasa la otra mitad revisando elementos de su lista de estudios.

Si lo está haciendo bien, probablemente comenzará a quedarse sin preguntas en el libro. Puede encontrar toneladas más de muestras reales en línea en sitios como CareerCup o Interview Cake. O simplemente use su motor de búsqueda favorito. Sé que puedes usar uno bastante bueno;).

Practique algunas veces con otra persona, tanto con alguien técnico como con alguien no técnico. Pregúnteles si:

  • Parecías y parecías relajado
  • Parecías un solucionador de problemas disciplinado
  • Seguiste pensando en voz alta durante todo el ejercicio

6) Relájate y duerme bien (día 30)

¡Felicidades! Has trabajado muy duro. No hay nada más que puedas hacer. Relájate y entra en tu buen lugar. Has llegado hasta aquí. Eso significa que realmente disfruta la codificación o que no se detendrá ante nada para obtener ese trabajo en Google. Creo que realmente disfrutarás de tu experiencia de entrevista. ¡Asegúrate de divertirte! Espero verte en la sala de reuniones.

Encuentre este y otros artículos en https://anthonydmays.com .

( Ejemplo: puede usar el siguiente enfoque, para un plan de un mes, alrededor de 120 horas (30X4), si son 4 horas diarias o 240 horas (30X8) Si son 8 horas diarias)

Debe seguir un enfoque muy organizado y disciplinado para prepararse para el trabajo de ingeniería de software en Facebook / Google / Amazon / Microsoft, etc.

En realidad, todas estas empresas, por ejemplo, MS, Google, Amazon, Facebook, Apple, siguen un enfoque en el que miden el proceso de pensamiento de un candidato.

Y usan diferentes medios para evaluar eso, pero sí, la mayoría de ellos usa Algoritmos / Estructuras de datos / Preguntas abiertas (si ha solicitado un trabajo de ingeniería de software) como uno de los enfoques para evaluar el talento. base para desarrollar las tecnologías).

Para estar acostumbrado a algos / estructura de datos / codificación, debe haber entendido / practicado el mínimo, por ejemplo:

(Paso-1): debe tener una comprensión práctica de los algoritmos (por ejemplo, cuándo usar BackTracking, cuándo usar Divide and Conquer, ¿por qué se requiere doble hashing ?, ¿dónde se puede aplicar el concepto de fuerza bruta?) ( 50 o 25 horas).

(Paso 2): debe tener una comprensión práctica de las estructuras de datos, por ejemplo (casos de uso prácticos relacionados con: cuándo usar el búfer circular, o cuándo usar una lista adyacente o la combinación de ambos o algo más para resolver el problema).
(50 o 25 horas)

(Paso 3): debe practicar varios problemas de codificación para implementar las cosas que aprenden del Paso 1 y del Paso 2 (puede hacer lo siguiente para elegir cualquier lenguaje de codificación para elegir el suyo (C, C ++ o Java o Python o PHP o cualquier otro).
(50 o 25 horas)

(Paso 4): Resolver el problema no significa solo resolverlo, sino comprender la mejor manera de resolverlo, por ejemplo, el problema técnico dado puede usar varias formas para llegar a una solución, y es posible que desee utilizar la solución óptima. . (Cómo se conecta la solución dada con los recursos informáticos / de memoria, por ejemplo, Memoria / Potencia de procesamiento)
(50 o 25 horas)

El más importante.

Sin embargo, aparte de la programación, es posible que deba comprender que el concepto principal para la entrevista es mantener la entrevista activa y esto requiere algunas acciones de su parte, como las siguientes:

Necesitas hablar.

Necesitas explicarlo.

Necesitas discutirlo.

Necesitas expresar tus puntos de vista.

Debe comprender claramente las preguntas que se le hacen.

Debe comprender la expresión y la mentalidad del entrevistador para comprender esas preguntas.

Es posible que deba hacer las preguntas adecuadas para comprender la pregunta o cualquier otro elemento de discusión. (50 o 25 horas)

Y también :

Prepárese: “Cuénteme acerca de usted mismo”, “Sus habilidades relacionadas con un mayor interés positivo / negativo”, Conceptos básicos para los conceptos informáticos más necesarios o cualquier cosa que haya presentado en su “CV / Currículum”.
(10 o 5 horas)

Lo anterior es solo un plan de muestra, puede personalizar la forma que desee (por ejemplo, 50 horas a 10 horas o algo más). Haga clic en Amazon para encontrar los mejores libros que pueda necesitar (por ejemplo, algoritmos de Cormen)

(Aquí Google no significa Google, significa cualquier compañía que sea muy creativa para presentar los productos relacionados con la informática).

Esta pregunta ha sido respondida innumerables veces por reclutadores, empleados y candidatos a pleno rendimiento. Pero lo resumiré para usted según lo que hice y mis errores.

    1. Revise el funcionamiento y el uso de estructuras de datos populares como listas vinculadas, árboles (binario, treap, (rojo negro, avl: opcional)), colas de prioridad, montón (min, montones máximos), pila, tabla hash
    2. Aprenda el equivalente de estas estructuras de datos teóricos en el idioma que elija. Por ejemplo, en Java tienes HashMap, LinkedHashMap, TreeSet, HashSet, etc.
    3. Aprenda las diferencias de implementación en estos ya que debe escribir código real, no pseudocódigo durante la entrevista.
    1. Revise los algoritmos estándar que aprende en la escuela, por ejemplo, diferentes algoritmos de clasificación, recorridos de gráficos, MST, ruta más corta, etc.
    2. Aprenda la notación Big O y asegúrese de poder deducir la complejidad temporal de cualquier algoritmo (al menos los que escribe)
    3. Presta atención a la complejidad del espacio. Edición 1: esto es realmente importante. Te darás cuenta de esto cuando realmente escribas código. La cantidad de espacio desperdiciado en estructuras de datos auxiliares, y matrices aleatorias y hashmaps para diversos fines es fenomenal.
    1. Practique implementar 1 , 2 en el idioma que elija. Durante la implementación, intente escribir código sin referencia externa para cosas como obtener entradas de consola, operaciones de archivos, etc. Si se refiere, asegúrese de no tener que mirar nuevamente. Edición 1: Esto realmente lo llevaría a la zona de confort del idioma en el que, hasta la fecha, pensaba que era un experto.
    2. Implemente diferentes versiones, cada una optimizada para la complejidad del tiempo o el espacio, ya que se le darán problemas en los que la entrada requiere mucho espacio y necesita mucho tiempo para analizar. Por lo tanto, debe pensar en 2 dimensiones (tiempo y huella de memoria. Edición 1: por ejemplo, intente implementar versiones in situ de los diversos algoritmos de clasificación que estudió.
  1. Practica las preguntas de la entrevista. Elija un libro como Cracking the coding entrevista o Programming Challenges de Skiena y resuelva un número considerable de problemas tanto en PC con IDE como en papel / pizarra. Oblígate a resolverlo hasta el final, independientemente de cuán lamentable sea tu respuesta. Editar 1: Comience con una solución de fuerza bruta. Siempre. Una vez que lo haya anotado, podrá encontrar cosas que se pueden hacer más rápido. Creo que la optimización está más estructurada cuando se realiza de forma incremental. Esto también le da al entrevistador la oportunidad de ver su lógica. Finalmente, NO olvides el maldito HashMap, porque es simplemente increíble. Un ejemplo de optimización incremental sería: hacer una fuerza bruta n ^ 2 búsqueda -> n log n sort, seguido de búsqueda binaria -> HashMap,
  2. Practique resolviendo problemas en la pizarra e intente expresar su lógica a medida que llega a la solución. Debe tener explicaciones sólidas para elegir un algoritmo particular o una estructura de datos. Edición 1: una vez que hayas hecho esto varias veces, cronometra tu mismo. Simplemente porque no puedes llevarte una eternidad. Mi última entrevista fue un desastre porque me tomó demasiado tiempo y no articulé mis ideas claramente.
  3. Estas son las cosas más importantes de la OMI. Cometí un error al no practicar mucho. Intenta terminar los pasos 1,2 en 1,5 semanas como máximo. Dedique al menos una semana a resolver problemas desconocidos para usted en papel o en un bloc de notas (sin código completo). 1/2 días en la codificación de pizarra.

    Preparación mental

    1. Es igualmente importante no entrar en pánico. Podría ayudar si intenta a propósito pensar que es mejor que los estándares de Google.
    2. Si entra en pánico o se siente intimidado por la genialidad del trabajo que realizan o por los científicos informáticos rockstar que tienen a bordo, seguramente no lo logrará.
    3. Mantén la calma, mantente enfocado. No pierdas tiempo.
    4. Asume que las cosas van a ir mal. De esta manera, la única emoción que puede experimentar durante la entrevista es la emoción de haber descubierto cómo resolver el problema.
    5. Haga preguntas de sondeo sobre qué equipo y para qué tecnologías está trabajando el entrevistador. Esto les da la oportunidad de hablar y sentirse bien consigo mismos. Mostrar algo de interés …

    Sé amable con el reclutador, no de una manera que te lame las botas, solo sé amable y cortés. Responder a los correos a tiempo. Sé jovial, ya que ven muchos fanáticos de Google a diario.

    Mi respuesta podría no ser perfecta. Pero creo que le irá bien si planea su preparación de esta manera.

    Bien, si solo queda un mes, parece que lo único que puedes hacer es esperar y mantener el dedo cruzado. Sin embargo, hay toneladas de cosas que podría hacer para mejorar sus posibilidades de ser contratado. Permítanme compartir mi experiencia, es más de un mes, pero sigue siendo una línea de tiempo muy corta.

    • Estar familiarizado con la estructura de datos básicos y el algoritmo. Esta es la base de todas las entrevistas de ingenieros de software y la mayoría de los entrevistadores asumen que ya tenía un buen conocimiento y una vez que descubren que no está familiarizado con algunas cosas básicas, puede estar en problemas.
    • Sumérgete en las preguntas de la entrevista. Hay muchas fuentes como http://www.glassdoor.com donde puedes encontrar toneladas de preguntas de entrevistas reales que puedes preparar. Es casi imposible que las termine todas, pero una vez que se encuentre débil ante un tipo particular de preguntas, investigue un poco, lo que lo ayudará a resolver un montón de preguntas. También en la preparación de este período, intente escribir el código en la pizarra o al menos en los papeles, y se dará cuenta de lo diferente que es escribir con sus editores de texto favoritos.
    • Practica con entrevistas simuladas. Es una gran experiencia para ti practicar de una manera en la que no puedes fallar. 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.

    Personalmente, considero que la entrevista simulada es la forma más efectiva porque tendrás sentimientos totalmente diferentes al pensar y resolver problemas frente a una persona. Estarás nervioso y puedes fallar incluso ante la pregunta más simple. Sin embargo, si no tiene una buena base de estructura de datos básicos y algoritmo, vuelva al consejo # 1 .

    Aquí hay un plan de tres semanas que redacté cuando aparecía para mis entrevistas. Me ayudó a asegurar una oferta de Google. Espero que te sea útil también.

    Alguna información sobre mí, fui seleccionado para las entrevistas en el sitio de Google después de limpiar Google APAC durante mi último año de pregrado (septiembre de 2016). El tiempo entre la invitación en el sitio y la entrevista fue de alrededor de tres semanas . Esto fue seguido por tres semanas de esfuerzo concentrado para prepararme para el Día D.

    Antecedentes previos:

    • Cursos: tuve exposición previa a algoritmos a través de mis cursos universitarios
    • Programación competitiva: solía competir en concursos de programación competitiva hasta el final de mi segundo año (aunque estrictamente como un pasatiempo; me clasificaría como novato). Esto me ayudó a desarrollar un don para pensar rápidamente y codificar soluciones.
    • Proyectos: Tenía múltiples proyectos paralelos. Siempre he tratado de explorar y aprender sobre nuevos campos; principalmente trabajando en proyectos desafiantes. Si es necesario, puede consultar mi respuesta sobre posibles proyectos paralelos para crear un buen perfil para una empresa de tecnología.
    • Familiaridad con la codificación: acababa de participar en Google APAC y tenía un rango decente. También dada mi experiencia previa en codificación competitiva, logré codificar de manera bastante cómoda.

    Esta iba a ser mi primera (adecuada) entrevista en una empresa de tecnología, por lo que estaba nervioso debido a la falta de tiempo para la preparación. Converguí en el siguiente plan para las próximas tres semanas. Tenga en cuenta que este plan debe ser válido incluso cuando el plazo es mayor, es decir, meses.

    Semana uno:

    Esta semana se trata principalmente de comenzar sus preparativos y entrar en la rutina. Nos centramos principalmente en lo esencial en este momento.

    • Investigación del proceso de la entrevista: lea sobre las experiencias de entrevistas de otros candidatos y familiarícese con el proceso de la entrevista. Algunos recursos incluyen:
    • Sitio oficial de Google , Blogs
    • Libros de ayuda para entrevistas (p. Ej. Sección I-II de Cómo descifrar la entrevista de codificación ) (Elección personal)
    • Quora
  4. Revisar estructuras de datos y algoritmos: en mi caso, hojeé las diapositivas del curso de Algoritmos impartido en nuestra universidad. Me centré principalmente en lo siguiente,
    • Revise su conocimiento de las estructuras de datos . Presta especial atención a las pilas, colas, montones, mapas de hash y árboles .
    • Revise los paradigmas algorítmicos estándar ( algoritmos codiciosos, programación dinámica, dividir y conquistar, etc. ).
    • Resolver las tareas y cursos relacionados.

    Semana dos:

    Las cosas comienzan a ponerse serias a partir de esta semana. Por ahora, deberíamos haber terminado de construir nuestros cimientos.

    • Elección del lenguaje: elija el lenguaje de programación ( C ++ (Personal Choice), Python y Java son opciones populares entre los candidatos) que utilizará para codificar soluciones durante sus entrevistas. Repase los conceptos básicos del lenguaje y observe las interfaces / funciones de estructuras de datos comunes, como matrices, pilas, colas, montones y mapas de hash .
    • Codificación de pizarras blancas : practique la codificación en pizarras blancas (o Google Docs ) en el idioma elegido anteriormente.
    • Orientación de preguntas de la entrevista: Comience a resolver problemas en sitios que contengan bancos de preguntas de entrevistas. Recopilan problemas utilizando aportes de otros candidatos, lo que los convierte en un lugar muy popular para practicar problemas específicos de entrevistas. Ejemplos de tales recursos son,
    • InterviewBit (elección personal)
    • LeetCode
    • GeekForGeeks
    • Libros de práctica de la entrevista (por ejemplo, descifrar la entrevista de codificación ) (elección personal)

    Semana tres:

    Entramos en la última semana, que es principalmente para la consolidación de lo que hemos aprendido hasta ahora. Si es necesario, también puede extender la fase de práctica del problema parcialmente hasta esta semana (¡La práctica adicional nunca perjudica a nadie!).

    • Entrevistas de diseño del sistema: por ahora, deberíamos estar bastante cómodos con los problemas algorítmicos. Ahora nos centramos en otra clase de problemas: el diseño del sistema . Personalmente amo estos problemas, ya que creo que ayudan a hacer un mejor juicio del candidato. Como su nombre indica, estos problemas implican el diseño de sistemas. Hay muchos recursos a los que puede referirse,
    • Recursos gratuitos: HiredIn , Gainlo (elección personal)
    • Cursos pagos : Grokkin
    • Libros de práctica de la entrevista (por ejemplo, descifrar la entrevista de codificación ) (elección personal)
  5. Debo mencionar que no tuve una ronda de diseño de sistema en mi conjunto de entrevistas (Google me controló) pero me he enfrentado a esas preguntas durante las entrevistas para otras compañías (como Microsoft y Uber ) y han estado ganando terreno rápidamente.
  6. Practique la resolución de preguntas en voz alta: practique decir sus pensamientos mientras aborda los problemas, ya que esto es lo que debemos hacer durante las entrevistas. Convencer a un amigo para que revise tu desempeño (un trozo de chocolate debería ser suficiente).
  7. Entrevistas simuladas: No se puede enfatizar la importancia de una entrevista simulada antes de la realidad.
  8. Día antes de la entrevista:

    • Haga las maletas, suba a un vuelo y regístrese en su encantador hotel (todo patrocinado por Google).
    • Ya deberías haber hecho lo suficiente, solo relájate y deja que las cosas fluyan por su cuenta ahora.
    • Descansa y disfruta de algunas actividades que no te distraigan (salir a caminar, viajar por la nueva ciudad).
    • Finalmente, lo más importante de todo el viaje. ¡Disfruta del increíble buffet presente en el increíble hotel que Google ha reservado para ti! (Decisión personal)
    • Que duermas bien. ¡Todo lo mejor!

    Google parece pedirle a cada candidato que elija un idioma en el que sea bueno. Asegúrate de elegir uno que conozcas. Eso significa que si eliges Java, conocerás mejor los genéricos, los iteradores, la herencia, etc. Los entrevistadores se seleccionan según el idioma de elección.

    Tenía mi entrevista programada exactamente un mes después de que me informaron. Revisé mis diversos algoritmos. Usé el famoso libro CLRS. Conocer el algoritmo es una cosa, codificarlo es otra. Asegúrese de poder escribir un programa para cada algoritmo.
    Los entrevistadores esperan que usted codifique cada pregunta que le hagan y creo que este código también se envía cuando se evalúan sus entrevistas.

    Aparte de esto, creo que resolver algunos problemas en muchos de los sitios de entrevistas de codificación como top-coder y spoj, el proyecto euler podría perfeccionar sus habilidades de codificación.

    También a veces las soluciones más simples son el punto de partida. Me parece que para resolver muchos problemas, comenzar con un enfoque de fuerza bruta y mejorar implica un buen proceso de pensamiento que te ayuda a comprender muchas cosas.

    Hacer lo correcto parece ser algo que hay que hacer. Asegúrese de comprender todos sus conceptos desde cero, ya que los entrevistadores hacen algunas preguntas para ver si conoce sus conceptos básicos.

    Las entrevistas son un proceso muy divertido y pensar las cosas de diferentes maneras debería llevarlo a la solución.

    Le hice la pregunta a mi amigo Paul Carleton, ya que fue entrevistado con Google 3 veces (aunque ahora trabaja en Stripe). Una vez como pasante, una vez para un puesto de tiempo completo, y luego una tercera vez después de dejar Google y volver.

    Más recientemente, pasó un mes preparándose para sus diversas entrevistas (no solo Google) y se centró en prepararse para dos tipos de entrevistas:

    • el formato de pregunta whiteboard / algorítmico / teoría CS
    • la prueba práctica de habilidades donde lleva su computadora portátil a la oficina del empleador para trabajar en un problema de codificación

    Google se centra principalmente en lo primero.

    Paul mencionó los dos recursos más útiles que utilizó para prepararse para las preguntas de la pantalla del teléfono y la pizarra de Google:

    • entrevistando.io – entrevistas revisadas por pares a través de pantalla compartida
    • Pastel de entrevista: preguntas de la entrevista de programación

    Muchos formatos de entrevistas de ingeniería se centran en preguntas “progresivas”; esto significa que su entrevistador tendrá preguntas adicionales para usted dependiendo de qué tan rápido lo haga a través de sus primeras preguntas. Le preguntarán sobre una gran cantidad de detalles incidentales, “qué pasaría si”, para expresar su conocimiento profundo sobre el tema, no solo la amplitud.

    Practicar con otra persona es extremadamente útil para prepararlo para poder aplastar el aspecto profundo de las preguntas.

    Para obtener más información sobre las entrevistas con Google, consulte la entrevista completa de 44 minutos que realicé con él sobre su experiencia en la entrevista y su papel actual en Stripe:

    Preparación para entrevistas tecnológicas con Paul Carleton de Stripe

    Aquí está mi hoja de trucos de 15 días para descifrar la entrevista de Google
    En primer lugar, generalmente hay tres tipos de preguntas:
    1. Preguntas de diseño
    2. Preguntas de algoritmo
    3. Preguntas de codificación

    Necesita una buena comprensión de todas las estructuras de datos y algoritmos básicos. Esto no significa que tenga que leer Knuth o Cormen; cualquier libro básico servirá. Por lo general, ante cualquier pregunta de algoritmo en la entrevista, primero intente dividir y conquistar, seguido de Programación dinámica. Alguna idea sobre Trie, Suffix Tree y Bloom Filter puede ayudar (opcional).
    Para preguntas de diseño, practique el diseño de sistemas a su alrededor, como cómo diseñar un acortador de URL, cómo diseñar un índice de búsqueda, cómo diseñar un sistema de reserva ferroviaria de alta disponibilidad, etc. No es necesario encontrar la solución correcta, solo practique el enfoque.
    Resuelve las preguntas tanto como puedas de la copa de carrera.
    Esté preparado para escribir el código en la entrevista en su idioma favorito.
    Alguna idea sobre la ayuda de sistemas distribuidos: lea el blog de Werner Vogel. Y siempre haga preguntas: a veces debe hacer suposiciones para resolver un problema y el entrevistador espera que haga preguntas.

    Esto me ayudó a descifrar la entrevista de Google dos veces.

    Esta es casi la misma pregunta para la que escribí esta respuesta: la respuesta de Marc Donner a ¿Cómo debo prepararme para la entrevista telefónica con Apple para una pasantía de ingeniería de software la próxima semana?

    Con la excepción de que cambiamos Apple a Google y de una semana a un mes.

    La respuesta es la misma:

    La respuesta a esta pregunta tiene dos partes.

    Técnicamente, si no está preparado ahora, no hay nada sustancial que pueda hacer en un mes para cambiar eso. Se requieren años de capacitación y experiencia para prepararlo para ser un ingeniero de software competente y una semana más o menos no puede hacer una diferencia significativa.

    La preparación emocional es otra historia. La autoconfianza es realmente una clave para el desempeño de la entrevista. Eso no significa arrogancia, significa la capacidad de mantener la compostura en el momento. Evitar el estrés y el pánico es la clave aquí.

    Hay dos piezas en las que puede trabajar para la preparación emocional:

    1. Revise las habilidades y técnicas básicas de ingeniería de software. Las entrevistas generalmente tratan de demostrar tu dominio de los conocimientos básicos, así que tómate un tiempo y revisa algunos de tus libros de texto. No te vuelvas loco aquí, revisa la tabla de contenido y lee los títulos de las secciones reflexivamente. Quizás revise algunos de los materiales en los que podría estar oxidado: análisis de algoritmos, por ejemplo, estructuras de datos o diseño de OO. Cualquier cosa que te apetezca. El punto principal aquí es actualizar su memoria para todo el vocabulario y las técnicas divertidas que quizás no haya utilizado explícitamente en el último año o dos. Lea parte de su antiguo código, si está fácilmente disponible. Piense en algunos de sus proyectos pasados, los que amaba y los que odiaba. Piense en las razones del éxito y el fracaso y las lecciones que aprendió de los proyectos.
    2. Tu mente y tu cuerpo están conectados, en caso de que no lo hayas notado. Cuida tu cuerpo y esto ayudará a tu mente. Dormir lo suficiente. Coma y beba regularmente y con moderación … coma cosas que le gusten (“comida reconfortante”) pero no en exceso. No coma cosas que no estén de acuerdo con usted ni beba en exceso. Consiga un ritmo regular diariamente desde ahora hasta la entrevista. Realice largas caminatas u otro ejercicio moderado que se ajuste a su nivel actual de actividad física y actividad física.

    Relajarse. Lee un buen libro, si eso te ayuda. Ver una película. Escuchar música. Salir con familiares o amigos cómodos.

    Permítanme compartir cómo hice mis preparativos para la entrevista de Google y cuáles fueron los diferentes recursos que más me ayudaron. Hay toneladas de herramientas disponibles (sitios, campamentos de arranque, aplicaciones, etc.) y he probado algunas de ellas. La siguiente respuesta es un resumen de mi viaje para los preparativos de la entrevista de Google, indicando qué recursos y orientación resultaron ser de gran ayuda. Funcionó para mí, con suerte, también te ayudará. (Por favor, comparta si tiene algún comentario)

    Antes de entrevistarme en Google, hice mis preparativos durante 3 a 4 meses. Para mí, el mayor obstáculo fue la codificación de la pizarra. No me sentía cómodo con eso, ya que esto no es lo que normalmente haces en tu trabajo diario. El segundo problema fue que, dado que me entrevistaban en Google como candidato principal, necesitaba mostrar habilidades de diseño sólidas para cumplir con sus expectativas.

    Así que tengo dos sugerencias para cualquiera que esté planeando una entrevista en Google:

    • Siga practicando en la pizarra hasta que se sienta súper cómodo con la codificación, las estructuras de datos y los algoritmos.
    • 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.

    Por lo general, hay una pantalla de teléfono seguida de un bucle de entrevista completo en el sitio en Google (he visto a personas que renunciaron a la pantalla de su teléfono con una buena referencia interna). Hay tres partes en un ciclo de entrevistas de ingeniería de software en Google, trate de concentrarse en todas ellas para su preparación:

    1. 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.
    2. 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.
    3. 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ñando Dropbox
    • Diseño de sugerencia Typeahead
    • Diseño de noticias de Facebook
    • Diseñando Yelp
    • Diseñando Uber

    También puede ver algunos patrones comunes entre estas preguntas:

    1. Diseño de un servicio de almacenamiento / uso compartido: Dropbox, Youtube, Instagram, etc.
    2. Diseño de un servicio que se ocupa de datos geográficos: Uber, Yelp, Lyft, etc.
    3. Diseño de un servicio de redes sociales: Facebook, Twitter, Instagram, Snapchat, etc.
    4. Diseño de un servicio de comunicación: Messenger, servidor web de alto tráfico, etc.
    5. Diseño de un servicio relacionado con la búsqueda: motor de búsqueda, rastreador web, etc.

    Si observa de cerca, hay muchos requisitos de diseño comunes entre los diferentes servicios de una categoría, por lo tanto, compartirán los mismos objetivos de diseño, desafíos y dificultades.

    Espero que esto haya ayudado!

    En Google estás bajo mucha presión y estrés durante las entrevistas. En solo un mes, no mejorará mucho en CS de lo que es ahora, por lo que diría que se centre en su manejo del estrés, ya que el estrés es lo que le ha fallado a muchas personas súper inteligentes durante las entrevistas tecnológicas y mucho de las personas se olvidan de trabajar en esta habilidad por completo, lo cual es extraño, si piensan en cuántos de nosotros lo hacemos peor en las entrevistas de lo que podemos debido al estrés y la presión. Una forma de trabajar en el manejo del estrés durante las entrevistas es pedirle a un amigo o colega que sea bueno en CS y que haya realizado entrevistas que se siente con usted en una sala de conferencias con una pizarra, y le haga preguntas reales de las entrevistas de Google (muchas de ellos se pueden encontrar en la carrera de carrera y glassdoor y geeksforgeeks). Trata de resolver cada problema en media hora, allá arriba en la pizarra, solicitando sugerencias cuando estés atascado, hablando sobre la solución mientras la escribes en la pizarra. Solo inspeccione las soluciones en línea después de que termine la entrevista. Esto lo hará más acostumbrado al medio ambiente durante las entrevistas, y cuando las entrevistas en Google realmente sucedan, su mente estará más relajada y podrá pensar con claridad, y es menos probable que simplemente se “apague” debido a demasiado estrés. . ¡Buena suerte! (PD: ¡acabo de pasar por este proceso y recibí una oferta de Google!)

    Depende en gran medida de cuánto tiempo tenga durante este mes, pero supongamos que puede dedicar la mayor parte de su día.

    Para un puesto de ingeniero de software, puede esperar principalmente preguntas algorítmicas y de diseño del sistema. Por lo tanto, debe asegurarse de que puede resolver problemas algorítmicos básicos y codificar sus soluciones correctas rápidamente. También debe crear algunos antecedentes en el campo de los grandes sistemas distribuidos como los que Google crea y utiliza.

    Como puedes hacer eso?

    Para los algoritmos, hay un conjunto de temas básicos que debe saber absolutamente para estar preparado para lo que podría surgir en una entrevista. Debe poder evaluar la complejidad de tiempo y espacio de una solución y también saber cómo usar ciertos algoritmos y estructuras de datos.

    Aquí hay una lista de ejemplo: clasificación, búsqueda binaria, algoritmos de cadena, gráficos, programación dinámica, matrices, listas, pilas, montones, árboles binarios, algunas técnicas de manipulación de bits y matemática simple como GCD, números primos, geometría simple.

    Siempre he dicho que TopCoder es un gran lugar para aprender sobre estos y también practicar su uso en problemas algorítmicos reales. En HiredInTech hemos reunido una lista de temas algorítmicos importantes, que están cubiertos principalmente por los tutoriales y problemas de TopCoder: http://www.hiredintech.com/learn … (requiere registro gratuito).

    Por supuesto, hay muchos libros excelentes que pueden enseñarle algoritmos, pero dado su tiempo limitado pueden ser difíciles de cubrir. Uno de esos libros es, por supuesto, “Introducción a los algoritmos”.

    Tenga en cuenta que no basta con aprender los algoritmos o actualizar sus conocimientos. Necesita pasar la mayor parte de su tiempo resolviendo problemas reales. Yo diría que en TopCoder los problemas de la División 2 son muy adecuados. También se pueden hacer los problemas más fáciles (250 punteros) de Div 1.

    Hay algunos otros sistemas de jueces en línea. Algunos de ellos se enumeran en los enlaces que he dado anteriormente. Más se discuten en este hilo de Quora: ¿Dónde puedo encontrar problemas difíciles de algoritmo / estructura de datos?

    Si puede, pase la mayor parte de sus días golpeando los problemas de su juez en línea favorito. Ejecute sus soluciones contra las pruebas y vea cómo funciona. En TopCoder hay soluciones para todos los problemas, por lo que esto también es muy útil.

    Recuerde que en las entrevistas en el sitio codificará en una pizarra , así que asegúrese de practicar haciendo eso. Es muy diferente de usar un IDE.

    Con respecto a las preguntas de diseño del sistema , debe dedicar un tiempo a ellas según cuál sea su experiencia actual. Definitivamente familiarícese con algunas preguntas de ejemplo que se pueden encontrar en línea. Estas preguntas generalmente no son tan complicadas en términos de sus declaraciones, pero le permiten tener una discusión muy amplia y están destinadas a evaluar su capacidad para ver el panorama general y diseñar sistemas en el nivel superior.

    Practicar esto incluiría pensar en cómo resolver cada uno de ellos. Si puede discutir sus soluciones con otro profesional, sería muy útil. Aprenda a hacer todas las preguntas aclaratorias necesarias, ya que esto es algo muy importante. Aprende a no asumir nada. En mi opinión, hay menos, si no hay codificación, mientras se prepara para las preguntas de diseño del sistema.

    Finalmente, dedique un poco de tiempo asegurándose de poder hablar sobre su currículum y las preguntas no técnicas relacionadas con usted.

    En las últimas 1-2 semanas, si es posible, pídale a un amigo suyo que realice una entrevista simulada con usted . De esta manera, aprenderá a mantener el ritmo en una entrevista real y le mostrará dónde se encuentra. En las entrevistas reales es muy importante estar bien preparado para resolver problemas, pero también debe tener una estrategia sobre cómo actuar. Esto viene con entrevistas simuladas.

    Finalmente, si puede hacer al menos 1-2 entrevistas con otras compañías, solo para ganar algo de experiencia, esto también sería útil.

    Lo mejor que puede hacer si tiene un mes es practicar las preguntas de entrevistas anteriores que le hizo Google.

    Actualmente estoy usando InterviewBit.

    El sitio está muy bien hecho, en mi opinión, es mucho mejor que CareerCup y GeeksForGeeks. Tiene un plan de estudios estructurado con video conferencias y tareas para cada tema. También está gamificado, lo que lo hace divertido y te mantiene motivado para resolver más.
    Puede establecer su objetivo de práctica diaria para que coincida con su tiempo restante.
    Para completarlo en un mes, debe establecer su objetivo en “Insane”

    Esperemos que esto sea de alguna ayuda:

    Según mi investigación, este es el tipo de cosas que cabe esperar:

    En general:

    • Entrevista telefónica en la que me hicieron preguntas básicas sobre mi experiencia y objetivos anteriores
    • Una entrevista de codificación telefónica relativamente fácil se compara con:
    • Cinco entrevistas en el sitio
    • Cuatro de estas entrevistas fueron de resolución de problemas y codificación.
    • Uno estaba basado en el diseño del sistema.

    Preguntas de ejemplo:

    • ¿Cuál fue el error más difícil de resolver en un proyecto en el que has trabajado?
    • Cuéntame sobre un proyecto, estructura de datos
    • Alguna optimización, basada en geometría analítica
    • Suponga que tiene un conjunto ordenado de enteros (positivo o negativo). Desea aplicar una función de la forma f (x) = a * x ^ 2 + b * x + c a cada elemento x de la matriz de modo que la matriz resultante todavía esté ordenada. Implemente esto en Java o C ++. Las entradas son la matriz ordenada inicial y los parámetros de función (a, byc).
    • ¿Qué tipo de software le interesa desarrollar?
    • En general preguntas algorítmicas
    • Anote (un documento de Google está abierto) un algoritmo de búsqueda que suponga un escenario en el que pasan los automóviles y queremos verificar las licencias no necesariamente siguiendo el orden de los caracteres en la placa
    • Dado un conjunto de reuniones, encuentre la cantidad de tiempo que alguien pasa en una reunión que entra en conflicto con otros.
    • Use el código para generar un laberinto y cómo asegurarse de que el laberinto generado tenga solución.
    • Compruebe si un rompecabezas de Sudoku es válido y un problema de gráficos por computadora

    Proceso de retroalimentación:

    1. El proceso tomó más de 2 meses. Entrevisté en (Londres, Inglaterra) en marzo de 2015.
    2. Solicité en línea. El proceso tomó más de 2 semanas. Entrevisté en (Cambridge, Este de Inglaterra, Inglaterra) en febrero de 2015
    3. Solicité en línea. El proceso tomó más de 2 meses. Entrevisté en Google

    Cómo prepararse más allá de esto:

    La respuesta de Ridhish Guhan a ¿Cómo debo prepararme para mi entrevista en Google si me queda 1 mes? su respuesta es excelente!

    Haz de la pizarra tu amigo. Practique resolviendo preguntas en la pizarra. La otra cosa que ayuda es un compañero de preparación para la entrevista y puede dividir preguntas / temas.

    He dado este resumen de recursos en varios otros hilos. Estoy copiando pegarlo aquí:

    Libros:
    – Manual de diseño de algoritmos: es un libro difícil de seguir pero el contenido es realmente bueno. Si usted es alguien como yo a quien le resulta difícil leer libros con mucha teoría, le recomiendo comenzar con preguntas de la entrevista y resolver un par todos los días. Lea selectivamente los conceptos según sea necesario para cada pregunta que esté resolviendo. También otra cosa que ayuda a lo grande es tener un compañero de preparación para la entrevista. Divida las preguntas y discuta las soluciones diariamente / dos veces por semana. También hagan un poco de pizarra juntos sobre las preguntas que discutan.

    – Cómo descifrar la entrevista de codificación: tiene un buen conjunto de problemas, pero no espero que se haga ninguna de estas preguntas exactas ya que este libro ha existido por un tiempo y es probablemente el recurso más conocido para la preparación.

    – Cómo pensar en algoritmos y entrevistas de programación expuestas son buenos libros también.

    Sitios web:

    Coderust 2.0: preparación de entrevistas de codificación más rápida utilizando visualizaciones : buen conjunto de preguntas de entrevistas más recientes con explicaciones y soluciones de calidad. Recomiendo resolver estas preguntas usted mismo y luego comparar las respuestas.

    LeetCode Online Judge : excelente plataforma de jueces en línea para preparar problemas difíciles de entrevistas.

    – GeeksforGeeks: Verifique los problemas resueltos en el sitio. También tienen muy buenas explicaciones de soluciones optimizadas que han sido verificadas por una audiencia bastante grande.

    – Careercup: buenas colecciones de preguntas. Tenga en cuenta que son solo preguntas: no confiaré en las respuestas en el sitio de la carrera, ya que he visto muchas respuestas vagas / incompletas.

    Recientemente hice una publicación en el blog sobre las expectativas de una entrevista de alto nivel de IC: he estado en mi trabajo actual por un tiempo y quiero mudarme. ¿Qué debo esperar en mis entrevistas? por Soban Hameed

    También aquí hay algunos consejos sobre pizarra del blog de coderust:
    Pizarrón efectivo durante las entrevistas de programación

    En mi opinión, la mejor manera de hacerlo bien en una entrevista de codificación es haber realizado muchas entrevistas de codificación en los últimos días antes de la que desea realizar bien. Me di cuenta de que en el transcurso de mi búsqueda de trabajo a tiempo completo, en general (con alguna variación) obtuve mejores resultados ya que tenía más entrevistas en mi haber. En sus primeras entrevistas, es probable que esté nervioso, no sepa cómo usar la pizarra, tenga miedo de hacer preguntas y no hablar sobre soluciones. Cuando llegas a tu sexto o séptimo lugar en un mes determinado, te sientes completamente relajado.

    En resumen, realice muchas entrevistas de programación (idealmente en otras grandes empresas tecnológicas).

    La preparación de la entrevista de codificación es fácil

    Puede probar InterviewBit, un nuevo sitio de preparación de entrevistas para personas mayores de IIIT-H y ex empleado de Facebook. Este sitio tiene todos los problemas y conceptos en un formato y estructura adecuados que le brindarán una experiencia de entrevista, como dar pistas y el enfoque de la solución.
    Lo he intentado y realmente me gusta la forma en que se han ocupado incluso de los detalles más minuciosos. ¡Darle una oportunidad! Definitivamente debería ayudarte a largo plazo.
    Y también, si lo haces bien, te referirán a las mejores compañías para entrevistas.

    Puede consultar el fundador de InterviewBit, la respuesta de Anshuman Singh aquí en el enlace que figura a continuación:
    ¿Cómo puedo conseguir un trabajo en Facebook o Google en 6 meses? Necesito un plan de trabajo conciso para construir un conjunto de habilidades lo suficientemente bueno. ¿Debo unirme a alguna otra startup o construir mis propios proyectos / start-ups? ¿Debería centrarme en practicar estructuras de datos y algoritmos?

    ¡Salud!

    Hace poco respondí una pregunta similar: la respuesta de Prasoon Goyal a ¿Cómo puedo aumentar mis habilidades de codificación en 3 a 5 meses? Aquí está la respuesta adaptada para el período de tiempo más corto:

    Por lo general, se lo entrevistaría sobre algoritmos / estructuras de datos (y habilidades analíticas), programación y diseño de sistemas. Aquí hay una descripción general de cómo puede mejorar estas habilidades:

    • Paso 1: Algoritmos : Obtenga este libro – Diseño de algoritmo: Kleinberg / Tardos. Por alguna razón, este libro no es tan popular como los otros libros de algoritmos, pero está muy bien organizado. El conjunto completo de algoritmos se divide claramente en unos pocos capítulos: teoría de gráficos, algoritmos codiciosos, dividir y conquistar, programación dinámica , flujo de red y algunos otros temas diversos en algoritmos. Debe tener una buena comprensión de cada uno de los temas anteriores en negrita: estudie el capítulo en unos días y resuelva los 50 problemas al final. Debido a que solo hay un número manejable de problemas en cada capítulo, puede resolver la mayoría de los problemas en un tiempo razonable. Dependiendo de la disponibilidad de tiempo, es posible que desee resolver solo una fracción de los problemas, solo o con poca ayuda.
    • Paso 2: estructuras de datos y programación : para este paso, elija un idioma cuando comience y practique el uso de ese idioma solamente. Creo que Java es el mejor en lo que respecta a las entrevistas: orientado a objetos que ayuda a escribir código modular más fácilmente, tiene verificación de tipo, facilita el razonamiento sobre la corrección del código (a diferencia de Python) y tiene buenas bibliotecas para estructuras de datos y para manejo de cadenas (a diferencia de C ++). Encontré Cracking the Coding Interview bastante bueno. Una vez más, hay capítulos sobre cada tema importante (aunque más detallado que el libro anterior). Para cada capítulo, hay un conjunto de aproximadamente 10 problemas. Por lo general, omito los más fáciles y solo elijo los 1 o 2 problemas más desafiantes del conjunto. Dependiendo de su nivel, es posible que desee hacer lo mismo o probar todos los problemas. Para cada problema que resuelva, escriba el código desde cero sin un IDE . Y luego escribe casos de prueba. (De hecho, deje de usar IDE en la medida de lo posible en su trabajo diario. Esa será una buena práctica para aprender el idioma en el que está trabajando). Al momento de escribir el código, piense en la legibilidad, modularidad y eficiencia de su código. Finalmente, lea las soluciones proporcionadas.
    • Paso 3: Diseño del sistema : una vez más, descifrar la entrevista de codificación tiene algunos buenos problemas en esta área. Practicalos.
    • Paso 4: Preguntas de la entrevista : en esta etapa, querrá consultar los recursos en línea, como GeeksforGeeks y CareerCup.

    Luego, en función de su autoanálisis, es posible que desee volver a uno o más de estos pasos y continuar trabajando en habilidades particulares.

    Con un mes en la mano, puede prepararse exhaustivamente para su entrevista en Google. ¡El trabajo duro y el trabajo inteligente son la clave!

    • Conozca la estructura de las entrevistas:
    1. Primero – 2 entrevistas telefónicas
    2. Luego, 4 o 5 entrevistas en el sitio (un poco más complejo que las entrevistas telefónicas)
    3. Una de las entrevistas en el lugar será una entrevista para el almuerzo. Aparte de esta, las otras entrevistas son técnicas. Se le hará una combinación de preguntas de codificación y algoritmos.
    • Cómo preparar. 0. Haz tu tarea
    1. Haz tu tarea. Trate las entrevistas como clases: estudie el material de los libros y practique problemas antes de la prueba, también conocida como la entrevista.
    2. Prepárese con las preguntas de la entrevista real que le hayan hecho los candidatos. Prepare un banco de preguntas que contenga las preguntas realizadas anteriormente. Puede usar los datos en sitios web como Glassdoor y AmbitionBox.
    3. Practique escribiendo código en papel (NO en una computadora). Pruebe su código a mano y solo una vez que haya hecho todo lo posible para perfeccionar su código, luego escríbalo en un compilador y vea cómo lo hizo.
    4. Es importante entrar en la zona para una entrevista. No desea dejar en blanco y no quiere quedarse sin nada que decir porque no tiene idea de cómo comenzar. Tener una estructura en la cabeza para la entrevista lo coloca en la mentalidad de resolución de problemas y también le permite comunicarse claramente con el entrevistador.
    5. Las preguntas de comportamiento generalmente se dividen en varias categorías: liderazgo, trabajo en equipo, desafíos y éxitos. Debe identificar ejemplos con cada categoría. Muchos entrevistadores hacen preguntas comunes de comportamiento, como “Cuéntame sobre un momento en que estabas en un equipo y algo salió mal”. Puede anticipar preguntas como estas y estar preparado de antemano en lugar de encontrarse en una posición lamentable durante la entrevista.
    6. ¡Tenga preguntas para hacer preparadas! Al final de cada sesión de entrevista, su entrevistador generalmente dejará un par de minutos para sus preguntas. Use este tiempo para hacer preguntas significativas. No tener preguntas no es una buena señal, así que asegúrese de estar cubierto.

    También puede ayudar a otros candidatos a descifrar su entrevista y conseguir un trabajo, enviando su experiencia de entrevista en esta página: Comparta preguntas y consejos sobre la entrevista | AmbitionBox

    Si es un profesional experimentado, no dude en enviar su opinión de la compañía en esta página: Escriba una opinión de la compañía | AmbitionBox

    Para acceder a recursos gratuitos de preparación para entrevistas, visite el blog de Ambitionbox: una solución integral para todas sus necesidades relacionadas con la preparación de entrevistas de trabajo.

    Comparta su historia de entrevista aquí: https://ambitionbox.com/contribute?review_name=InterviewAdvice&utm_source=Ambitionbox&utm_medium=QuoraFBInTw&utm_campaign=SocialMedia

    Escriba reseñas de empresas aquí: https://ambitionbox.com/contribute/company-review?utm_source=Ambitionbox&utm_medium=QuoraFBInTw&utm_campaign=SocialMedia

    Lea las reseñas de la empresa aquí | Lea las preguntas y consejos de la entrevista aquí | Explore empresas aquí | Pruebe esta calculadora de salario gratis | Leer entrevistas aconsejar blogs aquí | Prepárate con estas pruebas de práctica

    Gracias por A2A, Manish Maheshwari.

    Algunas muy buenas respuestas aquí ya. Solo algunas cosas para agregar:

    Un mes es poco tiempo y mucho tiempo. En pocas palabras, porque Google a menudo espera que conozcas el mundo. Largo, porque es tiempo suficiente para mantener la capacidad de atención para prepararse.

    Comenzaría por crear una lista de temas que requieren que sepas. Google no es tímido al hacerle saber lo que esperan. Si aún no le han enviado la lista de temas, siempre puede preguntarle al reclutador.

    Asegúrese de practicar las tres cosas que son importantes en una entrevista:

    1. Resolución de problemas
    2. Escribir código fluido para el problema que acaba de resolver
    3. Aspectos conductuales.

    Para saber que realmente está progresando, simule entrevistas con amigos. Es aún mejor si ya trabajan en Google 🙂