FireFleebFireFleeb

Karriere bei FireFleeb

Testaufgaben

Aufgaben zur Auswahl

30 Aufgaben
Einfach2–3 Std.Frontend

Nutzerverwaltung Frontend

Erstellen Sie eine Next.js-App (TypeScript), die User von jsonplaceholder.typicode.com/users lädt und in einer Liste anzeigt. Implementieren Sie dynamische Routen für User-Details mit Lade-/Fehlerzuständen sowie einfache Navigation.

Einfach2–3 Std.Backend

Bibliothek Backend

Erstellen Sie eine Node.js-TypeScript-REST-API für Bücher (CRUD). Speichern Sie Daten In-Memory oder in books.json, validieren Sie Felder, setzen Sie richtige HTTP-Statuscodes und fügen Sie einen globalen Error-Handler hinzu.

Einfach1–2 Std.Frontend

Todo-Liste Frontend

Erstellen Sie eine SPA mit HTML, CSS und JavaScript für To-Do-Einträge (anlegen, erledigen, löschen) mit localStorage-Persistenz. Nutzen Sie semantisches HTML, responsives CSS und modularen JS-Code.

Mittel4–6 Std.Rust & Systemnahes

Rust Diesel Backend

Implementieren Sie eine REST-API in Rust (Warp) mit PostgreSQL (optional Diesel). Bauen Sie User-Authentifizierung (JWT/Sessions) und CRUD für Artikel, verwenden Sie Rust-Fehlerbehandlung und schreiben Sie Unit-Tests.

Mittel4–6 Std.Frontend

Login-Formular Frontend

Erstellen Sie eine Next.js-App mit React Hook Form und NextAuth.js (Credentials Provider). Implementieren Sie ein Login-Formular mit Validierung, konfigurieren Sie NextAuth.js und schützen Sie eine Seite (z. B. /dashboard).

Mittel4–6 Std.Frontend

Personal Finance Tracker

Erstellen Sie eine Personal Finance Tracker Anwendung mit React/Next.js. Implementieren Sie Ausgabenverfolgung, Kategorisierung, Dashboard mit Charts, Budgetplanung und Datenvisualisierung mit modernen UI-Komponenten.

Mittel4–6 Std.DevOps & Administration

Linux-Server-Administration

Richten Sie einen Debian 12/Ubuntu 22.04 Server ein: System-Updates, Admin-Account, SSH-Härtung, Firewall, Nutzer-/Gruppenverwaltung, Backup-Skript mit Cron, Remote-rsync, Monitoring und zentrales Logging.

Schwer6–8 Std.Backend

Webshop Fullstack

Entwickeln Sie einen Fullstack-Webshop mit relationaler DB (MySQL/PostgreSQL) und Docker. Backend in Rust (oder Node.js) mit REST/GraphQL, Frontend in Next.js, Zustand mit Context, und docker-compose-Orchestrierung.

Schwer6–8 Std.Frontend

Product Catalog Frontend

Entwickeln Sie eine moderne E-Commerce-Produktkatalog-Anwendung mit React/Next.js. Implementieren Sie Filterung, Sortierung, Suche, Paginierung, Warenkorb-Integration und responsives Design mit State-Management.

Schwer6–8 Std.DevOps & Administration

Nextcloud-Installation

