¿Cómo debo comenzar a revisar de manera competente mis conceptos de C / C ++ para entrevistas?

Como soy alguien que recientemente participó en el proceso de entrevistas en el campus, considero que soy capaz de responder esta pregunta.
Primero dividamos todo C / C ++ en cuatro partes principales:

  • C: esto tendrá todo lo que es común entre C y C ++. Esto incluiría cosas como estructuras, punteros, matrices, precedencia de operadores, puntos de secuencia y declaraciones complicadas. El método apropiado para estudiar esta sección es estudiar Dennis Ritchie y Brian Kernighan’s The C Programming Language de principio a fin. Puede referirse solo a la parte subrayada / resaltada. Alternativamente, podrías pasar por geeksforgeeks. Esto tomará alrededor de 4 días.
  • Elementos internos de C / C ++: esto incluiría procedimientos de compilación (compilación adecuada, vinculación, archivos de objetos, preprocesamiento), endian grande / pequeño, archivos de objetos, llamadas a funciones en el nivel de ensamblaje y otras cosas de bajo nivel. Puede consultar comp.lang.c Preguntas frecuentes o el sitio web de GCC para esto. La página del preprocesador C en Stanford es un buen recurso. Esto tomará alrededor de 2 días.
  • C ++: incluye conceptos de OOPS como herencia, polimorfismo, sobrecarga de operadores, herencia múltiple, palabras clave como amigo, volátil. Para esto, recomendaría pasar por los capítulos relevantes del texto C ++ de Bruce Eckel, Volumen 1. También puede considerar leer el texto de Herbert Schildt, pero eso es algo genérico y menos detallado. Esta es la parte más importante, y las preguntas se hacen principalmente en esta sección; funciones virtuales / mecanismo virtual es una pregunta frecuente. Esto tomará alrededor de 4-5 días.
  • C ++ STL: como usted afirma que ha estado programando en C ++, supongo que se siente cómodo con STL. Para mejorar su conocimiento de STL, puede consultar C Programación.com o cppreference.com. Recuerde que ciertas compañías pueden no preferir candidatos que usan STL para preguntas en papel y lápiz, pero otras como Amazon podrían preferir eso. Considere aprender mapa, conjunto, vector, lista, par, pila, cola, algoritmo. Además de la API STL, sería mejor si tiene conocimiento de las implementaciones internas de vectores y mapas (por ejemplo, el mapa se implementa utilizando Red Black Trees); es posible que se le pregunte cuáles son las complejidades de estas funciones STL y cómo implementarlas en papel. Las complejidades para las funciones STL están disponibles en cppreference. Si está interesado en practicar algunos programas STL, puede resolver algunos problemas de LeetCode Online Judge. Esto tomará alrededor de 2-3 días.
  • Varios: como las diferencias entre C y C ++ y C ++ / Java. Estos se pueden encontrar en GeeksforGeeks en la sección C / C ++. Esto será alrededor de un día de trabajo.

Temas que debes hacer primero:

  • Mecanismo virtual y funciones virtuales.
  • Sobrecarga del operador
  • Implementación manual de funciones STL
  • volátil, externo, estático, mutable, clases de almacenamiento en C
  • Cálculo del tamaño de la estructura; estructura vs unión

Eso sería suficiente para una revisión de 14 días.

Puedo indicar C ++, he estado trabajando en ello durante mucho tiempo y estoy en el mismo barco. Necesito actualizar mis habilidades. Esto es lo que estoy haciendo, recuerdo cómo empezar (concepto OOAD, herencia, polimorfismo, excepción, rtti). Si ha trabajado durante una buena cantidad de tiempo, cualquier buen sitio web debería hacerlo. También echaría un vistazo en preguntas frecuentes de C ++.
enlace (Preguntas frecuentes de C ++)
Para temas avanzados como STL, Plantillas / DS, etc. Volvería a mis viejos libros, a los que me referí cuando comencé a estudiar. Una vez que empiezo a leer, comienzo a recordar temas que había practicado anteriormente. Mi conjetura C ++ Standard Library por Nicolai Jossutis es una buena referencia para STL. También el libro de plantillas C ++ es bueno.
Para DS y Algo, me referiría al sitio geekforgeeks.

La mejor práctica que estoy intentando en este momento es crear mis propias notas junto con un código de muestra (con comentarios) sobre un tema para poder usarlo para referencias futuras más rápidas.

Espero que esto ayude.

Comience con 4- básico
Encapsulamiento
Herencia
Polimorfismo (parte de la mesa especialmente virtual)
Abstracción

Recuerde ver todos los conceptos de Constructor, destructor , palabras clave const estáticas y mutables, funciones de amigo.

Consulte Geeksforgeeks c ++. y listo

Necesitas a Cudeeb. Fue escrito específicamente para este propósito.

Hazte un favor y échale un vistazo.

More Interesting

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

¿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?

¿Puede la confianza eclipsar el conocimiento en una entrevista?

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).

Cómo mejorar mi proceso de pensamiento para las entrevistas de codificación

Cómo dejar de sentirse mediocre en algoritmos y estructura de datos en entrevistas técnicas

¿Cómo se puede ir más allá de las estructuras introductorias de informática / datos y comenzar a construir programas y aplicaciones por su cuenta?

¿Por qué EPFL no produce grandes programadores que puedan descifrar entrevistas técnicas de compañías como Google, Facebook, Palantir, Amazon, etc.?

Cómo prepararse para una pasantía técnica de verano en Google en India

¿Cuál es la mejor manera de prepararse para las entrevistas de Java?

¿Qué tipo de preguntas se hacen en entrevistas para estudiantes de primer año (Mecánico)?

¿Qué libros recomendará para que un estudiante de CSE (BE / B.Tech) sea seleccionado por buenas compañías como Google, Microsoft, Amazon, etc.?

¿Qué necesito saber sobre el recolector de basura en Java para una entrevista técnica?

¿Por qué apesta la programación visual?

¿Cómo se marca el ritmo mental, emocional y físico para un día completo de entrevistas técnicas en empresas como Google, Facebook, Microsoft?