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

Middle PHP-BackendPHP-Backend-Interviewfragen

Middle · 2–4 Jahre Erfahrung

PHP-Interviews decken Sprachsemantik, OOP, Laravel oder Symfony, MySQL sowie grundlegende Web-Sicherheit ab. Hier findest du die häufigsten Fragen mit Musterantworten. Middle: tieferes Verständnis, Optimierung und reale Arbeitssituationen.

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

Themen zur Vorbereitung

OOP und SOLID in PHP
Laravel / Symfony
MySQL und Query-Optimierung
Composer und Autoloading
Sessions, Cookies, Sicherheit
PSR-Standards

7 Fragen auf Middle-Niveau mit Antworten

1

Was ist der Unterschied zwischen `hasManyThrough` und `belongsToMany`?

Antwort

In Laravel-Begriffen nutzt belongsToMany eine Pivot-Tabelle, die nur existiert, um zwei Models zu verbinden. Eine hasManyThrough-Beziehung erreicht ein entferntes Model über ein zwischengeschaltetes, das selbst eine vollwertige Entität ist. Trägt die Verbindungstabelle eigene Daten — einen Zeitstempel, einen Status —, ist sie ein Model, und sie wie eine Pivot-Tabelle zu behandeln macht genau diese Daten unnötig umständlich zugänglich.

2

Was ist eine N+1-Query und wie findet man eine?

Antwort

Eine Query für eine Liste und dazu eine weitere pro Element, weil eine Relation innerhalb einer Schleife lazy geladen wird. Man findet sie im Query-Log oder mit einem Package, das die Queries pro Request zählt. with() lädt sie eager in einer zweiten Query. Die Falle besteht darin, das Problem durch Caching der Seite statt der Query zu „lösen".

3

Was macht der Service Container?

Antwort

Er löst die Abhängigkeiten einer Klasse für dich auf: Du forderst einen Typ im Konstruktor an, und der Container baut ihn zusammen — inklusive dessen eigener Abhängigkeiten. Ein Interface in einem Provider an eine Implementierung zu binden ist das, was den Code von einem Vertrag statt von einer konkreten Klasse abhängig macht, und genau das ist der Sinn der ganzen Übung.

4

Was ist der Unterschied zwischen einer Middleware und einem Controller?

Antwort

Middleware umschließt den Request und entscheidet, ob er weiterläuft — Authentifizierung, Rate Limiting, Logging. Ein Controller behandelt den Request, der es durchgeschafft hat. Die Reihenfolge zählt, und Autorisierung in einen Controller statt in Middleware zu packen bedeutet, dass jeder Controller selbst daran denken muss.

5

Wie funktionieren Queues, und was muss für einen Job gelten?

Antwort

Der Job wird in einen Store serialisiert, ein Worker-Prozess holt ihn ab und führt ihn außerhalb des Requests aus. Was gelten muss: Er darf zweimal laufen können — der Worker kann nach der Arbeit, aber vor der Bestätigung abstürzen. Alles, was Geld oder E-Mails verschickt, braucht eine Absicherung, und lang laufende Jobs brauchen ein Timeout, das kürzer ist als das Visibility-Window.

6

Was ist der Unterschied zwischen einer Migration und einem Seeder?

Antwort

Eine Migration ändert das Schema und ist versioniert, sodass jede Umgebung zur gleichen Struktur konvergiert. Ein Seeder fügt Daten ein — Referenzdaten in Produktion, Testdaten in der Entwicklung. Datenänderungen in einer Migration unterzubringen ist üblich und für Referenzdaten in Ordnung, aber das Befüllen einer großen Tabelle dort blockiert das Deployment.

7

Wie verhinderst du SQL-Injection und XSS?

Antwort

SQL-Injection wird durch Parameter-Binding verhindert, das der Query Builder und Eloquent für dich übernehmen — gefährlich wird es bei DB::raw mit interpolierter Eingabe. XSS wird durch Escaping bei der Ausgabe verhindert, was Blades {{ }} tut und {!! !!} bewusst nicht. Bei beidem geht es darum, Daten nicht im falschen Moment mit einer Sprache zu vermischen.

🦎

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.

Middle PHP-Backend-Interview üben →
Kostenlos · 3 Interviews im Monat

Weitere Level — PHP-Backend

Junior PHP-BackendSenior PHP-BackendAlle PHP-Backend-Fragen

Weitere Spezialisierungen

🔍Middle QA Manual🤖Middle QA AutomationMiddle Java Backend🐍Middle Python Backend🦫Middle Go-Backend🟢Middle Node.js-Backend💎Middle Ruby on Rails🔷Middle C++🟨Middle JavaScript⚛️Middle React Frontend