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

La hoja de Amazon SDE es la recopilación de los temas más importantes o la pregunta más frecuente en las entrevistas de ingenieros de desarrollo de software de Amazon.

Hoja SDE de Amazon

Amazon es una empresa tecnológica multinacional estadounidense que se centra en el comercio electrónico, la computación en la nube, la transmisión digital y la inteligencia artificial. Ser empleado de Amazon es un sueño para muchos. Uno debe tener conceptos claros de estructura de datos, buenas habilidades de comunicación y pensamiento analítico, y debe ser capaz de resolver problemas del mundo real para romper con las principales empresas como Amazon. Los pasos a seguir para tener una oportunidad en amazon son:

  • Aplicaciones en linea
  • Prueba en línea: (60 minutos) 2 preguntas de codificación de nivel de dificultad medio. La prueba en línea de Amazon (20 preguntas) se basa en OOP, DBMS, sistemas operativos, estructuras de datos y algoritmos.
  • Entrevista técnica 1: Discusiones del proyecto, preguntas de codificación basadas en algoritmos DS y cuestionarios. Básicamente pone a prueba las habilidades de resolución de problemas del mundo real.
  • Entrevista técnica 2: Preguntas de nivel de dificultad relativamente más alto (principalmente basadas en DS y algoritmos)
  • Ronda para subir el listón: preguntas de comportamiento y debates sobre proyectos. Algunas preguntas técnicas van seguidas de una evaluación de la calidad del liderazgo y la adecuación cultural.

Hoja de ruta hacia Amazon SDE

Para conseguir un trabajo en Amazon, debe tener conceptos claros de DSA y buenas prácticas de preguntas sobre clasificación, array, string, lista enlazada, búsqueda, clasificación, pila, cola, árbol, recursividad de gráficos, seguimiento, programación dinámica, etc. Aquí, a través de esta hoja de Amazon SDE, proporcionamos la mayoría de las preguntas de codificación que aparecen con frecuencia en las entrevistas de Amazon en cuanto al tema. Esta colección de preguntas de la entrevista lo ayudará a prepararse mejor para su entrevista.

Aspectos básicos de la informática: hay tres materias informáticas enfocadas, sobre la base de esas materias, los MCQ estarán allí, hemos diseñado los mejores MCQ para eso, para que pueda probar fácilmente su conocimiento sobre esos temas.

Preguntas basadas en el idioma: se les pueden hacer preguntas basadas en el idioma para verificar su comprensión del idioma que usó para la ronda de codificación.

Estructura de datos y algoritmos

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

Pregunta

Práctica

Subarreglo contiguo de suma más grande

Resolver

Buscar en una array ordenada por filas y columnas

Resolver

Imprimir una array dada en forma de espiral

Resolver

Programa para rotación de arreglos

Resolver

Atrapando agua de lluvia

Resolver

Contar pares con suma dada

Resolver

Encuentre el subarreglo con el promedio mínimo

Resolver

Convierta la array en forma de Zig-Zag

Resolver

Encuentra duplicados en una array

Resolver

Encuentre un triplete que sume un valor dado

Resolver

String : las strings se definen como una array de caracteres. La diferencia entre una array de caracteres y una string es que la string termina con un carácter especial ‘\0’.

Pregunta

Práctica

Validar una dirección IP

Resolver

Multiplicar strings

Resolver

Implementar Atoi

Resolver

Compruebe si la cuerda gira dos lugares

Resolver

Permutaciones de una string dada

Resolver

Subsecuencia de repetición más larga

Resolver

Número romano a entero

Resolver

Longitud de la substring más larga

Resolver

Formación de strings a partir de substrings

Resolver

Comprobar si dos strings son un anagrama entre sí

Resolver

Secuencia de mirar y decir

Resolver

Eliminar el número mínimo de caracteres para que dos strings se conviertan en anagrama

Resolver

Encuentre la ventana más pequeña en una string que contenga todos los caracteres de otra string

Resolver

Longitud de la substring más larga sin caracteres repetidos

Resolver

Lista vinculada: la lista vinculada es la estructura de datos que puede superar todas las limitaciones de una array. Una lista vinculada es una estructura de datos lineal, en la que los elementos no se almacenan en ubicaciones de memoria contiguas, sino que asigna memoria dinámicamente.

Pregunta

Práctica

Invertir una lista enlazada

Resolver

Separe los Nodes pares e impares en una lista enlazada

Resolver

Detectar bucle en una lista enlazada

Resolver

Eliminar todas las apariciones de una clave determinada en una lista vinculada

Resolver

Eliminar bucle en lista enlazada

Resolver

Enésimo Node desde el final de la lista enlazada

Resolver

Fusionar K listas enlazadas ordenadas

Resolver

Aplanar un árbol binario en una lista enlazada

Resolver

Agregar dos números representados por listas enlazadas

Resolver

