Cómo ser bueno en la programación de entrevistas dentro de 2 meses

Por lo general, se lo entrevistaría sobre algoritmos / estructuras de datos (y habilidades analíticas), programación y diseño de sistemas. Aquí hay una descripción general de cómo puede mejorar estas habilidades:

  • Paso 1: Algoritmos : Obtenga este libro – Diseño de algoritmo: Kleinberg / Tardos. Por alguna razón, este libro no es tan popular como los otros libros de algoritmos, pero está muy bien organizado. El conjunto completo de algoritmos se divide claramente en unos pocos capítulos: teoría de gráficos, algoritmos codiciosos, dividir y conquistar, programación dinámica , flujo de red y algunos otros temas diversos en algoritmos. Debería dedicar unos días a cada uno de los temas anteriores en negrita: estudie el capítulo en 1–2 días y haga los 50 problemas al final. Debido a que solo hay un número manejable de problemas en cada capítulo, puede resolver la mayoría de los problemas en un tiempo razonable. Es posible que desee omitir entre el 20 y el 30% de los problemas que son relativamente difíciles, pero debería poder resolver el 70–80% de los problemas, solo o con poca ayuda.
  • Paso 2: estructuras de datos y programación : para este paso, elija un idioma cuando comience y practique el uso de ese idioma solamente. Creo que Java es el mejor en lo que respecta a las entrevistas: orientado a objetos que ayuda a escribir código modular con mayor facilidad, tiene verificación de tipo, facilita el razonamiento sobre la corrección del código (a diferencia de Python) y tiene buenas bibliotecas para estructuras de datos y para manejo de cadenas (a diferencia de C ++). Encontré Cracking the Coding Interview bastante bueno. Una vez más, hay capítulos sobre cada tema importante (aunque más detallado que el libro anterior). Para cada capítulo, hay un conjunto de aproximadamente 10 problemas. Por lo general, omito los más fáciles y solo elijo los 1 o 2 problemas más desafiantes del conjunto. Dependiendo de su nivel, es posible que desee hacer lo mismo o probar todos los problemas. Para cada problema que resuelva, escriba el código desde cero sin un IDE . Y luego escribe casos de prueba. (De hecho, deje de usar IDE en la medida de lo posible en su trabajo diario. Esa será una buena práctica para aprender el idioma en el que está trabajando). Al momento de escribir el código, piense en la legibilidad, modularidad y eficiencia de su código. Finalmente, lea las soluciones proporcionadas.
  • Paso 3: Diseño del sistema : una vez más, descifrar la entrevista de codificación tiene algunos buenos problemas en esta área. Practicalos.
  • Paso 4: Preguntas de la entrevista : en esta etapa, querrá consultar los recursos en línea, como GeeksforGeeks y CareerCup.

Luego, en función de su autoanálisis, es posible que desee volver a uno o más de estos pasos y continuar trabajando en habilidades particulares.

“Estructuras de datos y algoritmos” es el tema favorito de las empresas entrevistadas. Puede comenzar con la resolución de problemas en estructuras de datos y libros de algoritmos.

Los enlaces de los libros en Amazon están abajo:

1. Resolución de problemas en estructuras de datos y algoritmos utilizando C

2. Resolución de problemas en estructuras de datos y algoritmos usando C ++

3. Resolución de problemas en estructuras de datos y algoritmos utilizando Java

4. Resolución de problemas en estructuras de datos y algoritmos con C #

5. Resolución de problemas en estructuras de datos y algoritmos usando Python

“Resolución de problemas en estructuras de datos y algoritmos” es una serie de libros sobre el uso de estructuras de datos y algoritmos en la programación de computadoras. El libro es fácil de seguir y está escrito para el punto de vista de preparación de la entrevista . En varios libros, los ejemplos se resuelven en varios lenguajes como C, C ++, Java, C #, Python, VB, JavaScript y PHP.

Composición del libro
Este libro está diseñado para entrevistas, por lo que en el Capítulo 0 se proponen varios planes de preparación. Luego, en los capítulos 1, se explica una breve introducción del lenguaje de programación y el concepto de recursión. Se explican varios problemas basados ​​en recursividad y matriz.

Luego, en el próximo capítulo, analizaremos el análisis de complejidad. Luego analizaremos las técnicas de clasificación y búsqueda.

Luego estudiará las diversas estructuras de datos y sus algoritmos. Buscaremos en una lista vinculada, pila, cola, árboles, montón, tabla hash y gráficos.

