Reservoir-Sampling für Echtzeit-Telemetrie eines IoT-Plattformanbieters
Übersicht
Worum es bei diesem Projekt geht.
Implementieren Sie Algorithmus R für Reservoir Sampling (Vitter, 1985 — Stichprobenziehung der Größe k aus einem Stream unbekannter Länge in O(n) Zeit, O(k) Speicher) in Python oder Rust. Erweitern Sie ihn um eine gewichtete Variante (A-Res, Efraimidis-Spirakis). Testen Sie auf synthetischen Streams (10 Millionen Events) und auf zwei realen anonymisierten Sensor-Traces (60 Minuten, je rund 500.000 Events). Vergleichen Sie die empirische Verteilung der Stichprobe gegen die Grundgesamtheit mit dem Kolmogorov-Smirnov-Test (KS-Test — misst, ob zwei Verteilungen aus derselben Quelle stammen) und schreiben Sie einen 4-seitigen Bericht plus eine 1-seitige Empfehlung, welche Variante das Plattform-Team einsetzen soll.
Das Briefing
Was Du tust und was Du zeigst.
Wie zieht man bei konstantem Speicher eine unverzerrte Stichprobe der Größe k aus einem Sensor-Stream unbekannter Länge, und wie weist man die Unverzerrtheit empirisch nach?
Earning criteria — what you'll demonstrate
- Klassische randomisierte Stream-Algorithmen sicher implementieren
- Unverzerrtheit eines randomisierten Verfahrens empirisch validieren
- Konstanten-Speicher-Algorithmen gegen O(n)-Speicher-Alternativen bewerten
- Algorithmische Entscheidungen für ein Produktions-Plattformteam dokumentieren
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 RollenData Engineer:in
Wer Sampling-Verfahren in eine Datenpipeline integriert und Unverzerrtheit nachweisen kann, bringt eine seltene statistische Disziplin in klassische Data-Engineering-Rollen mit.
Dieses Projekt schärft
- streaming-algorithms
- python
- statistical-testing
Softwareentwickler:in
Saubere Implementierungen randomisierter Algorithmen mit Property-Based-Tests sind eine starke Code-Probe für jede Senior-Software-Engineering-Bewerbung.
Dieses Projekt schärft
- python
- reservoir-sampling
- probabilistic-analysis
Noch eine Sache