Experiencia de entrevista de CodeNation

Fui incluido en la lista de discusión de CodeNation con CodeAgon, su competencia de edición. Mi puesto estaba entre los primeros 200 y realmente no esperaba ser seleccionado.

Hubo 4 rondas de entrevistas. Después de todos estos ciclos, estaba más seguro que nunca de que no calificaría para el siguiente. Entonces, nunca me molesté en prepararme para ninguna entrevista, pero tuve la suerte de romper cada ronda:

TL; DR: 2 rondas se basaron en la resolución de problemas y debates sobre proyectos anteriores, las otras 2 se centraron en el diseño de software/sistemas/bibliotecas. Excepto por el primer ciclo, cada ciclo tomó alrededor de una hora. Los interrogadores me aseguraron que entendía los problemas y me hicieron pensar en soluciones para el mismo problema con algunos ajustes.

Más detalles sobre la entrevista: Comprométete, esta será una respuesta larga. ¡Espero que saques algo útil de él!

Ronda 0 (Depuración): Tiempo: 25 minutos

  1. URL compartida de compartir conmigo que tenía una función de C++ en la que tenía que trabajar. Entradas y salidas esperadas proporcionadas.

El problema era determinar el número de capas palindrómicas dentro del alambre usando un sistema robusto. La tarea dada tiene algunos errores lógicos y concisos que tuve que corregir. Después de corregir los errores, expliqué la corrección del entrevistador y no di una buena respuesta, por lo que estaba escéptico sobre cómo transcurrió la conversación.

Ronda 1 (Problema algorítmico): Tiempo: 60 minutos

Esta debería ser una de las mejores conversaciones que he tenido.

  1. El entrevistado pasó de 15 a 20 minutos discutiendo mi proyecto de pasantía y mis intereses en Ciencias de la Computación.
  2. A continuación, me dio un problema algorítmico para resolver. No tuve contacto con programas competitivos durante mucho tiempo y estaba un poco oxidado. Me tomó alrededor de 8-10 minutos encontrar una solución. Después de confirmar la solución con el entrevistado, la apliqué a C++, asegurándome de usar diferentes palabras apropiadas y manejando casos en la esquina.

En un momento estuve en peligro de abandonar el problema, pensando que no habría mejor solución, pero el que me habló me obligó a pensarlo y finalmente

He visto una solución rápida. Realmente he aprendido la importancia de no rendirse en esta discusión.

Ronda 2 (Problema de diseño de ciclo): Tiempo: 60 minutos

Iba a saltarme esta conversación, ya que pensé que ya había tenido suficiente del proceso, y despejar algunas rondas no era mi taza de té.

Sin embargo, mi padre me instó a intentarlo.

Este ha sido el ciclo más difícil del proceso. El entrevistador parecía tener mucha experiencia e hizo varias preguntas que me hicieron preguntar por mis 4 años de estudios de Ciencias de la Computación.

  1. Me pidieron que diseñara API de edición de texto, como el Bloc de notas, con algunas características básicas como agregar letras, eliminar caracteres, copiar bloques de texto, cortar bloques de texto, etc. Tenía que decidir qué estructuras de datos podía usar de manera inteligente. También tuve que escribir un código falso de obras.

Mi interrogador me ha estado preguntando sobre las diversas decisiones de diseño que he tomado. Todas las decisiones interrumpieron el trabajo de otro proyecto de alguna manera, y estaba mejorando aún más mis soluciones.

Al final de la entrevista, me preguntaron sobre mis calificaciones promedio en la universidad (alrededor del 65 %, dibujos animados que usaron 85 % + puntos). La persona que me habló me dijo: “Simplemente resolver problemas de algoritmos de GeeksforGeeks no es suficiente. La ingeniería de software es mucho más compleja que esos problemas. ”

En mi cabeza, estaba pensando: «¡No me preparé para esta ronda!»

Sabía que todo había terminado y que tendría que unirme a la empresa que fabricaba los cajeros automáticos. Estaba feliz de haber roto 2 rondas.

Pasó una semana y un día recibí un correo del registrador informándome que era elegible para asistir a la siguiente ronda. También revisé mi correo electrónico para ver si realmente era para mí. Fue.

La próxima ronda se llevaría a cabo en dos días.

Ronda 3 (Problema de diseño): Tiempo: 45-50 minutos

Solo quería tener una buena conversación con el entrevistador, como hago con mis amigos, sobre cómo podemos inventar algo, señalar fallas en mi propio diseño a veces y tratar de arreglarlo, generar más oportunidades e intentar diseñar y pensar. fuera de la caja.

  1. El primer problema de este ciclo fue la creación de una función de resaltado de texto en varios idiomas de edición de texto. 
  2. El siguiente problema fue crear una función de buscar y reemplazar para el editor de texto.

En ese momento, ya estaba pensando que CodeNation creó editores de texto.

Los dos problemas anteriores eran atractivos. Todos los algoritmos asociados con el cable que conocía estaban dando vueltas en mi cabeza y estaba tratando de equilibrar las cosas, incluida la dificultad y decidir mi solución para mi entrevistador.

Mi entrevistado también discutió si usaría el malloc de C de manera diferente y cómo cambiaría.

Después de esta discusión, sentí una extraña sensación de satisfacción al participar en las desafiantes rondas de conversaciones que me hicieron pensar, aprender y crecer.

¡Mi experiencia con la interacción de CodeNation fue realmente genial!

Publicación traducida automáticamente

Artículo escrito por saurabhbhandari y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *