Entwickleraufgabe
Bitte baue folgende Applikation:
Eine Applikation soll den Benutzer beim Berechnen von bestimmten Problemen unterstützen. Er muss sich sich nicht besonders mit der Thematik auskennen um die Rechnung durchzuführen.
- Es existiert eine Eingabe die es ermöglicht eine gewünschte Aktion auszuwählen.
- Ist eine Aktion ausgewählt müssen basierend auf der Auswahl weitere Eingaben gemacht werden.
- Es wird immer nur die Anzahl von Eingaben gezeigt die auch benötigt werden
- Die Liste der Rechenregeln (s.u.) ist konfigurativ (nicht Hardcoded) abgelegt und kann z.B. durch ein restart oder redeployment der Applikation neu geladen werden.
- Ein geschulter Entwickler/Anwender kann die Rechenregeln konfigurieren ➝ erweitern, verändern, reduzieren.
User-Flow:
Start der Applikation ➝ „Bei welcher Berechnung wollen Sie unterstützt werden?“ ➝ Auswahl erfolgt durch Benutzer ➝ basierend auf der ausgewählten Rechenregel werden ggfs. weitere Inputs angezeigt ➝ nach Eingabe der weiteren Felder wird die Rechnung durchgeführt ➝ Anzeige des/der Ergebnisse
Rechenregeln:
Name |
Beschreibung |
Input A |
Benötigt? |
Input B |
Benötigt? |
Regel |
Hypotenuse berechnen |
Anhand von Ankathete und Gegenkathete die Länge der Hypotenuse berechnen |
Ankathete |
JA |
Gegenkathete |
JA |
Ergebnis = root(a²+b² ) |
Ganzzahligen Rest ausgeben |
Ausgehend von einer Zahl wird der ganzzahlige Rest einer Division berechnet. |
Zahl |
JA |
Divisor |
JA |
Ergebnis = Zahl mod(Divisor) |
Kreisumfang berechnen |
Mit dem Durchmesser eines Kreises kann hier der Umfang berechnet werden. |
Durchmesser |
JA |
– |
NEIN |
Ergebnis = Durchmesser * 3,1415 |
Ablauf und Umfang
- Du kannst deine Frameworks und Programmiersprache frei wählen. Ausgeschlossen sind nur pseudo Sprachen wie z.B. Brainfuck oder Whitespace.
- Ergebnisse sind bitte in einem public Github/Gitlab Projekt oder Repository hinterlegt. Den Link uns dann bitte zukommen lassen.
- Du hast so viel Zeit wie du willst. Wir gehen davon aus, dass die Aufgabe in 4-8 Stunden gut zu lösen ist und ein maximaler zeitlicher Einsatz wird nicht bewertet weder negativ noch positiv.
- Bitte lege eine Beschreibung in as Repository wie die Applikation zu starten und zu nutzen ist (für technisch versierte).
- Bitte beschreibe auch was man machen muss, damit die „Rechenregeln“ angelegt und verändern bzw. auch eine neue erstellt werden kann
Was musst du NICHT machen:
- Authentifizierung / Autorisierung
- Production Ready deployment ➝ Ausführung auf dem Entwicklerrechner reicht
- Ausführliche Dokumentation
- Dir ein Bein ausreissen wenn es nicht klapp ➝ Lieber mit uns sprechen
Hinweise:
- Nutze Technologien die dir liegen und in denen du dich wohlfühlst
- Achte auf Clean Code und vernünftigen Code-Style nutze ggfs. quality checker
- Wenn du Code/Snippets von dritten verwendest, dann mach das bitte kenntlich
- Struktur, Vorgehen und Lösungsidee ist uns wichtiger als working code
- Bereite dich darauf vor dein Vorgehen zu erläutern
- Die Aufgabe ist bewusst nur grob spezifiziert. Überrasche uns mit Ideen wie du es verstehst.