CodeChef Software Engineer Internship Experiencia en entrevistas

Soy un usuario habitual de LinkedIn y me encontré con el cartel de la pasantía de ingeniero de desarrollo de software de CodeChef cuando estaba navegando por el feed un día. El proceso de entrevistas de CodeChef es muy diferente al de la mayoría de las otras empresas, incluida su array Directi. Debido al COVID-19, todas las rondas fueron virtuales.

Ronda de codificación en línea en CodeChef – 3 horas
– 1ra y 2da pregunta eran de nivel principiante.
– 3ra pregunta (Fácil) – Te dan una array A1, A2, …, An de tamaño N. Un par (i, j) es bueno si y solo si 1 <= i < j <= N y Ai+Aj es un número primo Necesita encontrar el número de buenos pares en esta array. (Truco: usar el tamiz de Eratóstenes para encontrar números primos)
– Cuarta pregunta (Medio) – Pregunta de mochila modificada (Programación dinámica)
– Quinta pregunta (Difícil) – Basado en gráficos
De estos, pude resolver 4 de ellos y obtuve en la siguiente ronda.

Ronda de desarrollo de aplicaciones web: 10 días de tiempo
: me dieron la pila de tecnología que tenía que usar: PHP (Slim Framework) + MySQL + ReactJS.
– Me dieron acceso a la API oficial de CodeChef y la tarea era crear un campo de concursos con funciones como búsqueda de concursos, problemas, etc. Lo interesante aquí fue que las API de CodeChef tienen una tasa limitada. Así que tuve que almacenar en caché los datos en un servidor intermedio durante un intervalo de tiempo específico y luego enviar los resultados al front-end.
– Me pidieron que enviara el código ingresando a un repositorio privado de GitHub. Encuentre la vista previa de la aplicación web a continuación

Discusión sobre la aplicación web + Ronda técnica – 1 hora
– La entrevista comenzó con cómo construí la aplicación web y cuáles fueron los desafíos que enfrenté.
– Luego me hicieron algunas preguntas fundamentales de OS, DBMS & Networks.
– También me pidieron que explicara las tecnologías que había mencionado en mi currículum, como Docker, MongoDB, etc. (Consejo profesional: asegúrese de saber explicar cada palabra en su currículum).

La ronda DSA más esperada: entrevista telefónica, 1 hora
: dada una array de n enteros positivos con duplicados, ¿cómo convertirá la array de manera que todos los elementos sean distintos con el mínimo número de movimientos? El problema es que solo puede realizar un tipo de operación, pero puede repetirse cualquier cantidad de veces: para cualquier par en la array, (Ai, Aj) se puede convertir en (Ai, Ai + Aj)
– Después de algunos tiempo de pensar y discutir con el entrevistador, pude encontrar una solución usando hash-maps en tiempo cuadrático. Luego, me pidieron que optimizara. Después de hacer una prueba con algunos ejemplos, observé algo (reemplazar cualquier elemento con la suma de sí mismo y el elemento máximo en la array) y se me ocurrió una solución en tiempo lineal. Y luego me pidieron que codificara lo mismo en mi idioma favorito (C++).
– Mi sugerencia aquí es pensar en voz alta. Su proceso de pensamiento importa más que la solución en sí.

Ronda final de entrevista con el CTO de CodeChef – 30 minutos
– Esta fue más una discusión informal sobre mí, mis antecedentes familiares, intereses. Todo lo que tenía que hacer era mantener la confianza y compartir mis historias.
– También compartió sobre la evolución de CodeChef y su cultura.
– El CTO me informó de inmediato que estaba dentro.

Aquí termina el proceso de entrevista de un mes y soy seleccionado para la pasantía SDE en CodeChef 🙂

Estrategias y consejos de preparación
: no hay atajos para el dominio. Práctica. DSA es muy esencial para cualquier ingeniero informático, ya que los marcos web pueden aparecer y desaparecer, pero este tema ha existido y seguirá existiendo mientras existan datos. Por lo tanto, la mayoría de las empresas de desarrollo de productos le dan alta prioridad.
– Si tiene tiempo suficiente para prepararse, puede mejorar sus habilidades de pensamiento lógico resolviendo problemas en Codeforces, CodeChef y también siguiendo el siguiente punto.
– Pero si el tiempo es corto, entonces es mejor practicar las preguntas estándar de DSA en GeeksForGeeks, HackerRank, Leetcode.
– Bueno, incluso si eres bueno en DSA, no es suficiente para aprobar una entrevista de este tipo a menos que tengas algo de experiencia en desarrollo web. Para eso, le sugiero que aprenda algunas de las últimas tecnologías de aplicaciones web/móviles y cree algunos proyectos paralelos. También intente contribuir a proyectos de código abierto en GitHub para que tenga una mejor comprensión de cómo se ve la codificación en la vida real.
– Prepara tu perfil de LinkedIn y sé un usuario activo. Es posible que encuentre una oportunidad en cualquier momento, como lo hice yo. También te ayuda a mejorar tu red profesional.

Publicación traducida automáticamente

Artículo escrito por rajkumaar23 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 *