Sensor-Ringpuffer für eine vernetzte Fertigungsmaschine implementieren
Übersicht
Worum es bei diesem Projekt geht.
Implementiere einen festgrößen Ringpuffer (Circular Buffer) in C für 12 parallele Sensor-Streams. Speichergröße pro Stream: 4096 Float-Samples. API: push(stream_id, sample), pop_oldest(stream_id), bulk_read(stream_id, dest, n). Anforderungen: O(1) für push und pop, lock-free für Single-Producer-Single-Consumer-Fall, korrekt bei Überlauf (älteste Daten überschreiben). Schreibe mindestens 20 Unit-Tests mit Unity oder cmocka. Miss die Worst-Case-Latenz auf einem ARM Cortex-M4 (oder QEMU). Liefere Quellcode, Tests, Latenzbericht und 2-Seiten-Designnotiz.
Das Briefing
Was Du tust und was Du zeigst.
Wie implementiert man einen O(1)-Ringpuffer für 12 Sensor-Streams unter 256 KB RAM, der lock-free und korrekt im Überlauf bleibt?
Earning criteria — what you'll demonstrate
- Festgrößen-Datenstrukturen mit O(1)-Operationen entwerfen
- Single-Producer-Single-Consumer-Konkurrenzschutz ohne Locks implementieren
- Speicher-Layout für Cache-Effizienz optimieren
- Unit-Tests inklusive Edge-Cases (Überlauf, Wrap-around) systematisch schreiben
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.
Backend-Entwickler:in
Backend-Entwickler:innen, die Streaming-Pipelines bauen, treffen Ringpuffer-Konzepte ständig wieder — wer die Datenstruktur selbst implementiert hat, debuggt Kafka- und Redis-Streams souverän.
Dieses Projekt schärft
- data-structures
- concurrency
- ring-buffer
Software-Entwickler:in
Saubere C-Implementierung mit Tests gilt in Code-Reviews als Indikator für gründliches Software-Engineering — über jede Sprache und Domäne hinweg.
Dieses Projekt schärft
- c-programming
- unit-testing
- data-structures
Noch eine Sache