Inicialmente, había una ronda en línea que duraba 1 hora y 30 minutos (en general). Se llevó a cabo en la plataforma de Oracle, que consistió en preguntas de opción múltiple sobre aptitud, interpretación de datos, estructuras de datos y algoritmos (principalmente preguntas de árbol BST y AVL en códigos largos dados), DBMS y sistema operativo. Cada sección tenía su propio límite de tiempo. No había una sección de codificación. Cada sección debía responderse de manera secuencial sin permitir cambios. Preseleccionaron a 38 candidatos para el rol de APPS (26 preseleccionados + 12 listas de espera). Yo era uno de los candidatos en lista de espera.
La ronda 1:
- Inicialmente, el entrevistador me preguntó sobre mi interés en Ciencias de la Computación. Tenía una especialización en Ciencias de la Computación que me ayudó mucho a convencerlo. Tenía un proyecto sobre sincronización de procesos. Tuvimos una pequeña charla al respecto. Además, me preguntó acerca de interbloqueos y semáforos. Luego comenzó a hacer preguntas de codificación.
- Encontrar la ventana más pequeña en una string (A) que contiene todos los caracteres de otra string (B). Los caracteres en la ventana elegida de A deben estar en el mismo orden que están en B. Solo quería saber mi lógica.
- Problema básico de BST de buscar un Node en BST. https://www.geeksforgeeks.org/binary-search-tree-set-1-search-and-insertion/
- Dado un arreglo y un entero k, encuentre el máximo para cada subarreglo contiguo de tamaño k. Esperaba que yo escribiera código en mi idioma preferido. https://www.geeksforgeeks.org/sliding-window-maximum-maximum-of-all-subarrays-of-size-k/
- Determine si un conjunto dado se puede dividir en dos subconjuntos de manera que la suma de los elementos en ambos subconjuntos sea la misma. Me pidió que escribiera una función C++ para resolver este problema. Inicialmente escribí un enfoque basado en la memorización. Me pidió que escribiera un enfoque ascendente para el mismo código. Además, discutió los pros y los contras de ambos enfoques. https://www.geeksforgeeks.org/partition-problem-dp-18/
- Rompecabezas de caída de huevos con k huevos y n pisos. Esperaba una complejidad temporal de O(k*n). Inicialmente, se me ocurrió O(k*n*n) usando dp. Además, pude reducirlo a O(k*n*log n) usando dp y búsqueda binaria. Me pidió que pensara matemáticamente. Finalmente, pude hacerlo en O(k*log n) usando combinatoria. Estaba bastante impresionado por mi lógica. Además, me pidió que escribiera código para el mismo.
- En el momento en que estaba escribiendo el código, me estaba haciendo algunos acertijos simples.
La ronda 2:
- Me pidieron que escribiera código para evaluar una expresión infija. https://www.geeksforgeeks.org/expresión-evaluación/
- El entrevistador luego me dio algunos acertijos.
- Tenía un curso sobre DBMS mencionado en mi currículum. Me hizo algunas preguntas básicas sobre la normalización y las reglas de Codd. Además, me pidió que diseñara un esquema de base de datos para mi instituto.
- Pidió escribir algunas consultas SQL engañosas en el esquema, preparé en diseño seguido de algunas preguntas sobre disparadores SQL, procedimientos y funciones almacenadas. Al final, me pidió que escribiera un procedimiento simple.
Ronda 3:
- Me pidió que escribiera la lógica para evitar Deadlock (algoritmo de Banker).
- Más tarde, revisó minuciosamente mi currículum y me preguntó sobre mis proyectos.
- Finalmente, me preguntó si tenía alguna duda.
Ronda 4 (ronda de recursos humanos): preguntas generales de recursos humanos como por qué quería unirme a Oracle, etc. Más tarde, me explicó sobre la cultura laboral en Oracle.
Resultado: Ofrecieron perfil APPS a 4 candidatos. yo era uno de ellos Agradezco a GeeksforGeeks por su asistencia en la preparación de las ubicaciones.
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