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.