Installieren Sie auf einer Hetzner-VM Nextcloud (Debian 12/Ubuntu 22.04) mit LAMP/LEMP, richten Sie HTTPS (Let's Encrypt), Firewall und User/Gruppen ein. Erstellen Sie ein Backup-Skript mit Cron und fügen Sie Monitoring hinzu.

Einfach2–3 Std.Frontend

Ladezustände und Skeleton-Dashboard

Bauen Sie eine Übersichtsseite, die drei Datenbereiche aus einer künstlich verzögerten Quelle lädt: jeder mit anderer Antwortzeit, einer kann auf Knopfdruck fehlschlagen, einer liefert eine leere Menge. Geprüft wird, ob Sie Lade-, Fehler- und Leerzustand sauber trennen und ob Ihre Platzhalter das Layout stabil halten.

Einfach2–3 Std.Frontend

Druckansicht eines Wartungsberichts

Erstellen Sie aus einem vorgegebenen JSON-Bericht eine Bildschirmansicht, die sich ohne zweite, separat gepflegte Komponente als mehrseitiges A4-Dokument drucken lässt. Geprüft werden Druck-Stylesheets, Seitenumbrüche, wiederholte Tabellenköpfe und das Ausblenden der Bedienelemente.

Einfach2–3 Std.Frontend

Kennzahlen-Kacheln mit Tooltips

Bauen Sie eine Kachelreihe für Betriebskennzahlen, in der ein Teil der Werte gekürzt oder abgekürzt dargestellt wird. Geprüft wird zweierlei: sauberes Formatieren mit Intl.NumberFormat, und ob Sie Tooltips genau dort setzen, wo durch die Darstellung Information verloren geht – und nur dort.

Einfach2–3 Std.Rust & Systemnahes

Logauswertung als Rust-Kommandozeilenwerkzeug

Schreiben Sie ein kleines Kommandozeilenwerkzeug in Rust, das eine Zugriffs-Logdatei zeilenweise einliest und daraus Kennzahlen berechnet. Geprüft wird weniger der Umfang als die Sorgfalt: ein Parser, der auch die unangenehmen Zeilen aushält, und ein eigener Fehlertyp statt unwrap.

Mittel4–5 Std.Frontend

Mehrstufige Antragsstrecke

Bauen Sie eine Antragsstrecke, die über drei Schritte Angaben einsammelt und am Ende eine Zusammenfassung zum Absenden anbietet. Geprüft wird weniger das Formular als die Zustandsverwaltung über Schrittgrenzen hinweg: ein Antrag überlebt Schrittwechsel, Neuladen der Seite und einen Abbruch am Vortag.

Mittel4–6 Std.Frontend

Datentabelle mit serverseitiger Paginierung

Bauen Sie eine Tabelle für mehrere zehntausend Datensätze, ohne sie jemals vollständig zu laden – Seite, Sortierung und Suche gehen an den Server. Geprüft wird, ob Sie den Ansichtszustand sauber in der URL führen, Ladezustände ohne Layout-Sprung darstellen und überholte Antworten paralleler Anfragen abfangen.

Mittel6–8 Std.Frontend

Datei-Upload mit Fortschritt

Bauen Sie eine Oberfläche, über die mehrere Dateien gleichzeitig hochgeladen werden – jede mit eigenem Fortschritt, einzeln abbrechbar und nach einem Fehlschlag wiederholbar. Die Ablagefläche per Drag-and-Drop ist dabei nur einer von zwei gleichwertigen Wegen: alles muss ebenso über die Tastatur gehen.

Mittel6–8 Std.Frontend

Responsive Navigation und ihre Testabdeckung

Bauen Sie eine Navigationsleiste, die über drei Umbruchpunkte drei Gestalten annimmt: volle Leiste, verkürzte Leiste, Menüschublade. Das ist die eine Hälfte. Die andere, für uns wichtigere, ist der Nachweis: Sie sichern die Navigation mit automatisierten Tests ab und weisen nach, welche Zustände diese tatsächlich erreichen.

Schwer5–7 Std.Frontend

Barrierefreie Komponenten von Grund auf

Bauen Sie drei zusammengesetzte Bedienelemente nach den WAI-ARIA Authoring Practices: modaler Dialog, Auswahlfeld mit Filterung und Tab-Leiste. Fertige Komponentenbibliotheken sind ausgeschlossen – gerade das Verhalten, das solche Bibliotheken verstecken, ist der Prüfgegenstand.

Schwer6–8 Std.Frontend

Echtzeit-Dashboard mit Verbindungsabbrüchen

Bauen Sie ein Dashboard, das Messwerte laufend entgegennimmt und als Verlauf sowie Statusübersicht darstellt. Der interessante Teil ist nicht das Zeichnen der Kurven, sondern das Verhalten an den Rändern: Was zeigt die Oberfläche, während die Verbindung wackelt – und wie kommt sie zurück, ohne Lücken oder Dubletten?

Schwer6–8 Std.Frontend

Internationalisierung einer Lernplattform

Legen Sie einen Ausschnitt einer Lernplattform zweisprachig aus: Deutsch und Arabisch. Geprüft wird, ob Sie Internationalisierung als Architekturthema behandeln statt als Textaustausch. Arabisch ist der eigentliche Prüfstein – es kehrt die Schreibrichtung um und hat sechs statt zwei Pluralformen.

Mittel6–8 Std.Rust & Systemnahes

Preisdaten-Collector in Rust

Schreiben Sie einen Dienst in Rust, der in festen Intervallen zwei HTTP-Quellen abfragt und die Preise historisiert in PostgreSQL ablegt. Ein solcher Sammler läuft über Monate unbeaufsichtigt – der Schwerpunkt liegt deshalb nicht auf dem Abholen, sondern auf Wiederholungen mit wachsendem Abstand und sauberem Verhalten bei Ausfällen.

Mittel6–8 Std.Rust & Systemnahes

Honeypot-Dienst in Rust

Schreiben Sie einen schlanken Dienst in Rust, der auf mehreren Ports auf Verbindungsversuche wartet, jeden Versuch strukturiert protokolliert und die Ereignisse über eine kleine Abfrageschnittstelle auswertbar macht. Geprüft wird robuster nebenläufiger Netzwerkcode und ein auswertbares Protokollformat.

Schwer6–8 Std.Rust & Systemnahes

Netzwerkmitschnitte streamend auswerten

Schreiben Sie eine Rust-Bibliothek, die große pcap-Mitschnitte streamend einliest, Pakete zu Verbindungen zusammenfasst und zu Kennzahlen verdichtet. Die Dateien sind größer als der Arbeitsspeicher – gefragt ist nicht das Zerlegen einzelner Pakete, sondern ein Entwurf mit fester Speicherobergrenze.

Mittel4–6 Std.IT-Sicherheit

Sicherheitsaudit und Befundbericht

Prüfen Sie den OWASP Juice Shop – eine öffentlich verfügbare, absichtlich verwundbare Webanwendung – und schreiben Sie darüber einen Auditbericht. Nicht die Menge der Funde zählt, sondern deren Belastbarkeit: vier bis fünf Befunde, jeder sauber belegt, selbst bewertet und im Betriebskontext eingeordnet.

Schwer6–8 Std.IT-Sicherheit

Köder-Token-Dienst

Ein Köder-Token ist ein Lockmittel: eine Adresse, die im Normalbetrieb niemand anfasst – wird sie doch abgerufen, ist das ein Alarm. Bauen Sie den Dienst dahinter. Der anspruchsvolle Teil ist nicht die Zufallskennung, sondern die Zuverlässigkeit der Auslieferung an den Alarmempfänger.

Schwer5–7 Std.IT-Sicherheit

Schwachstellen finden und API härten

Sie erhalten den vollständigen Quelltext einer absichtlich verwundbaren REST-API. Übernehmen Sie ihn, bringen Sie ihn zum Laufen, auditieren Sie ihn, belegen Sie jeden Fund reproduzierbar, beheben Sie ihn und sichern Sie die Behebung durch Regressionstests ab. Der Reiz liegt in der Reihenfolge.

Mittel4–6 Std.DevOps & Administration

Caddy-Reverse-Proxy im laufenden Betrieb ändern

Betreiben Sie zwei Dienste hinter einem Caddy-Reverse-Proxy per docker compose, dessen Konfiguration als einzelne Datei vom Host eingehängt ist. Ergänzen Sie im laufenden Betrieb eine weitere Route und weisen Sie nach, dass die Änderung im Container tatsächlich angekommen ist. Setzt eine Linux-Umgebung voraus.

Mittel6–8 Std.DevOps & Administration

Bau-Pipeline über einen internen Spiegel

Ein Bau-Server steht in einem abgetrennten Netz und erreicht genau einen Rechner: den internen Spiegel. Dort sollen zwei Container-Abbilder entstehen. Alles, was nicht aus dem Projekt selbst stammt, kommt über den Spiegel und wird beim Bau auf Integrität geprüft.

Mittel6–8 Std.DevOps & Administration

CI-Pipeline für einen Rust-Dienst

Bauen Sie für ein kleines Rust-Backend eine durchgehende CI-Pipeline: bei jedem Push Formatierung, Lint, Tests und ein Release-Build, das gebaute Programm als abholbares Artefakt. Zusätzlich überwacht die Pipeline die Versionspflege in der Cargo.toml.

Hinweise zur Bearbeitung

  • Bitte bearbeiten Sie die Aufgabe selbstständig
  • Verwenden Sie moderne Best Practices und Coding Standards
  • Dokumentieren Sie Ihre Lösung und Entscheidungen
  • Reichen Sie Ihren Code als Git-Repository ein

Bei Fragen zur Testaufgabe können Sie uns gerne unter karriere@firefleeb.de kontaktieren.