Solicité a través de LinkedIn y Naukari.com. No estoy seguro de dónde recogieron mi currículum, pero recibí una llamada de recursos humanos.
Ronda 1 (Algoritmo DS: 1 nuestro): (1 pregunta de codificación, mejora de las preguntas de codificación, debate sobre Java)
- Implemente 2 métodos: boolean addString (string), List<String> searchString (string)
- addString: agrega esa string a db
- la string de búsqueda devolverá la lista de strings que comienzan con esa string
eg: add : XX, XXY, XXX, YYX and on search(X) --> [XX,XXY,XXX]
Complejidad de tiempo esperada: buscar -> O (1), agregar -> O (m): siendo m la longitud de la string de adición
Solución : implementé usando map add (xx): x -> [xx], xx -> [xx] || suma(xxy) : x->[xx,xxy], xx-> [xx,xxy], xxy->[xxy] etc.
2. Como mejora, se me pidió que agregara y buscara sin distinción entre mayúsculas y minúsculas. Luego pidió hacer el diseño de nivel de aplicación del enfoque anterior (solo pidió el enfoque). -> Creo que esperaba un patrón de diseño singleton, pero lo expliqué usando variables globales de Java. (estaba bien con eso)
3. Quedaba algo de tiempo, así que preguntó por las funciones simples de strings de Java.
Ronda 2 (LLD: diseño de bajo nivel 45 min):
- Me pidieron que diseñara un sistema de gestión de albergues para una universidad. Todas las clases y vínculos entre ellas. Los diseñé usando mapas. Esperaba usar la herencia en su lugar para hacerla más genérica y reutilizable. así que hice algunos cambios en el diseño y los agregué. Estaba bien con eso, supongo.
Ronda 3 (algoritmo DS: 1 hora): (2 preguntas de codificación, debates generales sobre varios DS):
- Implemente el número de búsqueda de islas en una array 2d: https://www.geeksforgeeks.org/find-number-of-islands/, es un análisis de complejidad amortizado.
- Implemente la ruta de impresión en un árbol: https://www.geeksforgeeks.org/given-a-binary-tree-print-all-root-to-leaf-paths/ es un análisis de complejidad.
- Quedó algo de tiempo, así que empezó a hacer preguntas como:
- ¿Cuál es la e de BST sobre el árbol binario normal?
- ¿Dónde puedes encontrar problemas del mundo real como encontrar la pregunta de la isla?
- ¿Dónde crees que usamos BST en el mundo real?
- ¿Qué son los árboles autoequilibrados y por qué los necesitamos? Cómo funciona el árbol AVL.
- qué es B-tree y dónde los usamos en el mundo real. y unas cuantas más hasta que tuviéramos tiempo.
Ronda 4 (gerente de contratación: 45 min):
- Comenzó con una breve introducción y la experiencia tecnológica en la que estoy trabajando actualmente.
- De alguna manera fue a «¿entonces lo que está diciendo es que la cobertura de la unidad J debería tener menos prioridad que el desarrollo de un nuevo código?»,
- «¿Cómo crees que ese alijo puede mostrar todos los olores del código?»,
- “Cuando digo patrón de diseño, ¿qué es lo primero que te viene a la mente?”.
y muchas más preguntas y discusiones. Fue realmente divertido.
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