Experiencia de entrevista en OYO Rooms para ingeniero de software (en el campus)

OYO Rooms visitó nuestro campus para reclutar ingenieros de software. Las sucursales elegibles fueron CSE, CCE, ECE.

CUTOFF CGPA: Más de seis sin una acumulación activa

Ronda 1 (Ronda de codificación en línea): la ronda en línea consta de 2 preguntas de codificación y 25 preguntas de MCQ basadas en OS, OOPS, DBMS y DSA. Después de la prueba, 45 estudiantes fueron preseleccionados para entrevistas. Resolví la segunda pregunta por completo y fui preseleccionado para las entrevistas.

Ronda 2 (Entrevista técnica 1): La entrevista comenzó con una breve discusión sobre los proyectos que tenía en mi currículum, se hicieron preguntas fundamentales al respecto. Después de lo cual me hicieron 2 preguntas de DSA en esa ronda.

  1. La primera pregunta fue hacer Diagonal Traversal of Binary Tree . Di la solución basada en mapas usando DFS. Me pidieron que codificara el enfoque.
  2. La segunda pregunta era encontrar la mediana en una secuencia de números enteros (enteros continuos) . En primer lugar, di el enfoque de fuerza bruta.

Luego me pidieron que optimizara la complejidad. Di una solución en complejidad de tiempo O(N log N) y complejidad de espacio O(N). La idea era usar max heap y min heap para almacenar los elementos de la mitad superior y la mitad inferior. Me pidieron que codificara el enfoque. El montón máximo y el montón mínimo se implementaron usando la cola de prioridad en C++ STL.

Eso fue todo en la primera ronda de entrevistas técnicas, duró aproximadamente una hora y el entrevistador fue muy amable y siempre estaba listo para darte las pistas que necesitas para decirles exactamente dónde te estás atascando.

Después de la ronda 2, 26 estudiantes fueron preseleccionados para las entrevistas de la ronda 3.

Ronda 3 (Entrevista técnica 2): El panelista fue realmente muy amable y se tomó los primeros 5 a 10 minutos para consolarme y luego me pidió la presentación luego de algunas discusiones sobre mi currículum completo, incluidos proyectos, actividades extracurriculares, pasatiempos y todo. . Luego me dieron la primera pregunta DSA de esa ronda, 

Dada una array de dimensión m*n donde cada celda de la array puede tener valores 0, 1 o 2 que tiene el siguiente significado: 0: celda vacía, 1: celdas con naranjas frescas, 2: celdas con naranjas podridas.

  1. Me pidieron determinar el tiempo mínimo necesario para que todas las naranjas se pudran . Una naranja podrida en el índice [i,j] puede pudrir otra naranja fresca en los índices [i-1,j], [i+1,j], [i,j-1], [i,j+1] (hasta , abajo, izquierda y derecha). Si es imposible pudrir todas las naranjas, devuelve -1.

Primero le di la solución ingenua con complejidad de tiempo O(max(m,n) * m *n) y complejidad de espacio O(1). Pero me dijo que pensara diferente y le dio una solución con alguna estructura de datos. Respondí con complejidad de tiempo O(m*n) y complejidad de espacio O(m*n). La idea era usar BFS. También me pidieron que codificara el enfoque. 

Después de esto, hubo una discusión sobre las complejidades temporales de Heap Sort, Heapify, Red-Black Tree. Luego se hicieron algunas preguntas relacionadas con las propiedades de ACID (DBMS) y los algoritmos de programación de CPU (OS).

Al final, se declaró el resultado y se seleccionó un total de 16 estudiantes, incluyéndome a mí. Espero que mi experiencia ayude.

Publicación traducida automáticamente

Artículo escrito por avi mukhija 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 *