Luego analizaremos el análisis de algoritmos, analizaremos algoritmos de fuerza bruta, algoritmos codiciosos, algoritmos de división y conquista, programación dinámica y retroceso.

Al final, analizaremos el diseño del sistema, que proporcionará un enfoque sistemático para resolver los problemas de diseño en una entrevista.

Tabla de contenido
Capítulo 0: Cómo usar este libro.
Capítulo 1: Introducción – Descripción general de la programación
Capítulo 2: Análisis de Algoritmos
Capítulo 3: Enfoque para resolver problemas de diseño de algoritmos
Capítulo 4: Tipo de datos abstractos
Capítulo 5: Búsqueda
Capítulo 6: Clasificación
Capítulo 7: Lista vinculada
Capítulo 8: Pila
Capítulo 9: Cola
Capítulo 10: Árbol
Capítulo 11: Cola prioritaria
Capítulo 12: Hash-Table
Capítulo 13: Gráficos
Capítulo 14: Algoritmos de cadena
Capítulo 15: Técnicas de diseño de algoritmos
Capítulo 16: Algoritmo de fuerza bruta
Capítulo 17: Algoritmo codicioso
Capítulo 18: Divide y vencerás
Capítulo 19: Programación dinámica
Capítulo 20: Retroceso
Capítulo 21: Teoría de la complejidad
Capítulo 22: Estrategia de entrevista
Capítulo 23: Diseño del sistema

Parece que ya tienes una buena experiencia de programación. Solo necesita repasar sus habilidades desde la perspectiva de la entrevista.

Creo que este es un punto muy importante para prepararse para una entrevista. Todavía puede programar en su trabajo, pero si no puede realizar en una entrevista, no puede obtener su codiciado trabajo en una empresa de su elección.

Por lo tanto, debe apuntar y prepararse para las preguntas que se hacen en una entrevista.

Hay algunos libros y cursos muy buenos disponibles en línea para la preparación de entrevistas.

  • Paso 1 : Revise los libros y cursos de preparación para la entrevista. Termine esto en dos semanas.
  • Paso 2 : identifica las lagunas en tu conocimiento. Dale tres días.
  • Paso 3 : Estudie las áreas que necesitan más atención. Dale tres semanas a esto. Puede asistir a algunos cursos específicos de estas áreas. No pierdas tu tiempo en Youtube cuando tengas poco tiempo. Mejor compre algunos cursos específicos para entrevistar en Udemy o Coursera.
  • Paso 4 : Revise los libros de preparación de entrevistas nuevamente para confirmar que su preparación está a la altura.
  • Paso 5 : Asista a una entrevista con la mente tranquila y la preparación completa.

¡¡¡Todo lo mejor!!!

Espero que ayude.

Sígueme en Gautam Gupta para obtener más información sobre consejos y trucos para la preparación de la entrevista.

Si quieres mejorar en las entrevistas, comienza a aplicar y supera muchas de ellas. Si no ha sido entrevistado últimamente, puede matar absolutamente al primero. La vergüenza y la ira te llevarán a practicar lo siguiente:

  1. Prepárate para hablar sobre ti y tus fortalezas. Prepárese para hablar sobre sus antecedentes y el impacto que tuvo en organizaciones anteriores. Sobre todo, prepárate para responder ” por qué deberían contratarte “.
  2. Investigue cada compañía antes de su entrevista. Aprenda sobre sus negocios, su cultura laboral y cualquier cosa que pueda encontrar en línea.
  3. Comprender las nuevas tendencias. ¿Qué es esta cosa de la nube por la que todos preguntan? Y qué diablos es DevOps y entrega continua.
  4. Entrevista simulada con un amigo. No solo las cosas técnicas, sino también las habilidades blandas y las preguntas de recursos humanos.
  5. Continúa enojado y da tantas entrevistas como puedas, mejorando cada vez hasta que finalmente obtengas ofertas.

Recuerde, no está fallando las entrevistas. Estás aprendiendo de todos y cada uno de ellos.

Buena suerte

Bueno, puedes aprender la teoría de estructuras de datos y algoritmos en 2 meses. Pero para saber qué tan bien los usa, qué ventajas y desventajas de cada algoritmo son difíciles de aprender en 2 meses. En la entrevista, es posible que se le hagan algunas preguntas como esta: “Describa 2 algoritmos de clasificación, compare los pros y los contras de cada método de clasificación, ¿cuál es el más adecuado en cada situación?”. Los entrevistadores pueden juzgar su conocimiento según lo bien que responda Este tipo de preguntas. Y el entrevistador hará otras preguntas, no se centrarán solo en estructuras de datos y algoritmos.

