Was ist Write-Ahead Log (WAL) Kompression in PostgreSQL? In welchen Fällen verringert die Aktivierung der WAL-Dateikompression die Belastung des Festplatten-Subsystems und des Netzwerks, und in welchen Fällen führt sie zu einer Leistungsverschlechterung aufgrund übermäßiger CPU-Kernutzung?
Python
Wie ist der Mechanismus der Event Loop Policy in asyncio aufgebaut? In welchen Szenarien muss ein Backend-Entwickler die Standard-Event-Loop-Policy zwangsweise auf eine benutzerdefinierte umstellen, zum Beispiel mit uvloop basierend auf libuv, und wie wird die Leistungssteigerung erreicht?
Was ist ein Ausdrucksindex (Expression Index / Functional Index) in PostgreSQL? Welche Overheads verursacht er bei Schreiboperationen (INSERT/UPDATE) und warum könnte der Planer die Verwendung ablehnen, wenn die Datentypen in der Abfrageausdruck nicht übereinstimmen?
Was ist Deep Copying von Objekten (copy.deepcopy) in Python aus Leistungsgründen? Wie umgeht dieser Mechanismus zyklische Referenzen, warum arbeitet er bei großen Objektgraphen extrem langsam, und welche alternativen Muster ersetzen ihn in Hochlastsystemen?
Wie funktioniert das Sidecar-Muster in Kubernetes, zum Beispiel mit Istio oder Envoy? Wie ermöglicht dieses Muster das Auslagern der Traffic-Verschlüsselung (mTLS), der Request-Tracing und der Wiederholungen aus der Anwendung?
Was sind Cache Penetration, Cache Avalanche und Cache Warmup? Wie gestaltet man eine Caching-Schicht für einen Online-Shop, sodass während eines nächtlichen Verkaufs, wenn Millionen von Nutzern gleichzeitig neue Produkte anfordern, die Datenbank nicht aufgrund von Cache-Misses ausfällt?
Was sind die Unterschiede zwischen Push- und Pull-Architekturen bei der Gestaltung von Data-Streaming-Systemen wie RabbitMQ und Kafka? Wie beeinflussen diese Ansätze die Speichernutzung auf der Broker-Seite und das Problem des Backpressure bei den Verbrauchern?
Beschreiben Sie das Zwei-Phasen-Commit-Protokoll (2PC) für verteilte Transaktionen, die zwei unabhängige relationale Datenbanken umfassen. Was passiert mit dem System, wenn der Transaktionskoordinator genau zwischen der Abstimmungsphase (Prepare) und der Commit-Phase (Commit) abstürzt?
Beschreiben Sie die Funktionsweise der integrierten Funktion compile(). Wie wandelt man eine dynamisch generierte Python-Code-Zeichenkette in ein Code-Objekt um, führt es sicher in einem isolierten Kontext mit exec/eval aus und verhindert Remote-Code-Ausführungsschwachstellen (RCE)?
Beschreiben Sie die Vor- und Nachteile der Protokolle WebSockets, SSE (Server-Sent Events) und gRPC Streaming. Welches Protokoll würden Sie wählen für: a) Live-Chat, b) einseitigen Aktien-Feed, c) Inter-Service-Kommunikation in einer Microservices-Architektur, und warum?
Wie werden C/C++ Erweiterungen für Python (C Extensions) im Hintergrund gebaut? Warum verlangsamen Erweiterungen, die mit der traditionellen Python C API geschrieben wurden, den Übergang zu No-GIL Python, und wie lösen moderne Alternativen wie HPy oder Cython dieses Problem?
Warum gibt die Standardfunktion os.cpu_count() in Python oft die Gesamtzahl der Kerne des physischen Servers innerhalb eines Docker-Containers zurück, der in einem Kubernetes-Pod mit CPU-Limit: 2 läuft? Welche kritischen Probleme mit der Thread-Pool-Größe in Gunicorn oder Celery verursacht dies, und wie kann man es beheben?
Wie funktioniert der Algorithmus des Konsistenten Hashings? Warum ist er bei der Gestaltung eines verteilten Cache-Clusters notwendig, zum Beispiel mit 20 Redis-Servern, und wie minimiert er die Anzahl der Schlüssel, die beim Hinzufügen oder Entfernen eines Knotens verschoben werden müssen?
Wie schaffen Linux Cgroups (Control Groups) und Namespaces Isolation innerhalb eines Docker-Containers? Was passiert mit einem Python-Prozess, wenn er resource.limits.cpu in Kubernetes überschreitet, und warum führt das Überschreiten von limits.memory zu OOMKilled, während das Überschreiten von CPU nur zu Throttling führt?