Wie man ein PHP-Vorstellungsgespräch besteht: Top-Fragen von A bis Z
Ein Vorstellungsgespräch für eine PHP-Entwicklerposition ist nicht nur eine Überprüfung der Syntaxkenntnisse. Arbeitgeber möchten sehen, wie Sie denken, wie Sie Probleme lösen und wie tief Sie das Ökosystem der Sprache verstehen. Um Ihnen bei der Vorbereitung zu helfen, haben wir Top-Fragen zu PHP von A bis Z zusammengestellt, aufgeschlüsselt nach Schlüsselthemen: von den Grundlagen der OOP bis zur Arbeit mit Datenbanken und Sicherheit.
Dieser Artikel ist Ihre Checkliste für ein erfolgreiches Bestehen des Interviews. Studieren Sie ihn, üben Sie mit den Codebeispielen, und Sie werden sich sicher fühlen.
1. Grundlagen von PHP und OOP (Objektorientierte Programmierung)
Beginnen wir mit den Grundlagen. Ohne Verständnis von OOP ist im modernen PHP nichts zu machen. Interviewer stellen oft Fragen, die Ihr Verständnis der Prinzipien prüfen.
Frage: Was sind Kapselung, Vererbung und Polymorphie?
Dies sind die "drei Säulen" der OOP. Die Fähigkeit, sie anhand eines Beispiels zu erklären, ist eine zwingende Fähigkeit.
- Kapselung — Verbirgt die interne Implementierung eines Objekts. Der Zugriff auf Daten erfolgt über öffentliche Methoden (Getter/Setter).
- Vererbung — Die Möglichkeit, eine neue Klasse auf Basis einer bestehenden (Eltern-)Klasse zu erstellen.
- Polymorphie — Die Fähigkeit von Objekten verschiedener Klassen, dieselbe Methode auf ihre eigene Weise zu verarbeiten.
<?php// Beispiel für Kapselungclass User { private string $name;
public function setName(string $name): void { $this->name = htmlspecialchars($name); // Schutz vor XSS }
public function getName(): string { return $this->name; }}
// Beispiel für Vererbung und Polymorphieabstract class Animal { abstract public function makeSound(): string;}
class Dog extends Animal { public function makeSound(): string { return "Wuff!"; }}
class Cat extends Animal { public function makeSound(): string { return "Miau!"; }}
$animals = [new Dog(), new Cat()];foreach ($animals as $animal) { echo $animal->makeSound() . " "; // Gibt aus: Wuff! Miau!}?>Frage: Was ist der Unterschied zwischen einem Interface und einer abstrakten Klasse?
Das ist ein Klassiker. Ein Interface definiert einen Vertrag (nur Methodensignaturen), während eine abstrakte Klasse eine Standardimplementierung und Eigenschaften enthalten kann.
2. Arbeiten mit Datenbanken und SQL
PHP arbeitet selten isoliert von Datenbanken. Fragen zu MySQL und PDO sind ein obligatorischer Bestandteil jedes Vorstellungsgesprächs.
Frage: Warum sollte man PDO anstelle von mysqli verwenden?
PDO (PHP Data Objects) ist eine Abstraktion, die es ermöglicht, einfach zwischen verschiedenen DBMS (MySQL, PostgreSQL, SQLite) zu wechseln, ohne Code umschreiben zu müssen. Außerdem unterstützt PDO benannte Platzhalter, was den Code sauberer macht.
<?php// Beispiel für eine sichere Abfrage mit PDO$dsn = 'mysql:host=localhost;dbname=testdb;charset=utf8mb4';$pdo = new PDO($dsn, 'user', 'password');
$sql = "SELECT * FROM users WHERE email = :email";$stmt = $pdo->prepare($sql);$stmt->execute([':email' => 'test@example.com']);$user = $stmt->fetch(PDO::FETCH_ASSOC);?>Frage: Wie schützt man sich vor SQL-Injection?
Die wichtigste Antwort: Fügen Sie niemals Benutzerdaten direkt in eine SQL-Abfrage ein. Verwenden Sie vorbereitete Anweisungen (prepared statements) mit Platzhaltern. Dies stellt sicher, dass die Daten automatisch maskiert werden.
3. Sicherheit und Best Practices
Sicherheit ist das, was einen Junior von einem Middle unterscheidet. Interviewer stellen gerne Fragen zu diesem Thema.
Frage: Welche Arten von Angriffen sind in PHP-Webanwendungen am häufigsten?
- XSS (Cross-Site Scripting) — Einschleusen von Skripten. Schutz: Verwenden Sie
htmlspecialchars()oderstrip_tags()bei der Ausgabe von Daten.