Función para verificar si una lista enlazada individualmente es palíndromo

Resolver

Clonar una lista enlazada con el puntero siguiente y aleatorio

Resolver

Eliminar sin puntero principal

Resolver

Dada una lista enlazada de 0s, 1s y 2s, ordenarla

Resolver

Intersección de dos listas enlazadas

Resolver

Búsqueda : los algoritmos de búsqueda están diseñados para verificar un elemento o recuperar un elemento de cualquier estructura de datos donde esté almacenado.

Pregunta

Práctica

Buscar un elemento en una array ordenada y rotada

Resolver

Raíz cuadrada de un número entero

Resolver

Primera y última aparición de x

Resolver

Encuentra un elemento pico

Resolver

Encuentre el número positivo más pequeño que falta en una array desordenada

Resolver

Asignar un número mínimo de páginas

Resolver

Contar elementos en dos arreglos

Resolver

Mediana de dos arreglos ordenados de diferentes tamaños

Resolver

Clasificación : se utiliza un algoritmo de clasificación para reorganizar una array o lista de elementos dada de acuerdo con un operador de comparación en los elementos. El operador de comparación se utiliza para decidir el nuevo orden de los elementos en la estructura de datos respectiva.

Pregunta

Práctica

k elementos más grandes (o más pequeños) en una array

Resolver

Ordenar una array de 0, 1 y 2

Resolver

Contar inversiones en una array

Resolver

Combinar sin espacio extra

Resolver

Plataformas Mínimas

Resolver

Ordenación rápida

Resolver

Ordenar montón

Resolver

Fusionar k arrays ordenadas

Resolver

Intervalos superpuestos

Resolver

Pila : una pila es una estructura de datos lineal en la que los elementos se pueden insertar y eliminar solo de un lado de la lista, llamado la parte superior. Una pila sigue el principio LIFO (último en entrar, primero en salir).

Pregunta

Práctica

Verifique los paréntesis equilibrados en una expresión (bien formada) usando Stack

Resolver

Ordenar una pila usando recursividad

Resolver

El problema de la celebridad

Resolver

Elemento mayor siguiente

Resolver

Cola usando dos pilas

Resolver

Cola : una cola es una estructura de datos lineal en la que los elementos se pueden insertar solo desde un lado de la lista llamado posterior, y los elementos se pueden eliminar solo desde el otro lado llamado frente. La estructura de datos de la cola sigue el principio FIFO (primero en entrar, primero en salir).

Pregunta

Práctica

Apilar usando dos colas

Resolver

Conecte n cuerdas con un costo mínimo

Resolver

Tiempo mínimo necesario para pudrir todas las naranjas

Resolver

Primer entero negativo en cada ventana de tamaño k

Resolver

Invertir una cola

Resolver

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

Pregunta

Práctica

Recorrido en orden

Resolver

Recorrido de pedido anticipado

Resolver

K-ésimo elemento más grande en BST

Resolver

Vista izquierda del árbol binario

Resolver

Vista derecha del árbol binario

Resolver

Comprobar BST

Resolver

Diámetro de un árbol binario

Resolver

Recorrido de la frontera del árbol binario

Resolver

Altura del árbol binario

Resolver

Ancestro común más bajo en un árbol binario

Resolver

Árbol binario a DLL

Resolver

Suma de ruta de raíz a hoja

Resolver

Recorrido de orden de nivel inverso

Resolver

Construir árbol desde Inorder y Preorder

Resolver

Recorrido del árbol en zigzag

Resolver

K-ésimo elemento más grande en BST

Resolver

Serializar y deserializar un árbol binario

Resolver

Gráfico : un gráfico es una estructura de datos no lineal que consta de Nodes y bordes. Los Nodes a veces también se conocen como vértices y los bordes son líneas o arcos que conectan dos Nodes en el gráfico.

Pregunta Práctica
BFS de gráfico Resolver
DFS de gráfico Resolver
Encuentra el número de islas Resolver
clasificación topológica Resolver
Pasos por caballero Resolver
Componentes fuertemente conectados (Algo de Kosaraju) Resolver
Diccionario alienígena Resolver
Algoritmo de Dijkstra Resolver
Detectar ciclo en un gráfico dirigido Resolver
Detectar ciclo en un gráfico no dirigido Resolver

Trie : Trie es una estructura de datos de recuperación de información eficiente. Con Trie, las complejidades de búsqueda se pueden llevar al límite óptimo (longitud de clave).

Pregunta Práctica
Intenta insertar y buscar Resolver
Trie Eliminar Resolver
Imprimir filas únicas en una array binaria dada Resolver
Contar el número de palabras en un Trie Resolver
Prefijo común más largo usando Trie Resolver
Par mínimo de valores XOR Resolver
Par de palíndromos en una array de palabras (o strings) Resolver

Montón y hash : 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 de forma monótona claves a cubos, y cada cubo es un montón.

