Division5 WissenInterviewleitfaden
Python-Interviewfragen: zehn Fragen zu Daten, Fehlern und Wartbarkeit
Prüfen Sie, wie eine Entwicklerin Python-Datenstrukturen, Fehlerfälle, Tests und Abhängigkeiten im Kontext einsetzt. Gute Antworten erklären Entscheidungen an einer Aufgabe statt nur Begriffe aufzuzählen.
Richten Sie das Gespräch nach dem Python-Einsatz aus
Python kann in Datenaufbereitung, Webdiensten, Automatisierung oder internen Werkzeugen vorkommen. Klären Sie vorab, welche Arbeit die Rolle übernimmt und welches Erfahrungsniveau nötig ist. Fragen Sie nach einer früheren Lösung, die zu Ihrer Aufgabe passt. Allgemeine Quizfragen liefern wenig, wenn sie keinen Bezug zur realen Arbeit haben.
Die Fragen unten orientieren sich an Themen der offiziellen Python-Anleitung wie Datenstrukturen, Ausnahmen und virtuellen Umgebungen. Die Dokumentation erklärt die Sprache; sie ist kein vollständiger Maßstab für die Qualität einer Person. Python-Tutorial
Zehn Fragen und worauf Sie bei den Antworten achten können
1. Wann würden Sie eine Liste, ein Tupel, ein Set oder ein Dictionary wählen?
Stark: Die Person erklärt Reihenfolge, Änderbarkeit, Eindeutigkeit und Schlüsselzugriff am Beispiel und berücksichtigt, was die nächste Verarbeitung braucht.
Nachfrage: „Welche Struktur würden Sie für eindeutige IDs wählen und warum?“
Warnzeichen: Eine Struktur wird als immer schneller oder immer besser dargestellt, ohne auf Operation und Daten zu schauen.
2. Wie würden Sie eine Funktion gestalten, die viele Datensätze verarbeitet?
Stark: Die Antwort klärt Eingabe, Ausgabe und Fehlerverhalten. Sie berücksichtigt Datenmenge, Lesbarkeit und passende Iteration, bevor sie optimiert.
Nachfrage: „Was ändert sich, wenn die Quelle größer ist als der verfügbare Speicher?“
Warnzeichen: Der gesamte Datensatz wird ohne Bedarf kopiert, oder ein Generator wird ohne Erklärung als Pflicht angesehen.
3. Wie behandeln Sie Fehler, die beim Lesen einer Datei auftreten können?
Stark: Die Person fängt erwartbare Ausnahmen an der passenden Grenze ab, erhält hilfreichen Kontext und verschluckt keine unbekannten Fehler.
Nachfrage: „Was soll der Aufrufer erfahren, wenn die Datei fehlt?“
Warnzeichen: Ein allgemeines except ignoriert jeden Fehler oder gibt nur „Fehler“ aus.
4. Wie strukturieren Sie wiederholte Datei- oder Netzwerkzugriffe?
Stark: Die Person trennt Ressourcennutzung von Verarbeitung, verwendet passende Kontextverwaltung und bespricht Timeouts oder Wiederholungen, wenn relevant.
Nachfrage: „Wie stellen Sie sicher, dass eine Datei auch nach einem Fehler geschlossen wird?“
Warnzeichen: Ressourcen werden nur im Erfolgsfall freigegeben.
5. Wie vermeiden Sie veränderliche Standardargumente?
Stark: Die Antwort beschreibt, dass ein veränderliches Objekt als Standardwert zwischen Aufrufen erhalten bleibt, und nennt ein geeignetes Muster mit None oder einer anderen klaren Lösung.
Nachfrage: „Was würde bei einer Liste als Standardwert beim zweiten Aufruf passieren?“
Warnzeichen: Die Person behandelt Standardwerte als bei jedem Aufruf frisch erzeugt, ohne den Unterschied zu prüfen.
6. Welche Tests schreiben Sie für eine Funktion mit Randfällen?
Stark: Die Person testet gültige Eingaben, erwartbare Grenzfälle und Fehlerverhalten und benennt, welche Fälle aus Anforderungen oder Daten stammen.
Nachfrage: „Welcher Test würde einen leeren Datensatz abdecken?“
Warnzeichen: Nur ein Beispieltest für den Idealfall wird als ausreichender Nachweis verstanden.
7. Wie würden Sie Daten beim Einlesen validieren?
Stark: Die Person grenzt nicht vertrauenswürdige Eingaben klar ab, prüft erforderliche Felder und Typen und entscheidet, ob ungültige Zeilen abgelehnt oder nachvollziehbar protokolliert werden.
Nachfrage: „Was sollte passieren, wenn nur eine von hundert Zeilen fehlerhaft ist?“
Warnzeichen: Ungültige Werte werden stillschweigend ersetzt oder gelöscht.
8. Wann würden Sie eine Klasse statt mehrerer Funktionen einsetzen?
Stark: Die Person spricht über zusammengehörigen Zustand und Verhalten, Abhängigkeiten und die Verständlichkeit der Schnittstelle. Sie führt keine Klasse allein aus Stilgründen ein.
Nachfrage: „Welche Information muss über mehrere Methoden hinweg erhalten bleiben?“
Warnzeichen: Jede Datei oder jeder Funktionssatz soll zwangsläufig eine Klasse bekommen.
9. Wozu dient eine virtuelle Umgebung?
Stark: Die Antwort erklärt die Trennung projektspezifischer Abhängigkeiten und reproduzierbarer Entwicklungsumgebungen und fragt nach dem bestehenden Projektstandard.
Nachfrage: „Wie würde ein neues Teammitglied die benötigten Pakete installieren?“
Warnzeichen: Pakete werden ohne Versions- oder Projektkontext systemweit installiert.
10. Wie untersuchen Sie eine langsame Python-Verarbeitung?
Stark: Die Person kann das Problem reproduzieren, misst zuerst und optimiert den tatsächlichen Engpass. Sie wägt Verständlichkeit gegen messbaren Gewinn ab.
Nachfrage: „Welche Messung würde Ihre nächste Änderung begründen?“
Warnzeichen: Ein Rewrite oder eine komplexere Datenstruktur wird ohne Messung empfohlen.
Drei Python-Antworten mit Eingabe und Ausgabe
1. Veränderliche Standardwerte vermeiden
Frage: Was passiert, wenn eine Funktion eine Liste als Standardwert erhält? Listenobjekte bleiben über Funktionsaufrufe erhalten. Eine Antwort mit None erstellt pro Aufruf eine neue Liste:
def add_tag(tag, tags=None):
if tags is None:
tags = []
tags.append(tag)
return tags
print(add_tag("neu"))
print(add_tag("wichtig")) Ausgabe: ["neu"] und danach ["wichtig"]. Bei tags=[] als Standardwert würde der zweite Aufruf ["neu", "wichtig"] ergeben.
2. Gruppierte Summen nachvollziehbar berechnen
Eingabe: drei Bestellungen, zwei bezahlt über 20 und 5, eine offen über 12. Die Schleife gruppiert nach Status:
orders = [
{"status": "offen", "amount": 12},
{"status": "bezahlt", "amount": 20},
{"status": "bezahlt", "amount": 5},
]
totals = {}
for order in orders:
status = order["status"]
totals[status] = totals.get(status, 0) + order["amount"]
print(totals) Ausgabe: {'offen': 12, 'bezahlt': 25}. Fragen Sie, was bei fehlendem Status oder Text statt einer Zahl passieren soll, bevor die Person die Regel stillschweigend erfindet.
3. Erwartete Fehler gezielt melden
Eingabe: ein Textwert, der eine ganze Zahl darstellen soll. Die Funktion behandelt nur die erwartbaren Umwandlungsfehler und lehnt negative Mengen fachlich ab:
def parse_quantity(value):
try:
quantity = int(value)
except (TypeError, ValueError) as exc:
raise ValueError("Menge muss eine ganze Zahl sein") from exc
if quantity < 0:
raise ValueError("Menge darf nicht negativ sein")
return quantity
print(parse_quantity("3"))
# parse_quantity("drei") -> gezielter ValueError Ausgabe: 3. Der Wert "drei" löst einen verständlichen ValueError aus, der den ursprünglichen Fehler als Ursache erhält. Ein allgemeines except würde auch unerwartete Programmfehler verschlucken.
Eine kurze Python-Aufgabe kann KI-Nutzung erlauben
Aufgabe: „Lesen Sie eine vorbereitete Liste fiktiver Bestellungen ein, prüfen Sie erforderliche Felder und ermitteln Sie die Gesamtsumme pro Status. Erklären Sie, wie Sie fehlerhafte Zeilen behandeln, und ergänzen Sie Tests für leere sowie ungültige Eingaben.“ Halten Sie Datensatz, Zeitrahmen und Erwartung für alle Personen gleich.
Erlauben Sie Dokumentation und ein KI-Werkzeug, wenn diese Mittel auch im späteren Teamalltag zulässig sind. Bitten Sie darum, die Nutzung offenzulegen, Code und Vorschläge zu prüfen und eine Entscheidung zu erläutern. Geben Sie keine echten Kunden- oder Unternehmensdaten in externe Werkzeuge.
Bewerten Sie als „gezeigt“, „teilweise gezeigt“ oder „noch nicht gezeigt“: Validierung, Fehlerbehandlung, nachvollziehbare Berechnung, Tests und Erklärung. Notieren Sie zu jeder Einstufung die konkrete Beobachtung. Das Raster ist redaktionelle Gesprächshilfe und sagt keine spätere Leistung voraus.
Fiktives Beispiel: Ungültige Eingaben werden sichtbar behandelt
Fiktives Beispiel, kein realer Kundenfall: Ein Datensatz enthält eine Bestellung ohne Status. Ein Bewerber summiert sie nicht stillschweigend in einer Standardgruppe. Er meldet die ungültige Zeile mit Grund, hält die gültigen Ergebnisse getrennt und fragt, ob der Fachbereich solche Fälle korrigieren oder zurückweisen möchte.
Für die Probe: Validierung belegt, weil der Fehler erkennbar bleibt; Berechnung belegt, weil gültige Datensätze nachvollziehbar gruppiert werden; Produktaussage noch offen, weil die Regel für fehlende Statuswerte vom Fachbereich bestätigt werden muss. Das ist eine gute fachliche Grenze. Die korrekte technische Behandlung hängt weiterhin von der vereinbarten Datenregel ab.
Python beschreibt Ausnahmen als Fehler, die während der Ausführung auftreten, und zeigt, wie sie gezielt behandelt werden können. Python: Fehler und Ausnahmen
Ein Interview zeigt Ausschnitte, keine langfristige Leistung
Eine Frage oder Arbeitsprobe bildet Ihre Produktionsumgebung nicht ab. Prüfen Sie frühere Arbeit, Erklärungen und die Art, wie die Person mit Rückfragen umgeht. Eine Zertifizierung oder eine fehlerfreie Kurzaufgabe allein beweist nicht, wie jemand mit Ihren Daten, Abhängigkeiten oder Teamkonventionen arbeitet.
Ihr Team bleibt für Anforderungen, erlaubte Datenverarbeitung, Zugänge und fachliche Abnahme zuständig. Vereinbaren Sie, wer über Grenzfälle entscheidet und wie Fehler in bestehende Abläufe gelangen.
Division5 gleicht die Rolle mit vorab geprüften Profilen ab. Sie können die geprüften Profile und aufgezeichneten Interviews schon vor dem Kennenlernen ansehen. Für alle Fachkräfte gilt eine 30-tägige Testphase; Umfang und Bedingungen halten Sie vor Beginn schriftlich fest. Die Verfügbarkeit wird für Ihre Anfrage geprüft. So läuft der Auswahlprozess ab.
Quellen und weiterführende Informationen
Quellenstand: 22. Oktober 2026. Externe Inhalte können sich ändern.