¿Cuál es el proceso de entrevista en CodeNation?

Fui preseleccionado a través del filtro de reanudar. Solicité una pasantía de verano.

Ronda 1 (Skype)

Tiempo : 1 hora 15 min

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: –

  1. ¿Qué dificultades enfrentaste en este proyecto?
  2. ¿Cuáles fueron algunos otros enfoques posibles para hacer una funcionalidad particular?
  3. ¿Por qué elegiste este enfoque solamente? ¿Cuáles son los pros y los contras de otros enfoques? Compárelos a todos.
  4. ¿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:

  1. Ajuste su DFS para proporcionar la ruta más corta.
  2. Ajuste su DFS para proporcionar una ruta con giros máximos y mínimos.
  3. ¿Cómo se asegurará de que la serpiente pueda comer la cantidad máxima de partículas de comida?
  4. 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: –

  1. ¿Desde cuándo comenzó su viaje con Computer y qué aprendió en ese proceso?
  2. ¿Por qué IIIT Hyderabad?
  3. 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.

  1. ¿Cuáles son las principales tecnologías o plataformas que conoce que regirán 2018?
  2. ¿Cuál es la próxima gran novedad en informática?
  3. ¿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: –

  1. El contenido en el currículum es muy importante. Solo escribe aquellos puntos que puedas responder.
  2. Los buenos proyectos con un excelente discurso introductorio pueden llevarte a lugares.
  3. 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.
  4. Nunca saltes directamente al mejor enfoque aunque lo sepas. Intenta ir paso a paso, lo que arroja una buena impresión.
  5. No dudes en pedir sugerencias o sugerencias. Los entrevistadores son geniales y le mostrarán la dirección en la que quieren que piense.
  6. Cuida tus palabras. Piense antes de hablar cualquier término técnico. El entrevistador podría profundizar en eso.

Me entrevistaron para la pasantía de verano de Codenation (2018) a través de mi actuación en CodeAgon (clasificada 124) celebrada el 2/9/17. RRHH me envió por correo el 10/7/17 solicitando mi currículum y las rondas de entrevistas estaban programadas para el día siguiente. Iba a ser un proceso de tres rondas, dado que despejo una, luego solo califico para la siguiente.

Ronda 0 (R0, Skype)

Tiempo : se suponía que debía ser de 30 minutos, pero duró aproximadamente 55 minutos. (4:45 p.m. a 5:45 p.m.)

La entrevista comenzó con una descripción de mí mismo, mi campo de interés en informática y la introducción a proyectos. Solo tenía 1 proyecto en mi currículum. El entrevistador me hizo preguntas sobre lo mismo al principio.

  1. ¿Cuánto califico la dificultad del proyecto?
  2. ¿Qué otras características podría agregar al proyecto y cómo lo hago?
  3. ¿Cuáles fueron los problemas / dificultades que enfrenté al hacer este proyecto y cómo los mejoré?

Casi pude responder a todas las preguntas con confianza. Esto duró unos 20 minutos. Entonces el entrevistador me preguntó sobre el interés en Machine Learning. Respondí afirmativamente que tengo conocimiento de algunos algoritmos básicos relacionados con el aprendizaje automático. Probó lo mismo, haciéndome algunas preguntas sobre el mismo.

  1. ¿Cuáles son las diversas formas en que podría entender / leer un gráfico que tiene más de 1,00,000 puntos?
  2. ¿Qué algoritmos podrías usar para generar lo mismo?

Esperaba que respondiera el algoritmo de descenso de gradiente, pero en cambio, le di el algoritmo, no estaba al tanto del nombre. Probablemente, este fue el único punto probablemente en la entrevista donde busqué un poco. Esta parte fue por unos 15 minutos.

Después de esto, me preguntó mi rango en CodeAgon, seguido de una pregunta DSA. Le di un O (N ^ 3) seguido de O (N ^ 2) en unos minutos, y luego me tomé un tiempo para encontrar un O (NlogN). Él dijo, lo convierto en O (N) y agregó que estaba pensando un poco complejo, y que un pequeño cambio me haría darme cuenta. Entonces se me ocurrió la solución O (N). Me pidió que lo codificara en colaboración, y luego me pidió que lo depurara. Esta parte fue de unos 15 minutos.

Más tarde, me preguntó si tenía alguna pregunta para él. Discutimos durante 5 a 10 minutos.

Fui seleccionado para la siguiente ronda.

Ronda 1 (R1: Skype)

Tiempo: se suponía que debía ser de 30 minutos, pero duró aproximadamente 1 hora y 10 minutos. 7:45 p.m. a 9:00 p.m.

Comenzó con una discusión del proyecto que había hecho. Durante unos 5 minutos lo discutimos. Se hicieron preguntas algo similares a las de la ronda anterior.

