Die 50 wichtigsten Fragen und Antworten zu Programmierinterviews
Suchen Sie nach den wichtigsten Programmierfragen und -antworten, die Ihnen helfen, ein Vorstellungsgespräch zu führen? Hier sind die Top 50.

Softwareunternehmen sind immer auf der Suche nach guten Programmiertalenten, wobei Telefon- und Online-Interviews oft in nur wenigen Minuten über Ihr Schicksal entscheiden.
Ein guter Programmierer muss möglichst vielseitig sein – vom Systemverständnis über allgemeines Programmieren, unterschiedliche Konzepte und Technologien bis hin zur Aktualität.
Im Folgenden finden Sie eine Liste mit den 50 wichtigsten Interviewfragen für Programmierer und deren Antworten. Sie werfen ein Licht auf die vielfältigen Konzepte, die jeder Anfänger kennen muss, um sich zu übertreffen.
1. Was ist Computerprogrammierung?
Computerprogrammierung ist der Prozess der Codierung logischer Prozesse, die von einem Computer ausgeführt werden sollen. Dies wird durch die Verwendung einer Computersprache erreicht, die die notwendigen Anweisungen enthält.
Der Prozess kann weiter in Design, Codierung, Debugging und Aktualisierung unterteilt werden.
2. Was ist Debuggen?
Debugging ist der Prozess des Auffindens und Beseitigens von Fehlern in der Softwarequelle eines Computerprogramms. Es gibt viele Methoden, dies zu tun, aber die meisten Entwicklungsumgebungen verfügen über einen integrierten Debugger, um die Dinge zu vereinfachen.
3. Was ist ein Compiler?
Ein Compiler ist ein Softwareprogramm, das das geschriebene Programm nimmt und es in Maschinencode umwandelt, den ein Computer verstehen kann.
Ein typisches Compilerpaket besteht jedoch aus einem Präprozessor, dem Hauptcompiler, der die Computersprache in Assemblercode umwandelt, und einem Assembler.
4. Was ist ein Präprozessor?
Ein Präprozessor ist ein Programm, das den geschriebenen Computercode analysiert, um seine Abhängigkeiten, wie z. B. benötigte Bibliotheken, zu finden und zu erfüllen.
Nachdem der Präprozessor sichergestellt hat, dass alles, einschließlich der Ausführungsumgebung, in Ordnung ist, kann ein Compiler den Code in Assembler-Code konvertieren.
5. Was ist ein Assembler?
Ein Assembler ist ein Programm, das die niedrigste Ebene des für Menschen lesbaren Computercodes namens Assemblersprache in den Maschinencode umwandelt, mit dem ein Computer arbeiten kann.
Die Assemblersprache wird normalerweise von einem Compiler ausgegeben, obwohl man auch direkt codieren kann. Ein Assembler-Programm kann Code enthalten wie:
MOV AH, 02H
aber wenn Sie es in Maschinencode kompilieren, erhalten Sie nur Nullen und Einsen (z. B. 0110011110101010).
6. Wie wird ein Programm ausgeführt?
Zuerst lädt das Betriebssystem das spezifizierte Programm aus dem Festplattenspeicher in den Systemspeicher (RAM) und erlaubt ihm dann seine Ausführung, indem es die CPU anweist, seine Ausführung von der ersten Speicheradresse des Programms fortzusetzen. Die CPU führt jeden Befehl aus, den sie sieht, und wechselt dann zum nächsten, wobei sie diesen Vorgang oft millionenfach pro Sekunde wiederholt.
32-Bit-CPUs führen 32-Bit-Anweisungen (4 Byte, Doppelwort) auf einmal aus, während 64-Bit-CPUs 64-Bit-Anweisungen (8 Byte, Quad-Wort) auf einmal ausführen. Diese Anweisungen sind in die CPU eingebaut, und es ist der Assembler, der den Programmcode in die Binärzahlen umwandelt, die die nativen CPU-Befehlsadressen darstellen.
7. Definiere a Subroutine
Ein Unterprogramm ist eine Folge von Anweisungen in einem Programm, die jederzeit aufgerufen und ausgeführt werden kann. Mit anderen Worten, eine Subroutine kann eine Funktion, eine Methode oder eine Prozedur sein, die verwendet wird, um bestimmte Aufgaben wie das Senden einer E-Mail, das Öffnen einer Datei oder das Brute-Force einer Anmeldeseite zu implementieren.
8. Definieren Maschinensprache
Maschinencode ist eine Folge von Binärzahlen, die Ausführungsanweisungen eines bestimmten Mikroprozessors und seiner zugehörigen Speicheradressen enthält.
Maschinencode wird traditionell von einem Assembler ausgegeben, der für diese bestimmte Familie von Mikroprozessoren entwickelt wurde.
9. Erklären Sie Kompilierte vs. interpretierte Sprachen
Eine kompilierte Computersprache muss in Maschinencode umgewandelt werden, bevor sie auf einem Computer ausgeführt wird, während eine interpretierte Sprache keine vorherige Kompilierung benötigt.
Wenn Sie ein interpretiertes Programm ausführen, wird es zuerst von einem Interpreter verarbeitet, der es dann kompiliert und im laufenden Betrieb ausführt. Diese zusätzlichen Schritte machen interpretierte Sprachen wie Python langsamer als kompilierte Sprachen wie C.
10. Was ist eine Schleife?
Eine Schleife ist eine Codestruktur, die bestimmte Anweisungen wiederholen kann, bis ein bestimmtes Kriterium erreicht ist. Dieses Kriterium kann eine feste Anzahl von Wiederholungen oder die Änderung einer definierten Größe umfassen.
11. Listen Sie beliebte Arten von Loops auf
Verschiedene Computersprachen interpretieren Schleifen auf unterschiedliche Weise. Zu den beliebten Schleifentypen der C-Familie gehören jedoch:
- While-Schleife – Es ermöglicht die Ausführung von spezifischem Code, solange es sich um einen booleschen Wert handelt während() Bedingung ist erfüllt.
Zum Beispiel while(2>1){print(“yahoo!”)};. - For(;;)-Schleife – enthält drei Ausdrücke (Initialisierung; Auswertung; aktualisieren), die die zu testenden Bedingungen sowie eine flexible Methode zum Erhöhen der Anzahl definieren. Es wird auch Code mindestens einmal ausführen.
- Führe {} While()-Schleife aus – Dieser Schleifentyp führt die aus tun{} Code mindestens einmal, bevor Sie feststellen, ob die während() Zustand stimmt noch.
12. Erklären Sie Iteration vs Rekursion
Eine Iteration ist die Verwendung einer Schleife, um dieselben Codeschritte auszuführen, während eine Rekursion der Prozess einer Funktion ist, die sich immer wieder selbst aufruft. Das Problem bei der Rekursion ist jedoch, dass Sie nur bis zu einer bestimmten Tiefe gelangen können, bis Sie auf Speicherprobleme stoßen.
13. Erklären Sie die Jobs von Pause und weiter in einer Schleife
Eine `break` -Anweisung beendet die Ausführung einer Schleife und setzt die Ausführung des restlichen Programmcodes fort. Eine `continue` -Anweisung hingegen wiederholt die Schleife von Anfang an.
14. Was ist OOP?
OOP steht für Object Oriented Programming und ist ein Programmierparadigma, das Softwaredesign um Daten und Objekte herum und nicht um Funktionen oder Prozeduren herum implementiert.
15. Was ist prozedurale Programmierung?
Die prozedurale Programmierung ist ein Programmierparadigma, das Computercode um die auszuführenden Sequenzen oder Schritte von Anweisungen herum organisiert. Wie der Name schon sagt, handelt es sich um einen Top-Down-Ansatz, der den Code in der Anfangsphase der Ereignisse beginnt und mit dem erwarteten Ende der Ereignisse endet.
16. Erklären Sie die funktionale Programmierung
Funktionale Programmierung ist ein Paradigma der Computerprogrammierung, das sich der Softwareentwicklung nähert, indem es sequentielle Funktionen anwendet, die weder den Zustand noch die Daten der gelieferten Argumente verändern.
Das Ziel besteht darin, robustere Programme zu erstellen, die die erwarteten Ergebnisse ohne unvorhergesehene Nebenwirkungen erzielen.
17. Erklären Sie Hochsprache
Eine höhere Programmiersprache ist eine Computersprache, die eher das menschliche Verständnis als die Besonderheiten oder Natur des Computers anspricht.
Höhere Programmiersprachen wie C und Python sind leicht zu verstehen, während eine einfache Assemblersprache für Anfänger sehr verwirrend sein kann.
18. Beliebt auflisten Low-Level-Sprachen
Es gibt nur zwei Low-Level-Programmiersprachen: Assembler und Maschinencode.
19. Definieren Sie einen SQL-Injection-Angriff
Ein SQL-Injection-Angriff ist ein Prozess, bei dem SQL-Anweisungen in Eingabefelder wie Benutzernamen oder Adresseingaben eingegeben werden, in der Hoffnung, dass ein Entwickler die Eingaben während der Programmierung nicht ordnungsgemäß bereinigt hat. Und wenn er erfolgreich ist, ermöglicht ein solcher Angriff dem Angreifer, Administratorzugriff auf den Server zu erlangen.
20. Was ist eine Tabelle in SQL?
Eine Tabelle in SQL bezieht sich auf eine Sammlung von Daten, die in Spalten und Zeilen gruppiert sind. Jede Spalte hat einen eigenen Datentyp und Sie können mehrere Tabellen in einer einzigen Datenbank haben. Sie können auch mehr als eine Tabelle gleichzeitig abfragen.
Sie erstellen eine Tabelle mit:
CREATE TABLE Tabellenname(Spalte1 Datentyp, Spalte2 Datentyp, Spalte3 Datentyp, …);
21. Erklären Sie den Unterschied zwischen einem Objekt und einer Klasse
Ein Objekt ist eine Instanz einer Klasse, während eine Klasse eine Blaupause ist, aus der ein Objekt erstellt wird. Ein Objekt kann Zustände und Eigenschaften wie Farbe, Höhe, Gewicht, Geschwindigkeit usw. haben.
Diese Eigenschaften müssen jedoch definiert oder zumindest mit Standardwerten initialisiert werden.
22. Wie viele Bits ergeben ein Megabyte?
Ein Megabyte besteht aus 8,000,000 Bit, weil ein Byte aus 8 Bit besteht und ein Mega 10⁶ entspricht.
23. Definieren Sie einen Float-Datentyp
Ein Float ist ein Datentyp, der eine Zahl mit Dezimalbrüchen darstellt. Es wird in Situationen verwendet, in denen ein höheres Maß an Genauigkeit erforderlich ist, als dies mit Standard-Ganzzahlen möglich ist. Ein Beispiel für einen Schwimmer ist:
0.013
or
25.932
24. Wofür steht HexaDecimal 0xFF?
0xFF steht für Dezimal 255 oder Binär 11111111. 0x steht für Base16 oder Hexadezimalschreibweise, die von 1 bis 9 läuft und dann mit A bis F fortgesetzt wird, um 15 darzustellen. 0xF ist also dezimal 15, während 0xFF dezimal 255 ist.
25. Arten von Programmierfehlern benennen
Es gibt 3 Haupttypen von Fehlern in einem Computerprogramm:
- Syntax-Fehler
- Logischer Fehler
- Laufzeitfehler
26. Was ist ein Syntaxfehler?
Ein Syntaxfehler tritt auf, wenn von der oft strengen Syntax von Programmiersprachen abgewichen wird. Es könnte aus der einfachen Fehlplatzierung von Buchstaben zu den falschen Parametern resultieren, die an eine Funktion übergeben werden. Die meisten Compiler geben die Zeilennummer des Quellcodes an, in der der Fehler aufgetreten ist.
27. Was ist ein logischer Fehler?
Ein logischer Fehler ist ein Fehler, der sich aus der Funktionsweise eines Programms ergibt. Während das Programm also fehlerfrei ausgeführt werden kann, erfüllt es seinen Zweck nicht. Logische Fehler können auf viele Arten auftreten und viele Ursachen haben.
28. Was ist ein Laufzeitfehler?
Ein Laufzeitfehler ist ein Computerprogrammfehler, der während der Ausführung des Programms und aufgrund unvorhergesehener Umstände auftritt. Während das Programm beispielsweise einwandfrei funktioniert, können Speicher- und Netzwerkprobleme dazu führen, dass sich das Programm nicht richtig verhält.
29. Erklären Sie Starke vs. schwach typisierte Sprachen
Eine stark typisierte Sprache ist streng in Bezug auf ihre verschiedenen Datentypen und wie Sie sie konvertieren können, während eine schwach typisierte Sprache weniger Einschränkungen für Datentypen und ihre Definitionen auferlegt.
Viele schwach typisierte Sprachen konvertieren Datentypen automatisch, während stark typisierte Sprachen häufig explizite Konvertierungen erfordern.
30. Was ist MVC-Architektur?
MVC bezieht sich auf Model-View-Controller und ist ein Softwareentwicklungsmuster für Benutzeroberflächen. Es trennt die Programmlogik in 3 Teile.
Der Modellteil verarbeitet die zugrundeliegende Datenlogik der betreffenden Objekte, während die Ansicht die Anzeige der Informationen für den Benutzer übernimmt und der Controller den Datenfluss zwischen Ansichten und Modellen steuert. Das MVC-Design wird häufig in der objektorientierten Programmierung eingesetzt.
31. Definiere ein Algorithmus
Ein Algorithmus ist eine Abfolge von Verfahren zur Lösung eines bestimmten Problems. Diese Vorgänge werden normalerweise in kleinere Schritte unterteilt, und der Computer führt sie jedes Mal genau so aus.
Beispiele für Algorithmen sind die Gesichtserkennung, die Google-Suche, die Art und Weise, wie Sie Ihre Schuhe binden, das Kodieren oder Verschlüsseln von Daten und so weiter.
32. Was ist Maschinelles Lernen?
Maschinelles Lernen oder ML ist ein Bereich der künstlichen Intelligenz, der sich darauf konzentriert, Systemen dabei zu helfen, Muster zu erkennen und durch den Verbrauch von Daten selbstständig Entscheidungen zu treffen.
Dies verbessert dann ihre Leistung oder Effizienz. Maschinelle Lernsysteme können überwacht, unüberwacht und auf Verstärkung basieren.
33. Was sind Reguläre Ausdrücke?
Ein regulärer Ausdruck oder Regex ist eine Zeichenfolge, die verwendet wird, um Suchmuster in Textdokumenten zu definieren. Verschiedene Programmiersprachen implementieren reguläre Ausdrücke oder verwenden gängige Regex-Bibliotheken. Ein Beispiel für eine Regex zum Abgleich aller Zeichen in einem Text ist:
(. *)
während das Folgende nur zu MP3-Dateien passt:
.+\.(mp3)$
34. Was macht der Modulus (%)-Operator?
Der Modulo-Operator % nimmt zwei Operanden und teilt den ersten Operanden durch den zweiten. Anschließend gibt er den Rest der Operation zurück.
Es wird oft verwendet, um ungerade und gerade Zahlen zu testen, indem eine beliebige Ganzzahl durch 2 dividiert wird, wobei ein Ergebnis von 0 eine gerade Zahl und 1 eine ungerade Zahl bedeutet.
35. Erklären Sie Prozessverzweigung
Der Begriff „Forking“ stammt von der Funktion `fork()` in Unix- und Linux-Systemen, mit der ein laufender Prozess eine Kopie von sich selbst erstellen kann. Prozessforking bezeichnet also die Duplizierung eines Prozesses, um zwei ähnliche und gleichzeitig ausgeführte Prozesse zu erzeugen.
Eine weitere Art des Forkens bezieht sich darauf, den Quellcode eines Open-Source-Projekts zu nehmen und daraus ein völlig neues Programm zu erstellen.
36. Erklären Sie Thread-Spawning
Beim Thread-Spawning wird ein neuer CPU-Thread erstellt, um einen Prozess auszuführen. Spawning wird häufig von rechenintensiven Programmen verwendet, um die Multithreading-Fähigkeiten eines Prozessors zu nutzen, und sein Erfolg hängt von der CPU ab, auf der er läuft, wie viele Kerne er hat und wie viele Threads pro Kern er bietet.
37. Was tun? Reservierte Wörter Bedeuten?
Reservierte Wörter sind Begriffe, die Sie in einer Programmiersprache nicht als Bezeichner verwenden dürfen. Dazu gehören Funktionen, Variablen und Labels. Sie sind reserviert, weil sie bereits definiert wurden und bestimmte Bedeutungen haben.
38. Listen Sie beliebte reservierte Wörter auf
Unterschiedliche Sprachen haben je nach Syntax unterschiedliche reservierte Wörter. Hier sind die beliebtesten reservierten Wörter beim Programmieren:
- IF
- TRUE
- FALSCH
- SWITCH
- ELSE
- CASE
- BOOLEAN
- RÜCKKEHR
- AUFGABE
- BREAK
- GOTO
39. Was ist eine Zeichenfolge?
Eine Zeichenfolge ist eine Folge von Zeichen, die häufig in einem Array gespeichert und zur Definition von Textdaten verwendet wird. Die beliebteste Zeichenfolge ist „hello world“.
40. Was ist eine Variable?
Eine Variable ist ein beliebiger Wert, der sich während der Ausführung eines Programms ändern kann. Eine Variable kann einen beliebigen Datentyp haben, einschließlich Zeichenfolgen und Ganzzahlen. Ein Programm wird beispielsweise wie folgt initialisiert:
int a = 0;
intb = 1;
dann werden während der Ausführung Änderungen vorgenommen:
b = a+b; //b hat sich verändert
41. Was ist eine Konstante?
Eine Konstante ist eine Variable, die sich während der Programmausführung voraussichtlich nicht ändert. Ein gutes Beispiel ist die Licht- oder Schallgeschwindigkeit. In verschiedenen Programmiersprachen können Sie Konstanten auf unterschiedliche Weise definieren. Zum Beispiel in C:
const float middle_c = 261.62; //mittlere Taste c auf einem Klavier ist 261.6255 Hz
42. Definieren Sie ein Array
Ein Array ist ein Variablentyp, der verwendet wird, um mehrere Werte gleichzeitig zu speichern. In vielen Sprachen können Sie nur Werte ähnlicher Datentypen speichern, während andere Sprachen Arrays mit anderen Typen verarbeiten können. Sie können auch mehrdimensionale Arrays haben, die Arrays von Arrays sind und unordentlich werden können.
Ein Array in mql4 zu definieren ist einfach mit:
Zeichenfolge TextArray[100]; //ein Array von hundert Strings
43. Was ist Funktionsüberlastung?
Das Überladen von Funktionen ist eine Methode, die es einem Entwickler ermöglicht, mehrere Funktionen zu definieren, die denselben Namen haben, aber unterschiedliche Funktionalitäten haben. Dies wird erreicht, indem die verschiedenen Funktionsversionen mit unterschiedlichen Argumenten erstellt werden. Der Compiler weiß dann anhand des Typs und der Anzahl der gelieferten Argumente, welche Funktion benötigt wird.
44. Definiere a Aufruf nach Referenz
Ein Aufruf per Referenz ist eine Methode, bei der die Speicheradresse von Argumenten an eine Funktion übergeben wird, im Gegensatz zur Standardmethode, bei der eine Kopie des Werts des Arguments übergeben wird. Das Ziel von Referenzaufrufen ist, dass das Argument direkt von der Funktion modifiziert wird.
45. Erklären Sie Rechenzeichen
Dies sind Sonderzeichen, die dazu dienen, arithmetische Operationen in einer Programmiersprache auszuführen. Zu den arithmetischen Operatoren gehören:
- Die Addition oder das unäre Plus (+)
- Subtraktion oder unäres Minus (-)
- Multiplikation (*)
- Aufteilung (/)
- Modul (%).
46. Erklären Sie Logische Operatoren
Logische Operatoren sind Wörter oder Symbole, die verwendet werden, um Operationen basierend auf bedingter Logik auszuführen. Die meisten Sprachen haben nur 3 logische Operatoren:
- UND (&& in C, C++, JavaScript)
- OR (|| in C, C++, JavaScript)
- NICHT (! in C, C++, JavaScript)
47. Logisch 1 UND 0 =?
Eine logische 1-UND-0-Verknüpfung liefert das Ergebnis „falsch“ , da der zweite Operand 0 ist. Für ein positives Ergebnis müssen jedoch beide Operanden der UND-Verknüpfung 1 oder WAHR sein.
48. Logisch NICHT 1 =?
Eine logische NOT 1-Operation liefert FALSCH, da der NOT-Operator alles negiert, was man ihm gibt, d. h. er wandelt 1 in 0 und 0 in 1 um. Wenn man ihm also einen 1- oder WAHR-Operanden gibt, erhält man 0 oder FALSCH.
49. Logisch 1 NAND 1 =?
Eine logische 1 NAND 1 Operation liefert false , da beide Operanden TRUE sind und der NAND-Operator immer zwei gleiche Eingaben negiert, um eine entgegengesetzte Ausgabe zu erzeugen.
Wenn die Operation also 0 NAND 0 wäre, dann wäre der Ausgang 1 oder WAHR.
50. Logisch 1 XOR 1 =?
Eine logische XOR-1-Operation liefert das Ergebnis FALSCH , denn während eine normale OR-Operation WAHR liefert, wenn einer oder beide Eingänge WAHR sind, liefert eine XOR-Operation (exklusives OR) nur dann WAHR, wenn genau ein Eingang WAHR ist.
Fazit
Wir sind am Ende dieser Liste mit den 50 wichtigsten Interviewfragen zum Programmieren und ihren Antworten angelangt. Und wie Sie sehen können, ist die Welt der Programmierung riesig, aber spannend.
Kein Vorstellungsgespräch ist wie das andere. Während diese Liste Sie also in die richtigen Themenrichtungen weist, sollten Sie auch versuchen, ein besseres Verständnis für jedes Problem zu erlangen.





