Cómo estar bien preparado para responder algoritmos y estructuras de datos en una entrevista de Google

En general, sería entrevistado 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 algunas semanas a cada uno de los temas anteriores en negrita: estudie el capítulo en unos 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 y el tiempo que tenga, 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 / temas particulares.

More Interesting

Se le da una matriz ordenada, que aumenta monotónicamente y disminuye de la misma manera. ¿Cómo idear un algoritmo para encontrar el índice de un elemento en esta matriz sin calcular el pivote? El tiempo de ejecución debe ser O (log n). Puede suponer que no hay ningún elemento duplicado en esta matriz.

¿Abordas los problemas de codificación de entrevistas de manera diferente a los problemas reales?

Cómo destacar en una entrevista técnica cuando no soy el mejor

¿Cuáles son algunos buenos consejos de entrevista para un puesto en Java?

¿Qué preguntas de entrevista debo esperar para un puesto en Java y OpenStack?

Si menciona en su currículum que tiene un nivel principiante de competencia en un lenguaje de programación en particular, ¿cuánto se espera que sepa?

¿Cómo debo responder a las preguntas de la entrevista técnica cuando no sé la respuesta?

¿Cuál será un buen libro o revista para seguir para programar entrevistas requeridas en prácticas y entrevistas posteriores a la graduación de colegios / universidades?

¿Cuáles son algunas preguntas básicas de C que se pueden hacer en una entrevista?

Mañana tengo una entrevista técnica en software acuvate para el rol de ingeniero de software. Alguien puede ayudarme?

Cómo prepararse para la entrevista de estructura de datos y crack

Quiero prepararme para mis rondas de entrevistas técnicas por JP Morgan (sucursal de Mumbai). ¿Qué preguntas hace JP Morgan para un desarrollador Java experimentado de 5 años?

¿Cómo se debe responder 'Cuéntame sobre ti' en una entrevista técnica?

¿Cuál es el proceso total de entrevistas en el campus en las universidades de ingeniería de la India? ¿Cómo puedo prepararme para esto?

¿Cuáles son algunas preguntas de entrevistas basadas en Hadoop MapReduce?