Me presenté al proceso de reclutamiento de Goldman Sachs para el puesto de Analista Técnico, Bangalore. Apliqué a través de la recomendación de un empleado.
Ronda 1: prueba escrita de Hackerrank
Había dos preguntas en la ronda.
1.) Recorrido en orden espiral de la array
2.) Subarreglo con suma 0
Ronda 2: Ronda Coderpad
Esta es una entrevista telefónica y se comparte una pantalla para escribir el código de trabajo completo. Y debe escribir algunos de sus casos de prueba y borrar los nes que han proporcionado. Se hicieron dos preguntas en esto:
1.) Se debe dar un automóvil en alquiler. Diferentes personas vienen y lo piden por intervalo [s,e] y ofrecen algún precio p. A quién se entregará el automóvil para ganar el máximo.
2.) No recuerdo exactamente la pregunta, pero la lógica del problema era BFS.
Después de estos dos, me llamaron para entrevistas en el sitio. Su proceso de entrevista es un procedimiento de un día de duración. Tuve 6 rondas de entrevistas y todas fueron técnicas.
Ronda 3:
Vinieron dos entrevistadores y ambos fueron muy amables.
Primero me hicieron varias preguntas de comportamiento como por qué quiero cambiar, describirme, fortaleza, debilidad. Me pidieron que me calificara en las habilidades mencionadas en mi currículum en una escala del 1 al 10.
1.) La primera pregunta técnica fue encontrar el primer carácter no repetido en una string.
2.) Luego, implementación interna de lista y mapa en C++. También me pidieron que hiciera la implementación de los árboles AVL. Estaban bien informados y tenían una buena comprensión de las estructuras de datos.
3.) Cómo se implementa internamente un hashmap en JAVA. Luego, su pregunta de contrato más famosa también.
Luego me pidieron algunos acertijos, el problema de la jarra de agua, encajar bolas en la caja dada.
Ronda 4:
Esta ronda fue una discusión de casi todas las estructuras de datos que he leído.
1.) Comenzó con la lista vinculada, LL circular, DLL, condiciones de desbordamiento y subdesbordamiento, trabajo, aplicaciones donde se pueden usar.
2.) Árbol binario, BST, código para borrar en el árbol. El entrevistador estaba más interesado en saber cómo estoy escribiendo las llamadas recursivas. Me pidió que dibujara la pila recursiva y mostrara cada registro de activación.
3.) Luego me pidieron que diseñara el caché. Me dio varios escenarios como cómo hará que el sistema sea tolerante a fallas si una máquina falla. También discutimos sobre la afinidad de empujar y tirar, dijo que vendrá un flujo continuo de registros y tendrá algunas n máquinas. ¿Cómo almacenará estos registros y luego los recuperará?
Ronda 5:
Esta ronda fue menos técnica pero más en resumen.
1.) Discutimos varios proyectos y cosas que mencioné en él.
2.) Una pregunta técnica, dada una array 2D, me pidieron encontrar una subarray con suma máxima. La subarray también puede ser cuadrada y rectangular.
3.) Algunas discusiones sobre pruebas de software, modelo en cascada y espiral, etc. La persona era del equipo de gestión de riesgos y los conceptos de prueba se discutieron en esta entrevista.
4.) Luego vino a OS. Problema de sección crítica, instrucción testAndSwap(), problema de Peterson, su inconveniente y por qué se necesitaban soluciones de software para resolver problemas de sección crítica.
Ronda 6:
Esta fue nuevamente una ronda de codificación y se esperaba que escribiera el código completamente funcional.
1.) Girar la array 90, 180, 270.
2.) Camino de la raíz a la hoja en un árbol binario.
3.) Me preguntaron sobre el trabajo en mi empresa actual. Luego cambiaron a por qué JAVA sobre C++. Si estoy creando una aplicación desde cero, qué idioma debo elegir y por qué.
Ronda 7:
esta ronda fue principalmente la discusión sobre aprendizaje automático y problemas de diseño.
1.) Me dieron un escenario relacionado con el sistema de archivos y me hicieron varias preguntas sobre cómo se pueden diseñar las diferentes API. Cómo mantener toda la estructura cuando se modifica un archivo. En cualquier momento, tengo que generar los archivos modificados en los últimos 5 días. El sistema de archivos es grande.
2.) El segundo problema fue nuevamente un escenario en el que una empresa C recopila datos de la empresa A y B sobre unos 100 clientes que siempre permanecen fijos. Algunos registros son proporcionados a C por A y B y C tiene que validarlos. ¿Cómo deben proporcionar el registro, cómo debe la empresa C liberar su solicitud? Con qué frecuencia, se deben realizar validaciones de los datos recopilados, cuándo se deben recopilar los datos. ¿Cómo puede hacer que su sistema aprenda sobre los 100 clientes, de modo que se pueda reducir el costo de la validación? Esta fue una pregunta muy abierta.
3.) Escenario nuevamente, el código en la rama de producción produce muchos errores cada vez que se ejecuta el código. Me preguntaron cómo el aprendizaje automático puede mejorar esta situación. En primer lugar, contradije su pregunta diciendo cómo el código se ha enviado a la rama de producción cuando tiene errores. ¿No debería estar en la rama de desarrollador e integrado y comprometido en producción más tarde? El entrevistador y yo nos reímos durante los siguientes 5 minutos por cómo lo contradije. Luego cambió los errores por advertencias, dijo: Los desarrolladores muchas veces los ignoran, pero ¿pueden ser de alguna utilidad? Presenté mucho aprendizaje automático aquí y discutimos sobre varios modelos.
Ronda 8:
Nuevamente la ronda técnica y la última ronda del gerente de contratación.
1.) Se dio un problema en la string. No recuerdo exactamente, pero la lógica era LIS. Tanto la recursividad como el código DP.
2.) Problema en arreglos. Resuelto usando colas.
3.) Diseño cricbuzz.
4.) Diseño del sistema de notificaciones. Aquí mencionó que tiene la base de datos y se almacenan los registros. Debe filtrar los registros según los temas de tendencia y enviar notificaciones. Para el filtrado de contexto, hablé sobre NLTK, n-grams, etiquetado y luego priorizando los registros filtrados.
Con esto terminó el proceso y comenzó a explicarme sobre el trabajo del equipo, etc.
En general, tomó alrededor de 7 horas para estas 6 entrevistas. Apenas tomé 15 minutos de descanso entre ellas.
Al día siguiente, recibí la llamada de que mis entrevistas habían ido bien y que les gustaría continuar con mi candidatura. Recibí la oferta.
Me gustaría agradecer a GeeksForGeeks por su increíble sitio web que me ayudó mucho a prepararme. Repase las preguntas de la entrevista que le hicieron anteriormente y practíquelas.
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