Hola a todos, Amazon realizó una campaña para SDE-1 y SDE-2 en julio de 2019 en Pune. Solicité el puesto de SDE-1. Recibí una llamada de un reclutador que me dijo específicamente que repasara mi codificación y estructura de datos. fundamentos y me dijo que practicara en papel.
La ronda 1:
La primera ronda fue la prueba de codificación en papel. Se nos pidió que escribiéramos código en papel para tres preguntas.
1) Cuando le pides a Alexa que «compre bananas», consultamos diferentes catálogos (Prime, Whole Foods, Pantry, etc.). Cada uno de estos regresa con una lista ordenada de elementos que debemos fusionar para tener una sola lista. Escribe una función para fusionar los resultados y mostrar los 10 elementos principales. También mencione la complejidad de tiempo y espacio de su solución.
Esta pregunta era similar a Merge K-sorted list cuando puede usar Priority Queue para mantener los 10 elementos principales.
2) Dado un árbol de la string de gestión de una empresa. Escriba los nombres de cada empleado que tiene un número especificado si se reporta en la string.
Entrada: 1
Producción:
Lannister
bronn
3) Implemente una función para bloquear una sala de reuniones durante un período de tiempo determinado. La sala de reuniones no se puede reservar para sesiones superpuestas.
Entrada:(11:00, 13:30)
Producción:
Reunión reservada (si no hay conflicto con todas las reuniones existentes)
Reunión rechazada (si hay conflicto con alguna reunión ya reservada existente)
Después de una hora, anunciaron el resultado de la ronda escrita.
La ronda 2:
En esta ronda el entrevistador hizo 4 preguntas.
1) Cuente el número de formas de llegar al destino en un laberinto
2) Se le dan n calcetines y el color de cada uno. También se le da la descripción de qué calcetines usar en qué día. Encuentre la cantidad mínima de calcetines cuyo color debe cambiarse para que usted tenga los dos colores cada día. debe ser igual.
Ejemplo:
Color: 2 3 1 4 5
Calcetín : 1 2 3 4 5
Día – Calcetín no
1 – 2, 3
2 – 1, 5
3 – 2, 4
Encuentre el número mínimo de calcetines cuyo color podemos cambiar para que en cualquier día el color de ambos calcetines sea el mismo.
Esta pregunta se puede resolver asumiendo que los calcetines del día en particular son el borde de un gráfico.
3) Encuentra un elemento en una array rotada ordenada .
4) Encuentra el número de componentes conectados en un gráfico.
https://www.geeksforgeeks.org/connected-components-in-an-undirected-graph/
Ronda 3:
En esta ronda me preguntaron sobre mi experiencia trabajando en microservicios y el caso de uso de caché que utilicé en mi proyecto.
Me preguntó los principios básicos de Spring Boot Framework y la diferencia entre Spring y Spring Boot.
Me pidió que escribiera un código para generar un aleatorio sin usar Java.lang.
Ronda 4:
En esta ronda el entrevistador me hizo preguntas sobre diseño.
1) Considere que hay registros que consisten en una secuencia de páginas web visitadas por un cliente. Tenemos que encontrar la secuencia más frecuente de longitud k en la secuencia de páginas web de todos los clientes.
Ejemplo:
Registro 1- p1->p2->p3>p4->p5…
Log2-p3->p4->p8…
Log3- p2->p3->p10… etc.
entonces p2->p3 será la secuencia más frecuente de páginas web de longitud 2.
También preguntó cómo puedo manejar una sincronización cuando diferentes archivos de registro provienen de diferentes hosts en un sistema.
2) Considere que hay un libro. Me pidieron que escribiera un código para encontrar la distancia mínima/máxima entre una palabra en el libro (la distancia aquí significa el número de páginas)
Me pidió que escribiera una estructura de datos para definir un libro y la otra estructura de datos para definir también un índice.