La preparación para sobresalir en una entrevista de codificación comienza meses antes de la entrevista en sí. Tendrá que obtener la experiencia adecuada, crear proyectos fuera de la escuela, encontrar pasantías, hacer miniproyectos para solidificar su comprensión de los conceptos clave, practicar la explicación del código y muchas cosas más. Sabemos que es difícil prepararse para las entrevistas técnicas y todos necesitamos orientación para comenzar a prepararnos en la dirección correcta. Para resolver este problema y despejar sus dudas, en este artículo, vamos a hablar sobre algunos puntos que lo ayudarán a abordar el proceso de preparación de la entrevista de codificación de manera efectiva. A continuación se presentan algunas cosas básicas que una persona necesita para conseguir un trabajo en una empresa de TI.
1. Crear un buen currículum: crear un buen currículum significa que su currículum debe poder pasar la evaluación inicial de un sistema de seguimiento de candidatos (ATS) que está programado para hacer coincidir las palabras clave de la descripción del trabajo. Su currículum debe contener solo información que sea relevante para la descripción del trabajo y eso también debe resaltarse ya que el reclutador revisará su currículum durante unos segundos. Por ejemplo, coloque el título del trabajo de la descripción del trabajo justo debajo de su nombre en la parte superior para que ATS clasifique su currículum más alto y el reclutador pueda observarlo de inmediato.
No puede asumir que sus roles y responsabilidades anteriores son exactamente lo que su futuro empleado está buscando. Revise 6-7 descripciones de trabajo y marque las responsabilidades, habilidades y calificaciones requeridas más comunes. Solo entonces, cree un currículum que hable de esa investigación. En la descripción de su historial de empleo, intente mostrar lo que hizo, cómo lo hizo y cuáles fueron los resultados (los resultados deben ser medibles). No corte las líneas técnicas para poner sus pasatiempos no técnicos.
Mientras carga su currículum en los portales en línea, asegúrese de que el PDF de su currículum tenga su nombre y año de experiencia. Si tiene experiencia, la sección de experiencia en su currículum debe estar por encima de todas las secciones, y en la sección de educación, mencione solo sus calificaciones recientes. En la sección de habilidades, no ponga lo obvio que significa que si ha escrito que sabe Python, entonces solo coloque las bibliotecas que se necesitan específicamente para el trabajo, no todo.
La sección del proyecto es realmente importante para estudiantes universitarios o recién graduados, piénsalo bien antes de hacerlo. Muchos candidatos cometen el error de agregar muchos proyectos que son pequeños y no impresionantes, no haga eso e intente incluir pocos (2-4) pero buenos proyectos que haya construido usted mismo. Debe saber todo sobre su proyecto, como «¿qué problemas ha enfrentado al realizar el proyecto y cómo los resolvió?», «¿En cuánto tiempo pudo encontrar la solución y cuál fue la razón para llegar a esto?» solución?», «¿Cómo es esto eficiente?», «¿Qué tecnología se utiliza al hacer este proyecto?» Podrá abordar estas preguntas solo si lo ha hecho por su cuenta y dándole el tiempo adecuado.
Aprenda e incluya múltiples lenguajes de programación en su currículum. Es cierto que solo necesita un lenguaje de programación para completar cualquier ronda de codificación, pero cuando se trata de entrevistas, debe conocer varios lenguajes de programación. Es obvio que cuanto más tiempo dedica a la codificación, más cosas ha creado, debe haber trabajado con varios idiomas, por lo que si está demasiado concentrado en un idioma, podría causar un problema, como cuando los entrevistadores ven un currículum con un idioma. , asumen que el candidato no ha experimentado muchos problemas y que puede ser difícil para él/ella aprender nuevas tecnologías en el tiempo requerido.
2. Crear un buen perfil de LinkedIn y destacar en su solicitud de empleo en línea: Cree un buen perfil de LinkedIn que puedan encontrar los reclutadores. Tu perfil debe tener una buena foto de perfil en la que seas claramente visible. Mucha gente comete el error de no incluir una foto de perfil o una foto que no es claramente visible. Disminuye las posibilidades de que los reclutadores lean tu perfil y también afectará la creación de conexiones (es una preocupación de confianza).
Asegúrese de actualizar su título desde el valor predeterminado. Ponga habilidades y palabras clave relevantes en su título para que el software de búsqueda de LinkedIn clasifique su perfil alto para las búsquedas de reclutadores. Trate de usar su perfil de LinkedIn para contar la historia, ya que no puede escribir todo en su currículum, pero puede mencionar claramente el problema que ha enfrentado al realizar cualquier proyecto, puede mostrar sus certificados, puntaje de prueba y mucho más en su Perfil de LinkedIn que no puede proporcionar en su currículum, ya que debe contener datos importantes y, preferiblemente, tener una página.
La creación de redes juega un papel importante en la búsqueda de cualquier trabajo, por lo que debe asegurarse de expandir su red en LinkedIn. Diríjase a 10-15 empresas para las que desea trabajar, vaya a LinkedIn y encuentre gerentes/directores sénior que estén trabajando allí. Envíales una invitación personalizada de LinkedIn y configura recordatorios de calendario para mantenerse en contacto con ellos cada dos semanas (Mantenerse en contacto significa ofrecer valor a tu red. No es «Hola», «Cómo estás», «Gracias por conectarte»). Comuníquese directamente con el gerente de contratación cuando sienta que está preparado.
Crea una carta de presentación que hable sobre problemas comunes en tu industria y cómo resolviste ese problema en el pasado. Dígales por qué quiere trabajar con ellos expresando su entusiasmo y agradézcales por leer su carta.
3. Superar la entrevista de trabajo: en la mayoría de las principales empresas de tecnología, las entrevistas de ingeniería de software generalmente consisten en: (a) Codificación (centrada en estructuras de datos y algoritmos que incluyen la mayor parte del proceso de entrevista), (b) Orientado a objetos Diseño, (c) Diseño y Escalabilidad del Sistema, (d) Conocimiento de Materias Básicas, (e) Entrevista Conductual. En la ronda de codificación, los entrevistadores harán una evaluación de su desempeño sobre la base de sus habilidades analíticas (qué tan óptima fue su solución, cuánto tiempo tardó en llegar a una solución, necesitó mucha ayuda para resolver el problema), habilidades de codificación (su código estaba limpio o no, pensó en casos límite) y habilidades técnicas (sus fundamentos informáticos son claros o no, etc.).
Su enfoque para abordar las preguntas que se hacen en la Ronda de codificación debería ser así:
1. Preste mucha atención a la declaración del problema: escuche o lea atentamente el problema y pregunte si no está seguro de algo. Muchas veces puede obtener pistas del enunciado del problema mismo. Supongamos que el entrevistador dice que se le da una array ordenada, entonces puede adivinar si debe buscar algún elemento en el problema, entonces para este problema, el enfoque óptimo será usar la búsqueda binaria en lugar de la búsqueda lineal. Del mismo modo, puede obtener sugerencias para resolver problemas de manera óptima simplemente escuchando atentamente las descripciones de los problemas.
2. Dibuje un ejemplo en la pizarra: dibujar un ejemplo puede ayudarlo a resolver una pregunta rápidamente al aumentar su habilidad de observación con respecto al problema. Mientras dibuja un ejemplo, no use un caso especial y asegúrese de que su diagrama sea lo suficientemente grande para que pueda encontrar errores (si los hay) en su algoritmo fácilmente.
3. Establezca una solución de fuerza bruta: establezca una solución de fuerza bruta lo más rápido posible, no intente dar un enfoque óptimo primero. Algunos candidatos piensan que esto es obvio y comienzan a tratar de brindar un enfoque óptimo desde el principio, pero debe comprender que si no establece un enfoque de fuerza bruta y comienza a luchar, su entrevistador podría pensar que no es el candidato adecuado como ni siquiera eres capaz de encontrar un enfoque simple.
4. Optimice su solución: después de obtener una solución de fuerza bruta, comience a optimizar su solución. Para optimizar, puede ver si hay información no utilizada, hacer un intercambio de tiempo y espacio, ver si la tabla hash puede ser útil, usar un ejemplo diferente, si tiene una solución con complejidad O (N ^ 2) , no intente reducirlo O (N) primero, piense si puede encontrar una solución que tenga complejidad O (N log N) usando un algoritmo de clasificación o algo así y luego piense si puede encontrar una solución más óptima como tener complejidad, EN). A veces, incluso la resolución incorrecta de problemas ayuda a encontrar soluciones optimizadas.
5. Verifique si hay algún error/ejecución en seco: no comience a codificar todavía, primero verifique si su algoritmo funciona para todos los casos de prueba (casos especiales, límite y casos que tienen una entrada/salida grande).
6. Implementar y probar: ahora puede implementar su código en el editor de código. Si no desea demostrar que es un mal desarrollador, escriba un código bueno y limpio, lo que significa que su código debería funcionar correctamente en todas las entradas esperadas e inesperadas. Debe ser eficiente en términos de eficiencia tanto asintótica como práctica, se deben considerar factores constantes. Debe ser simple y legible (el código legible no significa que deba incluir muchos comentarios, escribir comentarios solo cuando sea necesario; de lo contrario, la variable y el nombre de la función deben explicarse por sí mismos). El código debe adaptarse a los cambios. Debería ser fácil de mantener por otros desarrolladores. No debe «enviar» el código sin probarlo en la entrevista. Pruebe todos los casos conceptuales, especiales y extremos y si encuentra algún error mientras prueba su código, corríjalo con cuidado.
Si quieres prepararte para este tipo de rondas, debes tener conocimientos sobre estos temas:
- Estructuras de datos : listas enlazadas, árboles, gráficos, pilas, colas, montones, vectores/arraylists, tablas hash, etc.
- Algoritmos : búsqueda primero en amplitud, búsqueda primero en profundidad, búsqueda binaria, clasificación por fusión, clasificación rápida, etc.
- Conceptos: Manipulación de Bits, Memoria (Pila vs Heap), Recursividad, Programación Dinámica, Big O Time & Space, etc.
Algunos puntos para su estrategia de preparación para la entrevista de codificación
1. Entrevistas simuladas con amigos: puede formar un grupo de entrevistas simuladas con amigos (que tengan el mismo conocimiento que usted o más que usted) para entrevistarse entre sí. Pueden intercambiar comentarios y mejorar sus habilidades técnicas, así como sus habilidades de comunicación juntos. Haz siempre un grupo de personas que te motiven a superarte y te den los consejos adecuados.
2. Cree una lista para rastrear sus errores: cree una lista para rastrear los errores que ha cometido al resolver cualquier problema para que no repita los mismos errores durante la entrevista. Además, mantenga un registro de los errores que ha cometido al hacer proyectos y cómo los resuelve para que si el entrevistador pregunta sobre ellos, pueda explicarlos fácilmente. Muchas empresas realizan rondas de comportamiento y una de las preguntas famosas es para informar sobre sus errores/fallas, por lo que también puede escribir la respuesta a estas preguntas, ya que es difícil encontrar la respuesta adecuada en ese momento.
3. Comience a tomarse el tiempo usted mismo: debe poder resolver el problema en un marco de tiempo determinado en la entrevista real. Puedes mejorar tu eficiencia resolviendo tantos problemas como puedas.
4. Resuelva preguntas específicas: Resuelva preguntas de la empresa para la que está entrevistando, utilizando sitios como Glassdoor, GeeksforGeeks, etc. Hable con amigos que puedan haber sido entrevistados en esa empresa anteriormente.
5. Haga hojas de trucos y tarjetas didácticas para repasar: haga hojas de trucos cortas para problemas que haya resuelto antes y conceptos con los que no se sienta muy cómodo. Úselos para revisar los problemas rápidamente más tarde.
6. No salte de un sitio a otro: simplemente elija uno o dos buenos recursos y apéguese a ellos. Pasar de un libro a otro o de un sitio web a otro lleva mucho tiempo innecesario y, muchas veces, los candidatos se saltan preguntas de nivel difícil mientras se mueven de un sitio a otro y solo resuelven preguntas de nivel fácil, lo que no ayuda mucho.
Al final, debe recordar que todos los fundamentos y conceptos básicos de programación (según su currículum) deben ser claros para usted junto con un conocimiento decente de otras áreas importantes como estructuras de datos y algoritmos, y otras materias básicas de CS para dominar en el Entrevista de codificación!!
Publicación traducida automáticamente
Artículo escrito por sanjanasikarwar24 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA