Monitor-Pattern für ein Münchner Bezahlsystem analysieren und korrigieren
Übersicht
Worum es bei diesem Projekt geht.
Lies den anonymisierten Order-Service-Code (rund 1.800 Zeilen Java) und identifiziere die kritische Sektion in der Belastungs-Logik. Untersuche das vorhandene Monitor-Pattern (synchronized-Block plus wait/notify). Finde die Race-Condition (typisch: Notification verloren bei spurious wakeup ohne while-Loop). Schreibe einen reproducierenden Test, der die doppelte Belastung mit etwa 1-Prozent-Wahrscheinlichkeit auslöst. Implementiere zwei korrigierte Varianten: (1) Monitor mit while-Loop korrekt, (2) java.util.concurrent.locks.Condition mit explizitem Lock. Vergleiche Lesbarkeit, Performance und Wartbarkeit. Abgaben: Bug-Reproduktion, zwei korrigierte Implementierungen, Vergleichs-Bericht, 5-seitiges Memo für das Engineering-Team.
Das Briefing
Was Du tust und was Du zeigst.
Wo liegt der Fehler im Monitor-Pattern eines Order-Services, und welche korrigierte Variante balanciert Lesbarkeit und Performance am besten?
Earning criteria — what you'll demonstrate
- Race-Conditions in Monitor-Patterns lokalisieren und reproduzieren
- wait/notify gegen Lock/Condition fachlich vergleichen
- Spurious-Wakeup-Fehler erkennen und systematisch vermeiden
- Concurrency-Bugs für Team-interne Postmortems verständlich aufbereiten
Studienpassung
Wo dies in Dein Studium passt.
Schärft dieselben Fähigkeiten, die Dein Studium von Dir erwartet.
Fähigkeiten
Fähigkeiten, die Du unter Beweis stellst.
Jede taucht auf Deinem verifizierten Zertifikat auf.
Karrieren
Berufe, auf die dies Dich vorbereitet.
Echte Berufsbezeichnungen. Echte Skill-Brücken. Wähle die, die Deinem Werdegang am nächsten kommt.
Karrierewege, die das aufbaut
Kanonische RollenSoftware-Ingenieur:in
Race-Conditions reproduzieren und korrigieren zu können ist eine Junior-Software-Engineering-Fähigkeit, die in Bezahlsystem- und Banking-Teams sofort sichtbar wird.
Dieses Projekt schärft
- locks-and-monitors
- race-conditions
- debugging
Backend-Ingenieur:in
Backend-Ingenieur:innen mit Concurrency-Debugging-Praxis lösen die seltensten und teuersten Produktions-Bugs.
Dieses Projekt schärft
- race-conditions
- java
- concurrent-data-structures
Noch eine Sache