P
prepair.app
Interview starten →
EnglishУкраїнськаРусскийDeutsch
🔷

Junior C++C++-Interviewfragen

Junior · keine Erfahrung / unter 1 Jahr

C++-Interviews testen drei Dinge: ob du das Objektmodell verstehst, ob man dir den Umgang mit Speicher zutrauen kann und ob du weißt, was die Standardbibliothek wirklich kostet. Hier sind die am häufigsten gestellten Fragen, jeweils mit einer Musterantwort. Junior: Grundlagentheorie, Definitionen und einfache Praxisfälle.

Probier es aus — kein Konto nötig
Deine Frage wird vorbereitet…

Themen zur Vorbereitung

Speicher, Pointer und RAII
OOP, virtuelle Funktionen und vtable
Move-Semantik und die Rule of Five
Templates und Metaprogrammierung
STL-Container und Komplexität
Nebenläufigkeit und Data Races

7 Fragen auf Junior-Niveau mit Antworten

1

Was ist der Unterschied zwischen einem Pointer und einer Referenz?

Antwort

Eine Referenz wird einmal gebunden und kann weder null sein noch umgebunden werden; ein Pointer kann null sein, neu zugewiesen werden und unterstützt Arithmetik. Nimm eine Referenz, wenn das Objekt existieren muss, einen Pointer, wenn es fehlen könnte. Da eine Referenz ein Alias und kein eigenes Objekt ist, liefert &ref die Adresse des referenzierten Objekts.

2

Wo leben Variablen – Stack, Heap oder statischer Speicher?

Antwort

Lokale Variablen leben auf dem Stack und sterben am Ende ihres Scopes. Alles, was von new kommt, lebt im Heap, bis etwas es löscht. Globale und static-Variablen leben für das gesamte Programm im statischen Speicher. Zu wissen, in welchem du dich befindest, beantwortet die meisten Fragen zur Lebensdauer – auch, warum das Zurückgeben der Adresse einer lokalen Variablen kaputt ist.

3

Was bedeutet `static` in C++?

Antwort

Drei verschiedene Dinge, je nachdem, wo es steht. Bei einer lokalen Variable bedeutet es eine einzige Instanz, die zwischen Aufrufen erhalten bleibt. Bei einer globalen Variable oder Funktion auf Dateiebene bedeutet es interne Bindung – nicht sichtbar für andere Übersetzungseinheiten. Bei einem Klassenmember bedeutet es eine einzige gemeinsame Instanz, die zur Klasse gehört statt zu jedem einzelnen Objekt, und eine statische Methode hat kein this.

4

Was ist der Unterschied zwischen einem `const`-Pointer und einem Pointer auf `const`?

Antwort

const int* p zeigt auf etwas, das du nicht verändern darfst – der Pointer selbst kann frei umzeigen. int* const p ist ein Pointer, den du nicht umbiegen kannst, dessen Ziel aber beschreibbar ist. Die Deklaration von rechts nach links zu lesen macht das mechanisch statt zur Gedächtnisübung, und const int* const p ist beides zugleich.

5

Was ist der Unterschied zwischen `delete` und `delete[]`, und was ist ein Memory Leak?

Antwort

delete gehört zu new, delete[] zu new[]; die beiden zu vermischen ist undefiniertes Verhalten, weil die Array-Form für jedes Element den Destruktor aufrufen muss. Ein Leak ist Speicher, der allokiert und nie freigegeben wurde – das Programm hält ihn weiter fest, und ein langlaufender Prozess wächst, bis er stirbt. Smart Pointer existieren genau deshalb, damit keiner der beiden Fehler passieren kann.

6

Was ist der Unterschied zwischen einer `class` und einem `struct`?

Antwort

Nur der Standardzugriff: struct-Member sind standardmäßig public, class-Member sind standardmäßig private. Beide können Konstruktoren, Methoden und Vererbung haben. Der Unterschied ist Konvention – struct für einfache Datenaggregate, class, wenn Invarianten geschützt werden müssen.

7

Was ist Polymorphie und wie ermöglicht `virtual` sie?

Antwort

Polymorphie bedeutet, dieselbe Schnittstelle aufzurufen und das Verhalten des tatsächlichen Typs zu bekommen. Eine Memberfunktion als virtual zu markieren bedeutet, dass der Aufruf zur Laufzeit anhand des dynamischen Typs des Objekts aufgelöst wird statt anhand des statischen Typs des Pointers. Ohne virtual ruft ein Aufruf über einen Basisklassen-Pointer die Basisversion auf – die häufigste Quelle für Überraschungen bei Leuten, die die Sprache lernen.

🦎

Antworten lesen reicht nicht

Im echten Interview sprichst du unter Druck. Cam stellt genau diese Fragen, bewertet jede Antwort und zeigt dir genau, was du verbessern musst.

Junior C++-Interview üben →
Kostenlos · 3 Interviews im Monat

Weitere Level — C++

Middle C++Senior C++Alle C++-Fragen

Weitere Spezialisierungen

🔍Junior QA Manual🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🐘Junior PHP-Backend🦫Junior Go-Backend🟢Junior Node.js-Backend💎Junior Ruby on Rails🟨Junior JavaScript⚛️Junior React Frontend