Luego, me preguntó sobre mi pasantía pasada que hice en Finanzas y Tejido de Rajnagar Textile Mills (Ahmedabad). No sé por qué estaba tan interesado, pero me hizo algunas preguntas sobre finanzas y cómo contribuí en el departamento de tejido allí. Además, dijo, algunas preguntas sobre conceptos de minería de datos, ya que manejé un poco de datos mientras trabajaba en el departamento de finanzas.

  1. ¿Qué discrepancias vi a menudo en los datos?
  2. ¿Cómo resolví esas dependencias?
  3. ¿Cuáles fueron los problemas que enfrento en el molino? Cuán amables fueron los otros trabajadores, etc.
  4. ¿Por qué no mencioné sobre Weaving Dept Project en mi currículum? (a lo que dije, lo encontré irrelevante)

Esta parte duró unos 15 minutos.

Más tarde, me hizo algunas preguntas sobre los conceptos de OOP y DBMS. Esto duró unos 15-20 minutos.

Fue seguido por una pregunta de DSA sobre pilas. Me llevó de 5 a 10 minutos encontrar el algoritmo y luego, me pidió que lo codificara y me pidió que escribiera casos de prueba para probar mi código. Me llevó unos 15 minutos terminar esta parte.

Luego me hizo una pregunta de permutación y combinación, seguida de una pregunta sobre probabilidad. Esto tomó alrededor de 5 minutos para resolver.

La entrevista fue realmente agotadora, ya que parecía interminable.

Fui seleccionado para la ronda final.

Ronda 2 (R2, Skype)

Tiempo : se suponía que duraba 1 hora, pero duraba 1 hora y 30 minutos. (10:40 p.m. a 00:15 a.m.)

Comenzó directamente con una entrevista preguntándome sobre mi interés en los juegos, bromeando sobre mi bajo CGPA. Respondí afirmativamente y luego dijo: diseñemos un juego como Counter Strike para la próxima hora.

Preguntas:

  1. ¿Qué características tiene Counter Strike y qué más me gustaría tener aparte de ellas?
  2. ¿Cuál sería la arquitectura de tu juego?
  3. ¿Cuáles son las optimizaciones que agregarías a tu juego?
  4. ¿Cómo se ahorra el tiempo del jugador? (básicamente, pidiéndome algoritmos para mejorar el tiempo de espera)
  5. ¿Cómo se asegura que la latencia (retraso) experimentada por los jugadores sea mínima teniendo en cuenta el hecho de que no deben esperar demasiado para hacer cola?

Las preguntas (aparte de las dos primeras) fueron las preguntas que me hice yo mismo frente a él. Era más bien, él me estaba presionando para seguir mejorando mi diseño al preguntarme defectos u optimizaciones que puedo hacer. Más tarde, me pidió que codifique los algoritmos y cómo creo la parte de las bases de datos y las redes.

No fui seleccionado después de esta ronda.

Creo que me equivoqué un poco con el algoritmo de colas y con la parte de configuración de red y servidor.

Lo que me di cuenta de la entrevista es que uno debe escribir solo aquello en lo que él / ella confía.

Además, está bien pedir pistas o pistas de la entrevista y hablar con él sobre su enfoque. En las tres entrevistas, los entrevistadores parecían estar muy interesados ​​en saber cuáles eran mis pensamientos mentales.

