Soy estudiante de BCA y asistiré a la entrevista de IBM en un par de días. ¿Qué tipo de preguntas puedo esperar en la ronda técnica?

He compilado algunas respuestas de Quora e hice todo lo posible para dar un ua materia presentable. Lea esto detenidamente y siga los enlaces.

Es una respuesta larga pero vale la pena leer. Todo lo mejor 🙂


Para un puesto de ingeniero de software, puede esperar principalmente preguntas algorítmicas y de diseño del sistema. Por lo tanto, debe asegurarse de que puede resolver problemas algorítmicos básicos y codificar sus soluciones correctas rápidamente. También debe crear algunos antecedentes en el campo de los grandes sistemas distribuidos.

Como puedes hacer eso?

Para los algoritmos, hay un conjunto de temas básicos que debe saber absolutamente para estar preparado para lo que podría surgir en una entrevista. Debe poder evaluar la complejidad de tiempo y espacio de una solución y también saber cómo usar ciertos algoritmos y estructuras de datos.

Aquí hay una lista de ejemplo: clasificación, búsqueda binaria, algoritmos de cadena, gráficos, programación dinámica, matrices, listas, pilas, montones, árboles binarios, algunas técnicas de manipulación de bits y matemática simple como GCD, números primos, geometría simple.

Siempre he dicho que TopCoder es un gran lugar para aprender sobre estos y también practicar su uso en problemas algorítmicos reales. En HiredInTech hemos reunido una lista de temas algorítmicos importantes, que están cubiertos principalmente por los tutoriales y problemas de TopCoder: http://www.hiredintech.com/learn… (requiere registro gratuito).

Por supuesto, hay muchos libros excelentes que pueden enseñarle algoritmos, pero dado su tiempo limitado pueden ser difíciles de cubrir. Uno de esos libros es, por supuesto, “Introducción a los algoritmos”.

Tenga en cuenta que no basta con aprender los algoritmos o actualizar sus conocimientos. Necesita pasar la mayor parte de su tiempo resolviendo problemas reales. Yo diría que en TopCoder los problemas de la División 2 son muy adecuados. También se pueden hacer los problemas más fáciles (250 punteros) de Div 1.

Hay algunos otros sistemas de jueces en línea. Algunos de ellos se enumeran en los enlaces que he dado anteriormente. Más se discuten en este hilo de Quora: ¿Dónde puedo encontrar problemas difíciles de algoritmo / estructura de datos?

Si puede, pase la mayor parte de sus días golpeando los problemas de su juez en línea favorito. Ejecute sus soluciones contra las pruebas y vea cómo funciona. En TopCoder hay soluciones para todos los problemas, por lo que esto también es muy útil.

Recuerde que en las entrevistas en el sitio codificará en una pizarra , así que asegúrese de practicar haciendo eso. Es muy diferente de usar un IDE.

Con respecto a las preguntas de diseño del sistema , debe dedicar un tiempo a ellas según cuál sea su experiencia actual. Definitivamente familiarícese con algunas preguntas de ejemplo que se pueden encontrar en línea. Estas preguntas generalmente no son tan complicadas en términos de sus declaraciones, pero le permiten tener una discusión muy amplia y están destinadas a evaluar su capacidad para ver el panorama general y diseñar sistemas en el nivel superior.

Practicar esto incluiría pensar en cómo resolver cada uno de ellos. Si puede discutir sus soluciones con otro profesional, sería muy útil. Aprenda a hacer todas las preguntas aclaratorias necesarias, ya que esto es algo muy importante. Aprende a no asumir nada. En mi opinión, hay menos, si no hay codificación, mientras se prepara para las preguntas de diseño del sistema.

Finalmente, dedique un poco de tiempo asegurándose de poder hablar sobre su currículum y las preguntas no técnicas relacionadas con usted.

En las últimas 1-2 semanas, si es posible, pídale a un amigo suyo que realice una entrevista simulada con usted . De esta manera, aprenderá a mantener el ritmo en una entrevista real y le mostrará dónde se encuentra. En las entrevistas reales es muy importante estar bien preparado para resolver problemas, pero también debe tener una estrategia sobre cómo actuar. Esto viene con entrevistas simuladas.


Aquí hay una lista de los 25 rompecabezas más importantes que se han preguntado en la entrevista técnica superior.

  1. Rompecabezas clásico de 2 huevos y 100 pisos
  2. Puzzle de Cinco piratas y monedas de oro
  3. Rompecabezas de seis piratas y monedas de oro
  4. Probabilidad de tener un niño
  5. Asientos de avión al azar
  6. Rompecabezas invertido
  7. Voltear Monedas Rompecabezas
  8. Tres colores de sombrero Microsoft Puzzle
  9. 25 caballos 5 pistas Puzzle
  10. Gold Bar Puzzle
  11. Cruzando el puente Puzzle
  12. ¿Aceptarás la apuesta?
  13. El rompecabezas de 100 sombreros
  14. El hombre cayó en pozo Puzzle
  15. Cantidad mínima de pesos
  16. Una bombilla con 3 interruptores
  17. Encuentra el número mínimo de aviones
  18. Cuerdas ardientes para medir el tiempo
  19. Conecta 3 casas con 3 pozos
  20. Mide 9 minutos del rompecabezas de 2 relojes de arena
  21. Problema de hormiga y triángulo
  22. El hombre en el elevador
  23. Encuentra al sobreviviente
  24. Libera el rompecabezas de los prisioneros
  25. LA GRAN ESTRATEGIA SOLO PUEDE SALVAR LA VIDA

