Prüfung // Coding Challenge
- Dauer
- 240 min
- Typ
- Frontend Development
- Maximale Teilnehmerzahl
- 40 Teilnehmer
- Verantwortlich
- Christian Noss
Die Bewertung erfolgt entlang der folgenden Niveaustufen:
Bitte beachten Sie folgende Punkte:
Wir möchten sicherstellen, dass Sie die Prüfung bestmöglich absolvieren können, daher möchten wir einige wichtige Regeln und Richtlinien hervorheben:
Eigenständige Leistung Die Coding-Prüfung erfordert, dass Sie die Features eigenständig umsetzen. Externe Hilfe von Personen in Echtzeit ist nicht gestattet. Wir legen großen Wert darauf, Ihre individuellen Fähigkeiten und Ihr Wissen zu bewerten.
Externe Quellen und KI-gestützte Tools Sie dürfen externe Quellen wie Online-Dokumentationen, externe Libraries, Foren und Bücher sowie KI-gestützte Tools nutzen, um Informationen und Lösungsansätze zu finden. Wir ermutigen Sie, diese Ressourcen effektiv zu nutzen, um Ihre Lösungen zu verbessern.
Kennzeichnung von fremdem Code Falls Sie Teile eines Codes von externen Quellen übernehmen, seien Sie transparent und kennzeichnen Sie diese Stellen eindeutig. Dies dient der Transparenz und ermöglicht es uns, Ihre Leistung fair zu bewerten. In der Regel erkennen wir fremden Code sehr schnell.
Kommunikation mit anderen Teilnehmern Die Kommunikation mit anderen Teilnehmern während der Prüfung ist nicht gestattet. Dies schließt jegliche Form der Zusammenarbeit bei der Lösung der Features aus.
Wir vertrauen darauf, dass Sie diese Regeln respektieren und die Prüfung in Übereinstimmung mit den genannten Richtlinien absolvieren. Wir wünschen Ihnen viel Erfolg und hoffen, dass Sie Ihr Wissen und Ihre Fähigkeiten optimal präsentieren können.
Bei Fragen oder Unklarheiten stehen wir Ihnen gerne zur Verfügung.
Prüfen Sie mit dem W3C Validator ob die index.html valide ist. Falls nicht, passen Sie bitte die Datei entsprechend an.
Dauer: 5min Storypoints: 2
HTML
Der Ablauf bei der Themenfindung (Vor der Arbeit, Während der Arbeit, Abschluss der Arbeit) soll einklappbar sein, damit die Seite nicht zu lang wird. Kleiner Tipp: das Details Element bringt fast alles erforderliche dafür mit.
Dauer: 10min Storypoints: 3
HTML, CSS
Das Farbschema soll ein wenig angepasst werden, damit die Seite lebendiger ist. Alle Farben sind bereits in der variabels.css
vorhanden.
Dauer: 10min Storypoints: 2
Es ist problematisch zu erkennen, was genau alles geändert werden muss.
CSS
Im unteren Bereich soll ein Formular zum Vorschlagen von Themen integriert werden. Nutzen Sie dabei auch folgenden Einleitungstext:
Haben Sie einen Themenwunsch oder -vorschlag? Ich suche vor allem nach Themen, die Interfaces im industriellen und musealen Kontext behandeln. Keine reinen Tech-Themen – Interfaces im Fokus!
Dauer: 20min Storypoints: 4
HTML, CSS
Über der Sektion «Thema vorschlagen» soll die Sektion «Abgeschlossene Arbeiten» erstellt werden. Hier gibt es zwei mögliche Varianten, eine mit Javascript und eine ohne. Entscheiden Sie sich für eine Variante.
Erzeugen Sie mit statischem HTML eine entsprechende Übersicht für die aktuellsten fünf Einträge. Die Inhalte finden Sie in der works.json
Datei im Wurzelverzeichnis.
Dauer: 40min Storypoints: 5
HTML, CSS
Erzeugen Sie die Übersicht mit allen Einträgen via Javascript. Die Inhalte finden Sie in der JSON Datei unter Material. Die URL für das JSON ist wie folgt:
http://0.0.0.0:4000/works.json
Dauer: 40min Storypoints: 8
HTML, CSS, JS
Erzeugen Sie eine Beispielseite für eine abgeschlossene Arbeit. Verlinken Sie diese aus der Übersicht. Nutzen Sie dabei die Arbeit “Can I CAI?” von Nils Polarek. Die Inhalte finden Sie unter Material. Die HTML Seite ist mit einem Grundgerüst bereits im Verzeichnis works
angelegt. In dieser Basisversion sollen die Bildstrecke und das YouTube Video noch nicht enthalten sein.
Dauer: 40min Storypoints: 6
HTML, CSS
Erzeugen Sie dynamisch via Javascript die Bildstrecke für die abgeschlossene Arbeit. Die Bilder finden Sie in folgendem Verzeichnis:
/works/n-pola/04-results/images
Die zugehörige JSON Datei unter:
http://0.0.0.0:4000/works/n-pola/04-results/images/metadata.json
Dauer: 30min Storypoints: 5
HTML, CSS, JS
Fügen Sie zu den Überschriften auf der index.html
Icons hinzu. Genutzt wird hier das Icofont Iconset und davon folgende Icons:
Dauer: 5min Storypoints: 1
HTML, CSS
Bei der Übersicht in der Sektion «Abgeschlossene Arbeiten» sollen nur die ersten fünf Arbeiten gezeigt werden. Die weiteren Arbeiten sollen erst nach einem Klick auf den Button «Weitere Arbeiten anzeigen» angezeigt werden.
Dauer: 20min Storypoints: 5
HTML, CSS, JS
Auf der Seite für eine abgeschlossene Arbeit sind unten Bilder integriert. Diese sollen via Klick groß angezeigt werden.
Dauer: 40min Storypoints: 7
HTML, CSS, JS
Auf der Seite für eine abgeschlossene Arbeit sind unten Bilder integriert. Diese sollen in der großen Anzeige als Slideshow angezeigt werden, so dass Nutzer:innnen via Klick direkt zum nächsten Bild kommen können.
Dauer: 40min Storypoints: 9
HTML, CSS, JS
Auf der Seite für eine abgeschlossene Arbeit soll unten ein YouTube Video integriert werden. Die Integration muss responsiv sein. Hier finden Sie das Video https://www.youtube.com/watch?v=QXwDuePHw5U
Dauer: 10min Storypoints: 2
HTML, CSS
Die Stammdaten zu einem Projekt sollen bei kleinen und mittleren Viewports unter der Überschrift angezeigt werden. Bei sehr großen Viewports sollen diese nach rechts neben den Text verschoben werden.
Dauer: 10min Storypoints: 3
CSS
Beim Formular in der Sektion «Thema vorschlagen» sollen die Label beim Klick in ein Formularfeld elegant animiert werden.
Dauer: 20min Storypoints: 4
CSS
Hier bauen wir die Buildchain aus und verzichten auf linghtningcss. Damit ist das CSS nicht ganz so kompatibel mit einiges älteren Browsern. Aber das sollte und für die Prüfung nicht stören. Folgende Änderungen sind erforderlich.
Anpassung der Pfade zum CSS in folgenden Pfad:
/assets/styles/_combined-styles.css
Und dann nutzen wir den Live Server von VSCode.
Wer trotzdem den Dev Server aus dem Repo nutzen möchste, müsste die package.json ändern:
{
"name": "fd-exam-2024",
"version": "1.0.0",
"description": "Startercode for Frontend Development exam",
"main": "index.js",
"scripts": {
"server": "npx light-server -s . -w \"./**/**\"",
"lint": "stylelint assets/styles/**/*.css",
"lint:fix": "stylelint assets/styles/**/*.css --fix",
"dev": "npm-run-all --parallel server lint"
},
"repository": {
"type": "git",
"url": "https://github.com/mi-classroom/fd-html-und-css-cnoss"
},
"author": "Christian Noss",
"license": "ISC",
"devDependencies": {
"light-server": "^2.9.1",
"npm-run-all": "^4.1.5",
"onchange": "^7.1.0",
"recursive-copy-cli": "^1.0.20",
"stylelint": "^16.4.0",
"stylelint-config-idiomatic-order": "^10.0.0",
"stylelint-config-standard": "^36.0.0",
"stylelint-order": "^6.0.4"
}
}