Fui preseleccionado a través del filtro de reanudar. Solicité una pasantía de verano.
Ronda 1 (Skype)
Tiempo : 1 hora 15 min
- ¿Puedo pedir más tiempo para resolver una pregunta de algoritmo en la entrevista técnica?
- ¿Cómo se borra una entrevista de codificación algorítmica una vez que ya se encuentra en la industria del software y ha perdido totalmente el contacto de la codificación algorítmica / Programación competitiva?
- ¿Cómo podemos encontrar el número de subsecuencias consecutivas en una matriz, con la propiedad de que la suma de las subsecuencias es menor que un número k?
- ¿Cuáles son los tutoriales que proporcionan la comprensión profunda de los conceptos básicos de Java?
- ¿Es obligatorio resolver dos problemas en entrevistas tecnológicas?
Giró en torno a mis proyectos que mencioné en mi currículum. Había escrito 4 proyectos de los cuales se me pidieron tres.
Las preguntas generales fueron: –
- ¿Qué dificultades enfrentaste en este proyecto?
- ¿Cuáles fueron algunos otros enfoques posibles para hacer una funcionalidad particular?
- ¿Por qué elegiste este enfoque solamente? ¿Cuáles son los pros y los contras de otros enfoques? Compárelos a todos.
- ¿Cómo va a desarrollar aún más este proyecto? ¿Qué todas las funcionalidades se pueden agregar?
Cuando el entrevistador le pide que explique el proyecto, este es el mejor momento para que tome el mando y tome la entrevista donde se encuentran sus puntos fuertes. Por lo tanto, asegúrese de preparar una especie de discurso introductorio para cada proyecto del que pueda hablar durante aproximadamente 8-10 minutos. Eso establecerá el tono para el resto de la entrevista.
Ronda 2 (Skype)
Tiempo: 1 hora 30 min
Pregunta 1
Esta fue una ronda de codificación. Me pidieron que diseñara un juego similar al juego Snake en los teléfonos Nokia. La tarea consistía en diseñar una estructura de datos y un algoritmo para el movimiento de serpientes. Las reglas eran las mismas que las del juego original.
Mi enfoque era dividir toda la pantalla en una matriz 2D con celdas como coordenadas. Todas las celdas libres están marcadas con 0 y donde está el cuerpo de la serpiente, marque eso como 1. Usted toma las coordenadas de la boca de la serpiente y las coordenadas de las partículas de alimentos y luego aplica DFS.
Después de escuchar mi enfoque, me hizo las siguientes preguntas:
- Ajuste su DFS para proporcionar la ruta más corta.
- Ajuste su DFS para proporcionar una ruta con giros máximos y mínimos.
- ¿Cómo se asegurará de que la serpiente pueda comer la cantidad máxima de partículas de comida?
- Optimice su DFS para que pueda elegir correctamente casi siempre (giros a la izquierda, a la derecha y en línea recta).
Modifiqué mi DFS tomando más parámetros de entrada, como la dirección relativa en la que se encuentra la partícula de alimentos, las coordenadas de la cola y algunas secciones más del cuerpo.
Esto me dio información adicional sobre toda la arena, la posición de la serpiente, su cuerpo y partículas de comida. Esto ayudó a tomar la decisión correcta de cambiar de dirección.
No me pidieron que escribiera el código. Estaba contento con mi enfoque, pero en realidad quería el algoritmo A *. La solución estándar para resolver el juego Snake. Pero le expliqué que la heurística utilizada en A * para tomar decisiones es casi la misma que lo que estamos haciendo con nuestro DFS y estos parámetros adicionales. Compró mi argumento 🙂
A * Algoritmo de búsqueda – GeeksforGeeks
Pregunta 2
Me dieron una lista de la población de n ciudades y me pidieron que conectara estas ciudades utilizando una red de carreteras de modo que el costo de las carreteras sea mínimo. El costo de hacer un camino entre dos ciudades es producto de su población.
Dije que podemos hacer esto usando el árbol de expansión mínimo. Kruskal debería funcionar bien. Me pidió que codificara el algoritmo kruskal. Lo hizo. Me pidió que lo optimizara. Así que implementé kruskal usando Union Find. Luego me dijeron que comparara todos los algoritmos de gráficos posibles que se pueden usar en esta pregunta y encontrar cuál se adapta mejor.
http://blog.hackerearth.com/krus…
Ronda 3 (skype)
Tiempo : 1 hora 40 min
Fue la ronda de diseño del sistema HR +. Las preguntas relacionadas con la ronda de recursos humanos son las siguientes: –
- ¿Desde cuándo comenzó su viaje con Computer y qué aprendió en ese proceso?
- ¿Por qué IIIT Hyderabad?
- Los puntos que escribió en su currículum como calificaciones, proyectos, pasantías, etc., ¿cuál fue el más difícil de lograr?
Luego comenzó la entrevista de diseño del sistema. Me hizo algunas preguntas antes de saltar a la pregunta real como.
- ¿Cuáles son las principales tecnologías o plataformas que conoce que regirán 2018?
- ¿Cuál es la próxima gran novedad en informática?
- ¿Qué aplicaciones utilizas en tu rutina diaria?
Luego vino el tema principal. La conversación es así.
I – ¿Sabes sobre Alexa?
Yo sí. Es un asistente de hogar impulsado por IA de Amazon.
I- ¿Sabes qué pueden hacer todas las cosas?
Yo sí.
I- ¿Quiénes son todos los competidores de Alexa? ¿Y sabes cuáles son sus características?
Yo: Siri de Apple, Google Assistant y Microsoft Cortana son algunos de los competidores. Sí, también sé sobre sus características.
I- Entonces ahora necesitamos construir Alexa v2; que tiene todas las características de v1. Además ahora tiene cámara y pantalla. Necesitas encontrar todas las características posibles que Alexa v2 debería admitir. Sus características deben ser prácticas, deben resolver los problemas que enfrentamos en la vida cotidiana. Y lo más importante, debería volar la competencia.
Para entender el problema, le hice algunas preguntas. Luego, uno por uno, le dije características que se me ocurrían. Se interesó en una de las características y profundizó en ella.
Me preguntó el mecanismo de las características si decidimos implementarlo. Descubrí algunas lagunas que eliminé cambiando el enfoque. Finalmente me pidió que escribiera un pseudocódigo para ello. Después de escribirlo, me pidió que lo optimizara.
Se seleccionó 🙂
Cosas que aprendí de mi experiencia en la entrevista: –
- El contenido en el currículum es muy importante. Solo escribe aquellos puntos que puedas responder.
- Los buenos proyectos con un excelente discurso introductorio pueden llevarte a lugares.
- Conozca bien las estructuras de datos, los algoritmos y las técnicas de optimización. Intente resolver una variedad de preguntas en lugar de completar una pista completa de matriz, cadena, etc.
- Nunca saltes directamente al mejor enfoque aunque lo sepas. Intenta ir paso a paso, lo que arroja una buena impresión.
- No dudes en pedir sugerencias o sugerencias. Los entrevistadores son geniales y le mostrarán la dirección en la que quieren que piense.
- Cuida tus palabras. Piense antes de hablar cualquier término técnico. El entrevistador podría profundizar en eso.