Especialmente para Microsoft Interview Puzzles, puede consultar,

Top 15 rompecabezas de entrevistas de Microsoft

Rompecabezas de entrevistas de Microsoft

Otros rompecabezas de entrevistas más comunes

Top 25 Entrevista técnica puzzlefry.com Rompecabezas lógicos


Pero mi opinión personal varía un poco con respecto a la estrategia de preparación. Sugeriría hacer en el siguiente orden: –

1. Primero sé minucioso con un idioma. C ++ es la mejor opción.

Muchas personas se saltan STL. por favor no lo hagas

2. Luego aprenda e implemente todas las estructuras de datos estándar (pila, cola, lista vinculada, HASH TABLES ) y operaciones en ellas

3.aprender e implementar algoritmos de búsqueda y clasificación

(combinación de clasificación, clasificación rápida, clasificación de montón, búsqueda binaria … etc.)

————————-

————————-

————————-

———

4. Aprender e implementar técnicas estándar de resolución de problemas.

  1. Recursividad
  2. Árboles: Inorden, preorder, postorder, traversal de orden de nivel Backtracking, Branch and Bound, DFS, BFSA Árboles avanzados como AVL, árboles de sufijo, árboles B (pueden omitir inicialmente pero aprender cuando sea necesario) Para implementar árboles, DEBE ser minucioso con los punteros.
  3. Técnica codiciosa
  4. Gráficos:
  • Árbol de expansión mínimo
  • El camino más corto: Dijkstra, Kruskal, Bellman Ford, algoritmo Floyd Warshall

5. Divide y vencerás

6. Programación dinámica.

Por todo lo anterior, le sugiero que consulte: Estructuras de datos y algoritmos Made Easy 2nd Edition.

5. Solo aprender no es suficiente. Debes ensuciarte las manos e implementarlas. También debe saber cuáles son sus tiempos de ejecución y por qué es tanto tiempo de ejecución.

6. Ahora comience a resolver problemas en spoj (digamos 200) ordenando por no. de usuarios resueltos, es decir, en este orden Sphere Online Judge (SPOJ)

Esto cubre todo tipo de problemas. Después de resolver, podrás comprender en qué áreas eres fuerte y en cuáles no. Mejorar en consecuencia.

7. Después de eso, comience a resolver problemas para descifrar el libro de entrevistas de codificación . Tiene una buena compilación de problemas de entrevistas de manera ordenada.

8. Luego, vaya a GeeksforGeeks: un portal informático para geeks y preguntas de la entrevista de programación | CareerCup

solo resuelva problemas específicos de la empresa que le resulten difíciles (omita los fáciles)

No hagas nada de esto con prisa solo por completarlo. Tome su tiempo. Entiéndelos. Una vez que los entendiste claramente, resolver un nuevo problema es como un paseo de pastel 🙂

Después de esto, prepárese para rompecabezas y preguntas de diseño que también son importantes.

Nota: La mayoría de las personas solo buscan código en Internet. Pero no usarán YouTube, que es una fuente mucho mejor para aprender. Leer el código entendiendo la lógica lleva más tiempo y a veces irritante. Se requiere mucha paciencia. Así que aprende y entiende el algoritmo y luego el problema del código. Siempre DEBE buscar en YouTube cuando esté aprendiendo un algoritmo. Los tutoriales en video se pueden entender fácilmente que la versión de texto de la explicación y, por lo tanto, se puede ahorrar mucho tiempo.

Enlaces para canales (suscríbase):

a. mycodeschool (lo mejor de lo mejor)

si. saurabhschool

C. Página en youtube.com

re. Programación Paul

mi. Programación Entrevista

F. https://www.youtube.com/u

ser / ReelLearning / playlist

s

sol. https://www.youtube.com/u

ser / StevenSkiena / lista de reproducción

s

No puedo decirte exactamente el plan (es decir, cuánto tiempo lleva cada paso). Todo depende de cómo lo hagas. Vaya al siguiente paso cuando tenga suficiente confianza con la corriente. Creo que probablemente podrás hacerlo en 1 o 1 año y medio.

Descargo de responsabilidad: muchas personas dicen directamente que simplemente comience a resolver problemas en Sphere Online Judge (SPOJ). Y hay muchas personas que lo hicieron así y se convirtieron en buenos programadores. Pero siento que buscar en Internet y aprender nuevos algoritmos cada vez para resolver un problema en el juez en línea será irritante y no será divertido. Una vez que conoce todos los algoritmos básicos, la diversión viene de aplicar el algoritmo aprendido a un problema en particular. Además, muchas veces te quedas atascado mientras resuelves el http://problema.Así que sabrás claramente dónde estás retrasado y qué parte del algoritmo no entendiste. Entonces diría primero sufrir (aprender) y luego divertirse (resolver). Nuevamente, todo esto es mi opinión personal y esta no es “LA” forma de hacerlo.

ACTUALIZACIÓN : la respuesta a continuación también será útil

¿Cómo debo comenzar a prepararme para entrevistas en compañías como Microsoft, Google, Directi, Flipkart, Amazon y otros conglomerados tan grandes?

El procedimiento de colocación de IBM se divide en tres subprocesos principales:

1) Prueba de aptitud y prueba de inglés

2) Entrevista técnica

3) Entrevista de recursos humanos

Puede obtener preguntas de muestra de temas sabios en:

Preparación de colocación de IBM