Tuve una experiencia de 2,5 años y fui entrevistado en la oficina de Bangalore de Goldman Sachs.
Ronda 1:
después de pedir una breve introducción, el entrevistador comenzó haciendo preguntas de Java que eran: conceptos de programación orientada a objetos de Java, qué es el polimorfismo en tiempo de ejecución, sobrecarga/anulación, cuántas colecciones ha usado en Java, cómo funciona Hashmap, qué es un contrato entre iguales y hashcode?
Luego, hizo una pregunta sobre una array: Dada una array int, organice los elementos en orden creciente y decreciente, es decir, un elemento más grande que un elemento más pequeño, luego más grande y así sucesivamente.
Después de responder esta pregunta, me hizo una pregunta simple que suponga que 2 personas están comenzando en algún punto del círculo, primero con velocidad de 4 y segundo con velocidad de 6, en cuánto tiempo se encontrarán nuevamente. (No sé el motivo detrás de hacer una pregunta tan simple. :P)
Ronda 2:
aquí también, el entrevistador comenzó haciendo preguntas de java: ¿Cuál es la diferencia entre string, búfer de string y generador de string, qué hace la palabra clave final, cuándo se puede cambiar el valor de la variable final, qué es classpath en java?
Después de todas estas preguntas me planteó un problema de diseño: Supongamos que tienes que diseñar una aplicación de campaña electoral. Dio una serie de preguntas para las cuales deberíamos proporcionar algunas API. La pregunta era como: ¿Cuántos distritos hay en total? ¿Cuáles son todos los candidatos que se disputan? ¿Qué candidato representa a qué partido? ¿Cuántos candidatos masculinos/femeninos ganaron y con cuántos votos?
La clase que le dije era: Estado, Circunscripción, Candidato, Partido, Votante.
Además, le dije que el estado tendrá una lista de distritos electorales. La circunscripción tendrá una lista de candidatos masculinos y femeninos. Un partido tendrá una lista de distritos electorales (donde se presentan sus candidatos) y también una lista de todos los candidatos. Un candidato tendrá una referencia a la circunscripción (en caso de que decida competir desde una circunscripción diferente la próxima vez) y una referencia al partido (la misma razón que la anterior).
La discusión sobre este diseño duró unos 20 minutos por varios motivos.
Ronda 3:
Me dieron un sistema con IDE y me pidieron que codificara un problema. El entrevistador me dijo que puede escribir y ejecutar sus propios casos de prueba y después de una hora estaremos ejecutando nuestros casos de prueba.
Pregunta: Dado un control remoto que tiene 0-9 dígitos, botón más (para aumentar el canal), menos (para disminuir) y botón de canal anterior (para ir al canal anterior). Nos dieron 2 números que indicaban el número de canal inicial y final y una array con varios números de canal. La tarea consistía en ir a todos los números de canal dados en una array con un número mínimo de clics.
Ronda 4: (Ronda del director)
Para empezar, me preguntó detalladamente sobre mi trabajo actual y en qué cosas estoy trabajando. Tuvimos una discusión de alrededor de 30 minutos sobre mi experiencia laboral.
Luego, me pidió que implementara un stack . Lo hice usando una lista de arreglos. El interrogatorio cruzado sobre esto sucedió durante 10 minutos.
Después de eso, me dio un acertijo: Supongamos que tú y yo estamos jugando en una mesa redonda y ambos tenemos un número infinito de monedas. Las reglas son las siguientes:
- Es un juego por turnos, así que tú y yo nos turnamos alternativamente (1 moneda por turno)
- Tenemos que colocar la moneda sobre la mesa y las monedas no se pueden poner unas encima de otras.
- Las monedas no se pueden mover una vez puestas sobre la mesa.
- si no hay espacio para poner monedas sobre la mesa, gana la persona que colocó la última moneda posible.
Entonces, si te doy la oportunidad de ir primero, ¿con qué movimiento comenzarás para asegurarte la victoria?
Después de esto, hubo una discusión sobre GS y su funcionamiento.
Este artículo es una contribución de mogo12 . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo 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