La campaña del campus de ThoughtWorks se llevó a cabo y continuó durante 3 días. No se impusieron restricciones CGPA a los estudiantes. Alrededor de 350-400 estudiantes se presentaron para la campaña del campus.
El proceso de selección tuvo 6 rondas en total.
1. Ronda de codificación corta
2. Ronda de codificación larga
3. Entrevista técnica 1
4. Entrevista técnica 2
5. Entrevista por Skype
6. Entrevista telefónica
Para las rondas de codificación usamos nuestras computadoras portátiles y algunas de ellas usaron los sistemas de laboratorio de la universidad. Las rondas son rondas de eliminación. No tienes una segunda oportunidad. Despiadado, ¿verdad?
Las rondas (tal como sucedió) se describen a continuación.
Codificación corta
En esta ronda, se dio una pequeña pregunta de codificación para resolver. El límite de tiempo era de 20 minutos. La pregunta era: «Dada una lista par de números enteros, pliéguela de tal manera que la nueva lista conste de los elementos que se han obtenido después de agregar el primer y último elemento, el segundo y el penúltimo elemento, el tercero». y antepenúltimo elemento y así sucesivamente”. Aquí, la lista no es una lista enlazada. Es una array normal.
Cosas bastante básicas. Solo se requería la salida correcta para pasar a la siguiente ronda.
Ronda de codificación larga
110 personas llegaron a esta ronda. Esta es la ronda donde entran en juego tus habilidades de modelado de objetos. Esperábamos un problema de programación orientada a objetos con un límite de tiempo de 1,5 horas (que es el estilo genérico de TW), pero TW decidió sorprendernos. Nos entregaron un papel con un problema de codificación. Teníamos que mostrarles la salida en 30 minutos. Era un programa simple en el que se nos daban los puntajes de una ronda de un juego de tenis (como entrada de la consola, obviamente) y teníamos que mostrar el nombre del jugador que gana. No fue difícil de implementar, pero querían que aprobáramos todos los casos de prueba y también nos encargáramos de los casos extremos.
Muchos estudiantes no pudieron resolver este problema y fueron eliminados instantáneamente. A las personas que resolvieron el problema ahora se les pidió que rehicieran el mismo problema, pero esta vez tuvieron que usar el modelado de objetos (deberían haberlo visto venir, jaja, porque es TW). Querían que tuviéramos mucho cuidado al declarar nombres y métodos de variables y también querían clases adecuadas que se relacionaran entre sí. El límite de tiempo fue sorprendentemente 40 minutos.
Una cosa importante que debe entender aquí es que cuando TW le da un problema de programación orientada a objetos para resolver, no necesita enfatizar en encontrar la solución. En cambio, trabaje para hacer que su modelo de clase sea correcto. Eso es lo que buscan.
22 personas pasaron a la siguiente ronda.
Entrevista técnica 1
Se llevó a cabo al día siguiente. Las 22 personas fueron entrevistadas por 2 ThoughtWorkers. Aquí es donde se profundiza en casi todo, especialmente en el modelado de objetos.
Probablemente fui el último en ir a la entrevista.
Comenzaron con:
1. Háblame de ti
2. La siguiente pregunta fue una pregunta sobre el diseño de la base de datos. la pregunta era:
Cuando un vuelo termina un viaje, se traslada a un hangar o un espacio abierto donde se le da el servicio adecuado, por ejemplo, limpieza, llenado de combustible, etc. antes de asignarlo a otro viaje. Supongamos que a TW se le asigna esta tarea de dar servicio al avión. ¿Cómo diseñaría una base de datos que ayudaría a TW a encargarse de toda esta operación y también a generar ingresos al realizar un seguimiento de la cantidad de tiempo que un avión dedica a los servicios de TW y cobrar a las aerolíneas por los servicios?
Manejar la ambigüedad para este problema. Por ejemplo
, «¿Estamos hablando de varios aeropuertos o de un solo aeropuerto?»
“¿Son los espacios abiertos y los hangares esencialmente lo mismo? “
¿Hay varios niveles? “
¿De qué tipo de servicios estamos hablando aquí? ”
“¿Se pueden brindar los mismos servicios a los aviones en espacios abiertos y hangares? ”
“Tamaño del hangar/espacio abierto”
Luego pasaron a estructuras de datos y algoritmos.
3. Encuentre elementos de pico en una array. Dada una array, reordenar la array en posiciones alternas de picos y valles.
4. Proporcione una estructura de datos que nos proporcione un elemento pico en el tiempo O(1).
5. Algunas preguntas sobre árboles.
6. ¿Cómo encontrarías los restaurantes no vegetarianos en Siliguri? (No, la respuesta no es Zomato :p). Como le di una solución gráfica con BFS, me preguntó cuál sería una mejor opción si la búsqueda se hiciera desde Chennai.
7. Diferencia entre BFS y DFS.
8. El rompecabezas de los 25 caballos (pregunta estándar de Google).
Entrevista técnica 2
Solo 9 personas llegaron a esta ronda.
Me pidieron que me presentara de nuevo.
Las preguntas fueron:
1. Discusiones sobre subprocesos múltiples: mecanismo de subprocesos múltiples de Java, recurso compartido, monitor.
2. ¿Cómo da acceso Java a los subprocesos a un recurso compartido? Debates sobre sincronización.
3. Uno de los entrevistadores me dio un pequeño fragmento de código y me pidió que le explicara el proceso de sincronización. ¿Era necesaria la sincronización en ese código en particular?
4. Preguntas sobre diferentes clases de colección en JAVA
5. Buscar un elemento en una array rotada ordenada. Hazlo en tiempo O(log n).(código en papel)
6. El rompecabezas de la vela
Las entrevistas técnicas son extremadamente minuciosas y agotadoras, pero si sabes lo que haces correctamente, lo disfrutarás. Los entrevistadores son extremadamente amables y te ayudan si te quedas atascado en algún lugar. Las entrevistas son básicamente discusiones por igual, quieren probar su capacidad más que su conocimiento. Manejar la ambigüedad es sumamente importante, quieren que aclares tus dudas. Antes de saltar a una solución, piénsalo bien. Mis dos entrevistas técnicas duraron alrededor de una hora y media cada una.
Algunas preguntas técnicas interesantes realizadas a los demás entrevistados fueron:
1. Diseñar un modelo de clase para nuestra galaxia.
2. ¿Cómo funciona Youtube?
3. Diseña una heladería.
4. Codifique soluciones para LinkedLists como plegado, encontrar intersección, detectar ciclo, encontrar kth hasta el último elemento usando solo 1 recorrido.
5. El problema de la cena de los filósofos.
Entrevista por Skype
8 personas llegaron a esta ronda. En esta ronda, un ThoughtWorker se unió a mí en una llamada de Skype.
Esta ronda se basó en el tercer pilar de justicia social y económica de TW. Quería saber mi opinión sobre algunas de las cosas más relevantes con la justicia económica y social. Fue extremadamente fácil hablar con el entrevistador y esta ronda duró alrededor de 45-50 minutos.
Entrevista telefónica
Esta ronda tenía preguntas genéricas de RR.HH. para que me las hicieran. Eran bastante normales que encontrarías en cualquier otra ronda de entrevistas de recursos humanos. Esta ronda duró unos 40 minutos.
Al final del día, a los 8 nos ofrecieron el puesto de desarrollador de aplicaciones en ThoughtWorks.
ThoughtWorks es una excelente empresa para trabajar. Buscan desarrolladores que no solo sean buenos en lo que hacen, sino que también sean capaces de pensar fuera de la caja. Si te presentas a TW, asegúrate de flexionar tus músculos OOP.
Este artículo es una contribución de kartik . 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