Saltar al contenido

Hoja SDE de Google: una guía para la preparación de entrevistas de Google

Google SDE Sheet 1 Hoja SDE de Google: una guía para la preparación de entrevistas de Google

Google es una empresa de tecnología multinacional estadounidense que se especializa en tecnología de motores de búsqueda, publicidad en línea, computación en la nube, software, computación cuántica, comercio electrónico e inteligencia artificial. Es un sueño de muchas personas trabajar para Google.

Hoja SDE de Google

Para las principales empresas como Google, necesita conceptos sólidos de estructura de datos, buenas habilidades de comunicación y una mente analítica. Los pasos a seguir para tener una oportunidad en Google son:

  • aplicación en línea
  • Reseñas en línea: Después de que Google haya aprobado su solicitud (CV/Carta de presentación), debe realizar una evaluación en línea. Aquí hay una descripción general de la revisión en línea:
    Número de preguntas: 2 preguntas
    Tiempo permitido: 90 minutos
    Temas: preguntas típicas sobre algoritmos/estructura de datos
  • Pantalla técnica del teléfono: (30-60 minutos) El proceso de entrevistas de Google comienza con una entrevista telefónica técnica para ingenieros de software experimentados. Durante esta fase, los líderes tecnológicos realizan entrevistas a través de Google Meet o Hangouts.
  • A la vista: La última parada es en el sitio. En promedio, se deben completar de 4 a 6 rondas en un día. Cada ronda dura aproximadamente 45 minutos e incluye preguntas sobre el diseño y el código del sistema. Los entrevistados notan que hay más en la codificación que el diseño del sistema y las expectativas cambian según su nivel de habilidad.
  • Habilidades de comportamiento (googleness): Como parte del proceso de contratación, Google quiere determinar si un empleado potencial tiene «Googleyness», un valor que la empresa usa para describir a aquellos que son culturalmente apropiados.

Hoja de ruta de SDE de Google

¿Por qué esta hoja?

Las entrevistas de codificación de Google pueden ser un hueso duro de roer. Las preguntas en las entrevistas de Google cubren una amplia gama de temas y son difíciles y específicas de Google. Esta hoja es como una mano amiga para aquellos que se preparan para un trabajo en Google. Cubre todas las preguntas técnicas importantes y populares formuladas en las entrevistas de Google hasta el momento. Las preguntas de esta hoja están agrupadas por tema y cubren todos los principales temas de DSA de interés en las entrevistas de Google.

Conceptos de informática: Google se centra en los siguientes temas informáticos en sus entrevistas:

Estructura de datos y algoritmos.

Matriz: una matriz es una colección de elementos almacenados en ubicaciones de memoria adyacentes. La idea es almacenar varios artículos del mismo tipo juntos.

cuerda: Las cadenas se definen como una secuencia de caracteres. La diferencia entre una cadena y una cadena es que la cadena termina con un carácter especial ‘’.

Lista enlazada: Una lista enlazada es una estructura de datos lineal, donde los elementos no se almacenan en ubicaciones de memoria contiguas.

Apilamiento y cola:

  • Montón: Una pila es una estructura de datos lineal en la que los elementos se pueden insertar y eliminar de un solo lado de la lista, llamado la parte superior. Una pila sigue el principio LIFO (último en entrar, primero en salir).
  • Cola: Una cola es una estructura de datos lineal en la que los elementos solo se pueden insertar desde un lado de la lista llamado back, y los elementos solo se pueden eliminar del otro lado llamado front. La estructura de datos de la cola sigue el principio FIFO (primero en entrar, primero en salir).

Buscar: Los algoritmos de búsqueda están diseñados para buscar un elemento o para recuperar un elemento de una estructura de datos en la que está almacenado.

Para ordenar: Se utiliza un algoritmo de clasificación para reorganizar una matriz o lista de elementos dada de acuerdo con un operador de comparación en los elementos. El operador de comparación se utiliza para determinar el nuevo orden de los elementos en la estructura de datos respectiva.

Hachís y esperanza:

  • picadillo: Hashing es una técnica o proceso de asignación de claves y valores a la tabla hash mediante una función hash. Se hace para un acceso más rápido a los elementos. La eficiencia del mapeo depende de la eficiencia de la función hash utilizada
  • Montón: Un montón es una estructura de datos especial basada en un árbol en la que el árbol es un árbol binario completo. Heap and hash es una implementación eficiente de una cola de prioridad. La función hash lineal asigna monótonamente claves a los cubos, y cada cubo es un montón.

árboles: Un árbol es una estructura de datos no lineal y jerárquica que consta de una colección de nodos de modo que cada nodo del árbol almacena un valor, una lista de referencias a los nodos (los «hijos»). :

Gráfico: Un gráfico es una estructura de datos no lineal formada por nodos y aristas. Los nodos a veces se denominan vértices y los bordes son líneas o arcos que conectan dos nodos en el gráfico.

Programación dinámica: La programación dinámica es principalmente una optimización de la recursividad ordinaria. Dondequiera que veamos una solución recursiva que tiene llamadas repetidas para la misma entrada, podemos optimizarla usando Programación Dinámica.

Proyectos

Revisa minuciosamente todo el trabajo que has hecho en tus proyectos hasta el momento. Las preguntas a la parrilla sobre proyectos a veces pueden ser muy profundas. Además, elige tus palabras antes de hablar. Menciona solo aquellos temas que creas que son buenos para ser encendidos en la parrilla. Si aún no ha creado un proyecto, tome una idea de GFG Projects y comience.

Diseño de sistemas

El diseño del sistema es el proceso de diseñar la arquitectura, los componentes y las interfaces de un sistema para cumplir con los requisitos del usuario final. ¡El diseño del sistema para entrevistas técnicas es algo que no se puede ignorar!

Casi todos los gigantes de TI, ya sea Facebook, Amazon, Google o cualquier otro, hacen diferentes preguntas durante la entrevista basadas en conceptos de diseño de sistemas como escalabilidad, equilibrio de carga, almacenamiento en caché, etc.

Este tutorial de diseño de sistemas especialmente diseñado y Curso de Diseño de Sistemas lo ayudará a aprender y dominar los conceptos de diseño de sistemas desde el nivel básico hasta el avanzado de la manera más eficiente.

Habilidades de comportamiento

Muchas personas tienen mucho miedo de las preguntas de la entrevista de comportamiento en las entrevistas técnicas porque parecen ser algo en lo que la mayoría de los programadores no son buenos. ¿Es consciente de que menos del 10 % de los candidatos aprueban sus entrevistas presenciales, según se informa en Silicon Valley? Recuerda que los que fallaron ya pasaron la pantalla del teléfono.