Pregunta

Práctica

Costo mínimo de cuerdas

Resolver

k elementos más grandes

Resolver

K-ésimo elemento en Matrix

Resolver

Encuentra la mediana en una corriente

Resolver

K-ésimo elemento más grande en una corriente

Resolver

Reorganizar personajes

Resolver

casi ordenado

Resolver

Problema de tuercas y tornillos

Resolver

Compruebe si dos strings son k-anagramas o no.

Resolver

Ordenar una array de acuerdo con la otra

Resolver

El intercambio de pares hace que la suma sea igual

Resolver

Ventana distinta más pequeña

Resolver

Encuentra el primer carácter repetido

Resolver

Recursión y retroceso:

  • Recursión : El proceso en el que una función se llama a sí misma directa o indirectamente se llama recursión y la función correspondiente se llama función recursiva.
  • Backtracking : Backtracking es una técnica algorítmica para resolver problemas de forma recursiva al tratar de construir una solución de forma incremental, una pieza a la vez, eliminando aquellas soluciones que no satisfacen las restricciones del problema en cualquier punto en el tiempo (por tiempo, aquí, se refiere al tiempo transcurrido hasta llegar a cualquier nivel del árbol de búsqueda).
Pregunta

Práctica

Escriba un programa para imprimir todas las permutaciones de una string dada

Resolver

Problema de la rata en un laberinto – I

Resolver

problema de Josefo

Resolver

Suma de combinación

Resolver

Partición Igual Subconjunto Suma

Resolver

Problema de N-Queen

Resolver

barajar enteros

Resolver

camino hamiltoniano

Resolver

Encuentra la string en la cuadrícula

Resolver

Triángulo pascual

Resolver

Resuelve el Sudoku

Resolver

Mayor número en K swaps

Resolver

Programación dinámica : la programación dinámica es principalmente una optimización sobre recursividad simple. Dondequiera que veamos una solución recursiva que tiene llamadas repetidas para las mismas entradas, podemos optimizarla usando Programación Dinámica.

Pregunta

Práctica

0 – 1 Problema de mochila

Resolver

Partición Igual Subconjunto Suma

Resolver

Cambio de moneda

Resolver

Subsecuencia común más larga

Resolver

Compra y venta de acciones

Resolver

Cuerdas intercaladas

Resolver

Editar distancia

Resolver

Ladrón riguroso

Resolver

Substring común más larga

Resolver

Número de monedas

Resolver

Rompecabezas de caída de huevos

Resolver

Salto de palabra

Resolver

Coincidencia de patrones comodín

Resolver

Total de mensajes de decodificación

Resolver

Juego de salto

Resolver

Teclado especial

Resolver

Subsecuencia palindrómica más larga

Resolver

Después de calificar la prueba en línea, debe enfrentar 2 entrevistas técnicas, donde le preguntaron sobre la estructura de datos, el algoritmo y los diferentes tipos de rompecabezas. Las rondas técnicas son rondas algorítmicas cara a cara en las que a los candidatos se les presentan de 2 a 4 preguntas, todas de estructuras de datos. Los DS más comúnmente solicitados son la array, el árbol binario, BST, la lista enlazada. La segunda ronda técnica es más difícil y se hacen más preguntas de Trees, BST y Graph. Uno debe tener un conocimiento claro de la recursividad basada en árboles, y las preguntas estándar basadas en ella son imprescindibles.

PD: Después de resolver todos los problemas mencionados anteriormente, puede responder las preguntas que se le harán en estas rondas.

Rompecabezas

Los rompecabezas son una de las formas de comprobar tus habilidades para resolver problemas. Estas son preguntas engañosas que te permiten pensar lógicamente. Amazon también pondrá a prueba tus habilidades para resolver problemas a través de los rompecabezas. Intenta resolver estos 20 acertijos que se preguntan comúnmente durante las entrevistas de SDE

Discusión del proyecto

Revisa a fondo todo el trabajo que has hecho hasta ahora en tus proyectos. El interrogatorio sobre los proyectos a veces puede ser muy profundo. Mencione solo aquellos temas en los que cree que está bien que lo interroguen. Si no tiene ningún proyecto, no le preguntarán al respecto, pero es mejor tener algunos proyectos, implica preguntas como qué hay de nuevo en su proyecto, si ha creado un clon básico, o cuál es su aporte, seguido de preguntas basadas en su tecnología. pila.

Si no ha realizado un proyecto, tome una idea de GFG Projects y comience a trabajar en ella.

Nota: si tiene un proyecto en AWS, debe tener la confianza suficiente para proporcionar suficientes respuestas a cada pregunta.

Para informarle en detalles sobre el proceso de reclutamiento de Amazon, también tenemos un artículo sobre eso para que pueda leer esta publicación:
https://www.geeksforgeeks.org/amazon-recruitment-process/

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *