Me gustaría contribuir con GeeksForGeeks compartiendo mi experiencia en el proceso de entrevistas de Amazon. Esto fue para un puesto de SDE en Hyderabad. Tengo casi 2 años de experiencia laboral en Samsung.
Primera ronda: la
prueba escrita se realizó en la plataforma de la calle de entrevistas.
Qs-1) Se proporcionó una función printMostFrequentWords, que toma una array de strings. Se requiere imprimir una lista de todas las letras que ocurrieron con mayor frecuencia en cada línea de la array, seguidas de la frecuencia.
La lista de letras debe ser una lista alfabética de letras mayúsculas seguida de una lista alfabética de letras minúsculas.
Ejemplos de casos de prueba:
Entrada #00:
Al andar en bicicleta marcha atrás por una calle de un solo sentido, si se cae la rueda de una canoa, ¿cuántos cojinetes de bolas se necesitan para llenar
un búfalo de agua?
Hola Howard.
Salida #00:
mi 6
los 7
un 3
hola 2
Qs-2) https://www.geeksforgeeks.org/construct-a-special-tree-from-given-preorder-traversal/ –Variación de este
Preguntas-3) http://www.careercup.com/question?id=12998667
El tercer caso fue un poco complicado.
Qs-4) Rotar una array M*N 90 grados. En este caso no se dio ninguna función. Todo debe ser asumido por usted solamente.
Qs-5) Elimine el Node Kth de una lista enlazada.
Resolví 4 preguntas con todos los casos de prueba mientras que para otro 1 solo pasaron 10/15 casos de prueba.
2ª Ronda: Telefónica
Qs-1) Recorrido de orden de niveles en espiral de un árbol. (Use dos pilas)
Qs-2) Una persona puede saltar 1 o 2 pasos. Número de formas de llegar a la cima de n escaleras. (Prueba con el espacio O(1).)
Qs-3) Encuentre la substring más larga en una string con exactamente 2 caracteres únicos. La substring no debe contener más de dos caracteres diferentes.
Entonces, aaaaabbaaa es una substring válida
Además, ccaccccaccaca es una substring válida.
Necesito escribir código para el 3er qs.
Esperado = O(n)
Respondí a las 3 preguntas y estaba seguro de recibir la llamada en el sitio, lo cual hice.
F2F RONDA 1:
Qs-1) La pregunta era imprimir un árbol verticalmente . Tenga en cuenta que no se solicitó obtener la suma en cada nivel vertical. Tenemos que imprimir Nodes en varios niveles verticales comenzando desde el nivel vertical más a la izquierda hasta el nivel vertical más a la derecha.
Sugerí una array de vectores y luego un hashing. Finalmente di una solución basada en DLL.
El código fue escrito usando DLL solamente.
Qs-2) Solo se preguntó cómo se guardará un árbol binario en un archivo (no un BST)
No hay suposiciones en el árbol binario.
Esta ronda me fue bien.
F2F RONDA 2:
Qs-1) Primero me pidieron que diseñara una estructura de datos con inserción O(1) y búsqueda O(1). Hablé sobre hash. Luego me dijo que obtuviera un número aleatorio de la lista actual de números que se han insertado en mi Ds. Así que mantuve una array de almacenamiento de punteros a la tabla hash. (Suponga que no hay colisión, lo dijo). Luego dijo que también se eliminó O (1). Estaba atascado en esto, no pude hacer tanto la eliminación como getRandom en O (1). Después de algunas discusiones, siguió adelante.
Qs-2) Dijo que hay un rango, definido por un valor mínimo y un valor máximo. En una array dada, tenía que encontrar todos los elementos dentro del rango. Le dije que solo es posible en O(n). Tenemos que mirar cada elemento. Luego me dijo que asumiera que la array estaba ordenada. Luego usé la búsqueda binaria para encontrar índices de techo de mínimo y piso de máximo para encontrar los elementos en el rango.
Esta ronda me fue bien. La segunda pregunta escribí el código adecuado con todos los casos extremos, pero en la primera me quedé un poco atascado.
F2F RONDA 3:
Qs-1) En un árbol binario, un camino completo se define como un camino desde la raíz hasta una hoja. La suma de todos los Nodes en ese camino se define como la suma de ese camino. Dado un número K, tenemos que eliminar (podar el árbol) los Nodes del árbol que se encuentran en un camino que tiene una suma menor que K.
Nota: un Node puede ser parte de varias rutas. Por lo tanto, debemos eliminarlo solo en caso de que todas las rutas tengan una suma menor que K.
Pude resolver el problema y escribir el código de trabajo correcto para esto.
(Sugerencia: piense en un enfoque de abajo hacia arriba).
Nota: los valores en el árbol también pueden ser -ve.
Qs-2) Problema de un robot: número de formas de llegar de 0,0 a m,n en la cuadrícula am*n. Tuve que decir solo la función recursiva. No se requiere código.
Esta ronda me fue muy bien. La primera pregunta fue un poco complicada, pero resolverla aumentó mi confianza.
Ronda 4 F2F con el gerente de contratación:
Qs-1) Esta fue principalmente una ronda basada en recursos humanos. Muchas preguntas sobre mi trabajo anterior, mis iniciativas, desafíos que enfrenté y muchas otras preguntas.
También había una pregunta simple sobre la array. Rellene filas y columnas con unos si hay un 1 en esa fila o columna. Código también requerido.
Pregunta basada en el envío y los pedidos, etc. Por ejemplo: qué cosas se deben tener en cuenta en relación con el pedido realizado y el artículo enviado. Qué todos los factores y cosas que considerará.
Estaba siendo entrevistado para el equipo de transporte. Entonces preguntas basadas en eso.
En general, la ronda fue bien.
Regresé a Bangalore esa noche.
Unos días después, recibí una llamada de Recursos Humanos diciendo que estoy muy cerca y que necesito presentarme para otra ronda en la oficina de Bangalore.
F2f Ronda 5:
Alrededor de media hora de discusión basada en Hr.
Luego dos preguntas técnicas con código:
Qs-2) Se da una array que primero es creciente y luego decreciente. Encuentra el elemento pivote. Necesito encargarme de todos los casos extremos.
Esta ronda me fue bien. En su mayoría, esta ronda fue sobre habilidades blandas. Hice bien las preguntas de codificación y escribí el código adecuado para ambas.
Por la tarde recibí una llamada de recursos humanos de que me habían seleccionado. 🙂
Me gustaría agradecer al equipo de GeeksForGeeks por ser de gran ayuda para mí.
Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal y la ayuda de GeeksforGeeks.
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