Experiencia de entrevista en Amazon | Conjunto 319 (en el campus)

Ronda en línea:
hubo 20 MCQ basados ​​en programación básica, preguntas de salida C, sistema operativo. Había 2 preguntas de programación.
1. Dada una array con solo 1 y 0, debe maximizar los números de 1 en esta array. Se le permite realizar una operación de volteo máxima que se puede aplicar a un rango de índices continuos. Utilicé algo como el enfoque de programación dinámica de subarreglo contiguo de suma máxima. Este problema es similar a

2. Se le proporciona una lista enlazada. Para i=1 a n/2, reste el (ni)ésimo número del iésimo número. Imprimir la lista vinculada modificada al final.

Ronda técnica 1:
1. Dados tres números A, B y M. Calcular (A*B)%M. Todos los números están en un rango de 1 a 10 ^ 15, así que evite el desbordamiento. Primero le di un enfoque de fuerza bruta para ejecutar un ciclo A veces, cada vez que agregaba B a la respuesta y tomaba el mod. Luego, mejoré de O(n) a O(logn) calculando A*B/2 recursivamente y multiplicándolo por 2. El entrevistador me pidió que escribiera el código completo para ello.

2. Me preguntó si sabía sobre la estructura de datos trie y le dije que sí, así que me pidió que escribiera la estructura de Nodes de trie. Escribí la estructura básica del Node. Luego me preguntó si quiero agregar y hacer coincidir strings exactas y luego cómo modificaría la estructura del Node. Le dije que agregara un valor booleano en el Node que significa el final de la string. Luego me pidió que escribiera un código completo para agregar una string en trie root.
Ronda técnica 2:
Me pidió introducción y preguntas hechas en entrevistas anteriores.
1. Dado un árbol binario, imprima los Nodes de borde de este árbol binario.

2. Se le proporciona una serie de contactos. Cada contacto consta de 3 strings: nombre, correo electrónico y número de teléfono. Si alguno de estos parámetros coincide con el parámetro de cualquier otro contacto, estos 2 contactos son iguales. Encuentra grupos de los mismos contactos. Sugerí tener un hashmap con una string de parámetros como clave y un índice como valor. Luego, cuando encontremos strings coincidentes en el mapa hash, conecte estos 2 índices de contacto como lo hacemos en el enfoque Disjoint set Quick Union. Al final. encontrar contactos coincidentes mediante la operación de búsqueda.

Ronda técnica 3:
esta entrevista se basó principalmente en la discusión del currículum. Me preguntó sobre mis pasantías y proyectos y también me hizo algunas preguntas sobre el sistema operativo. Luego me dio un problema de ajedrez. Me dan posiciones iniciales de 8 peones y un caballo. Tengo que responder si puedo eliminar los 8 peones usando mi caballo. Luego simplificó la pregunta y ahora solo hay 1 peón. Escribí el código completo de recursividad para resolver el problema, pero la complejidad del tiempo era exponencial. Luego me preguntó cómo encuentro el número mínimo de pasos en los que puedo quitar este peón. Modifiqué mi código existente para devolver una serie de pasos ahora.

Ronda técnica 4:
Esta fue una especie de ronda de recursos humanos. Inicialmente, me preguntó sobre mi último trabajo de pasantía y comenzó con preguntas específicas. ¿Cuál fue el desafío más difícil que resolví durante cualquiera de mis proyectos? ¿Qué tipo de problemas encuentra cuando trabaja en equipo y cómo se pueden resolver? ¿Alguna vez escribió código no mantenible y por qué lo escribió? ¿Alguna vez te sucedió que sugeriste algunos buenos enfoques pero fueron tirados a la basura por una autoridad superior y cómo los abordaste?

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 de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

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 *