Buena suerte en tu entrevista, por cierto.

Si tiene tiempo, le recomiendo que practique lo que ha aprendido, para que tenga cierta intuición para resolver problemas reales de software. No está de más combinar eso con más teoría también.

La idea de prepararse para una entrevista es mala. Las empresas no quieren personas que sean buenas en las entrevistas, quieren buenos desarrolladores de software. Por lo tanto, las entrevistas están diseñadas para eliminar a las personas que hicieron un repaso de último momento y aprendieron un montón de “técnicas de entrevista” elegantes.

Si crees que eres débil en estructuras de datos y algoritmos, pasa las tardes y los fines de semana trabajando en ellos. Si ya hiciste esos cursos, todo debería volver a ti muy rápidamente … y si no lo hace, tal vez aún no estés listo para el trabajo que finalmente deseas.

Estaría preparado para hablar sobre los proyectos en los que trabajó, y sobre problemas particularmente interesantes y cómo los abordó / resolvió. También estaría preparado para investigar el problema en el que te contratarían para trabajar. Y haga algunos deberes sobre las empresas y sus dominios problemáticos.

Si comienzan a hacer preguntas sobre algoritmos o estructuras de datos o preguntas delicadas, les diría, cortésmente, que las mantengan. Y luego les dices algo como “He estado haciendo esto demasiado tiempo para decirte cómo escribo el código. Para cosas estándar, uso bibliotecas o busco cosas en Knuth. El trabajo duro viene en el diseño general del sistema y en la resolución de nuevos problemas específicos de la aplicación en cuestión. Ahora, si desea que describa algunas de las cosas en las que he trabajado, estaría encantado de hacerlo. Si desea hablar sobre el trabajo para el que está contratando, estaría aún más feliz de hacerlo “. Aún mejor es hacer suficiente tarea para ir con” … si desea hablar sobre el diseño de software para hacer tal vez podamos averiguar si soy la persona adecuada para el trabajo “. Luego, comience a hacer preguntas penetrantes sobre la aplicación, el entorno de tiempo de ejecución, su entorno de desarrollo, lo que tienen hecho hasta la fecha, y así sucesivamente.

Si eres un chico / chica senior, conoces tus cosas, tienes un buen historial y has hecho tu tarea, entonces te necesitan más de lo que tú los necesitas. Si quieren jugar juegos de entrevistas, probablemente no quieras trabajar para ellos. Y para una startup, realmente necesitas saber si saben lo que están haciendo antes de dar un salto.

Pero … tenga cuidado de presentar confianza, no arrogancia (a menos que la cultura lo exija).

En primer lugar, maldita sea, tienes mucha suerte de tener entrevistas así.

En segundo lugar, debe responder honestamente a las preguntas. Tienes la experiencia y las habilidades correctas?

More Interesting

¿Cuáles son las preguntas de la entrevista formuladas en el software Hypermesh?

¿Cuáles son las preguntas de la entrevista de codificación en Java?

Dada una matriz de 'n' enteros. ¿Encuentra los números 'k' de manera que la diferencia mínima de todos los pares posibles de números 'k' sea máxima (máxima entre otras diferencias mínimas para varias posibles selecciones de números k)?

Cómo dividir dos números, utilizando solo operaciones de bits, en Java

Cómo ordenar una matriz de N elementos por no más de N swaps

¿Qué debería hacer para aumentar mis posibilidades de ser contratado en Google?

Solicité un puesto de Platform Engineering C ++ en Mozilla, recibí un desafío (esperaba una entrevista) pero uso C. ¿Cómo puedo prepararme?

¿Qué debo elegir entre un trabajo en MNC y una pasantía en IIT?

¿Qué tipo de preguntas de diseño se hacen en la entrevista de Google / Facebook / Amazon?

¿Cuáles son las preguntas difíciles de programación (codificación) formuladas en la entrevista?

¿Cómo encuentra la distancia de edición entre una cadena dada y un RegExp?

Escriba una función recursiva para llenar una matriz MXN con valores de 1 a M * N en el patrón ESPIRAL (debería funcionar para cualquier M> = 0 y cualquier N> = 0).

¿Deberíamos dejar de dar problemas de algoritmo de estilo de pizarra en las entrevistas de programador? ¿Por qué o por qué no?

¿Cuáles son buenas preguntas de entrevista para una pasantía?

¿Cuánto cuestan las preguntas formuladas en la entrevista relacionadas con el perfil del trabajo? ¿Preguntas sobre estructuras algorítmicas y de datos especialmente?