CodeNation llegó a las instalaciones de nuestra universidad a fines de julio del ’15 para contratar pasantes de verano. Nosotros, en IIT (BHU), ya habíamos oído hablar de la magnífica cultura de CodeNation, y estábamos muy emocionados de ser seleccionados para lo mismo.
El criterio de contratación de pasantes de CodeNation es uno de los más duros y geniales que he encontrado.
Todo comenzó con una ronda escrita en HackerRank. Hubo 4 preguntas que debieron resolverse en 1 hora y media. La primera pregunta fue Cakewalk, la segunda se basó en DP 1-D, la tercera se basó en Greedy y la última fue DP 2-D. Logré resolver 2 y medias preguntas (la mitad significa algunos casos de prueba de una pregunta), y fui seleccionado para el proceso de entrevista, junto con algunos otros compañeros de lote.
Junto con la entrevista, también hubo una ronda de depuración. Entrevista para aquellos que obtuvieron buenos puntajes en la ronda de Escrito y Depuración para aquellos que obtuvieron menos calificaciones, pero que permanecieron en el proceso de selección. (Básicamente, la ronda de depuración es una ronda intermedia entre escrita y entrevista). 4 personas fueron preseleccionadas para la entrevista directamente y 13 para la ronda de depuración.
En la ronda de depuración, se le dio un código a las personas y tuvieron que “DEPURARLO”. Alrededor de 4-5 llegaron a la entrevista de la ronda de depuración.
Ahora llegaron las rondas de entrevistas. Básicamente, las entrevistas se basaron en Skype. En la primera ronda, me encontré con un alumno de IITB. En primer lugar, me pidió que me describiera, y todas las cosas que había hecho hasta entonces. Luego me pidió que describiera en detalle mi proyecto y yo describí mi proyecto de análisis de datos que había hecho. Luego me hizo una pregunta: dado un árbol binario (para simplificar uno puede suponer que está completo), tuvimos que invertir todos los nodos en un nivel particular para cada nivel alternativo. (Tenga en cuenta que tenemos que hacer cambios en el árbol, y no solo imprimirlos). No conocía ningún algoritmo estándar, así que ideé una solución elegante por mi cuenta. Algunos de mis amigos me dijeron que se podía hacer con Queue. Sin embargo, utilicé la recursión. Por último, el entrevistador me preguntó si alguna vez se había encontrado con esa pregunta antes, pero la respuesta fue obviamente no, ya que había descubierto la solución por mi cuenta. Entonces fui seleccionado para la segunda ronda de entrevistas. Solo 3-4 personas llegaron a la segunda ronda de entrevistas.
Más tarde, alrededor de la medianoche de la misma fecha, se programó mi segunda ronda de entrevistas. Aquí me encontré con un miembro del equipo de CodeNation, de Dubai HQ. Esta fue una de las mejores experiencias para mí hasta la fecha. La entrevista fue muy lenta al principio, y luego tiende a INF más tarde. El entrevistador se presentó por primera vez y me pidió lo mismo. Me preguntó sobre el sistema operativo que uso (la respuesta era obviamente Ubuntu 14.04 😛), luego me preguntó cómo instalar algún software y bibliotecas en él (la respuesta fue manual y desde el centro de software / línea de comando apt-get). Luego me preguntó cómo funcionaba y cómo buscaba el software / biblioteca disponible (si existía) (a través de algún tipo de hash de cadena o algún tipo de árbol como DS). Luego bombardeó algunas preguntas sobre hashing.
Se detuvo aquí por algún tiempo y me preguntó sobre el proyecto que tenía en el verano actual. Le expliqué profundamente sobre los detalles y los principales puntos de quiebre del proyecto.
Luego regresó al instalador de software (Aptitude) y me pidió que escribiera un código para resolver las dependencias de un software, instalarlo primero y luego Instalar el software. Diseñé una solución de O (n) a través de la recursión (Fuerza Bruta). Luego modificó la pregunta: supongamos que queremos instalar un software, que depende de algún otro software, ese software depende del número de otro software, etc., y supongamos que podemos instalar una cantidad de software a la vez (obviamente, después de resolver el problema). dependencias de esos software), queremos una lista de listas, indicando el mejor orden en el que podríamos instalar el software.
Pensé en algunas cosas y DS como árboles, pero no funcionaron. Así que hice Directed Graph, con nodos como software y dependencias como bordes.
(No diré la solución completa aquí, ya que es mejor probar primero. Pero la solución es bastante simple después).
El entrevistador se sorprendió al saber que, a pesar de que no había tenido mi curso de SO, podía responder todas las preguntas relacionadas. Y así, llegué a HR Round.
La Ronda de Recursos Humanos NO fue una entrevista seria, sino que fue solo una interacción entre mí y Recursos Humanos. Ella me preguntó cómo me sentía sobre el proceso y mis preferencias laborales entre Startup y una empresa bien establecida. Abordé todas las preguntas con sinceridad.
Más tarde fui seleccionado para la pasantía de verano 😀
¡Este proceso de selección fue una experiencia única para mí! Sin embargo, debido a una serie de eventos, iré a Microsoft en lugar de CodeNation.
¡Pero CodeNation literalmente me hizo sentir lo que es ser un estudiante de CSE!

More Interesting

¿Qué se debe preparar para una entrevista técnica en pantalla telefónica?

Dado todo el tipo / aleatoriedad anti-loop de la entrevista que puede suceder, ¿puede un desarrollador promedio incluso aspirar a trabajar en Amazon / Google / Facebook?

¿Cómo me preparo para las rondas técnicas en las entrevistas del campus?

¿Qué lenguajes y temas de programación debo aprender para las entrevistas y colocaciones de pasantías?

Cómo invertir una matriz usando la cola en O (n)

¿Cómo corrijo un error que cometió mi entrevistador en una entrevista telefónica con Google?

Me pidieron que resolviera un conocido problema de NP completo en una entrevista. ¿Debería negarme a resolverlo?

¿En qué preguntas básicas de entrevista PHP / MySQL debería centrarme? Tengo una entrevista técnica en San Francisco próximamente.

¿Aproximadamente cuánto tiempo se espera que pasen los candidatos para trabajos de programación en tareas de programación para llevar a casa?

¿Cómo se preparan otros ingenieros de software senior para codificar entrevistas?

¿Cómo puedo clasificar / calificar a los programadores?

¿Cómo debo comenzar a prepararme para entrevistas SDET (Ingeniero de desarrollo de software en pruebas) para empresas de productos como Flipkart, Amazon, etc.?

¿Por qué fallaste en tu entrevista técnica de software?

¿Cuáles son las razones por las que solo 1 de 7 candidatos recibe una oferta después de una entrevista en el sitio de Google?

¿Qué debo esperar en la entrevista de pasantía en IIT Bombay?