Archiv für den Monat September 2017

Programmieraufgaben für Bewerber

Ich habe in diesem Post beispielhaft eine unserer Programmieraufgaben herausgezogen, die kürzlich unser neuer Mitarbeiter Hr. Jörg Weißbecker gelöst hat. In der Regel ist das Ziel ein möglichst hochwertiges Ergebnis zu programmieren, das z.B. die Prinzipien OCP und SoC solide umsetzt.

Zeitdruck ist an der Stelle völlig sekundär, sodass die Bewerber die Aufgaben immer von zuhause in aller Ruhe entwickeln können. Sie erhalten dann von mir nach jeder Iteration die nächste Anforderung übermittelt.

Am Ende besprechen wir das Ergebnis, sprich sie stellen ihren Gedankengang vor, reflektieren Probleme und stellen sich meinen Fragen.

 

Allgemeines vorab:

  • Es ist keine Oberfläche notwendig, es genügt eine Konsolenanwendung
  • Welche Bibliotheken genutzt werden, ist freigestellt
  • Das Schreiben von Tests ist optional
  • Aber: Setzte das objektorientierte Paradigma so gkonsequent als möglich um (!)

 

Iteration 1: Entwickeln Sie ein Programm, welches prüft, ob 2 Dateien identisch sind. Beispiel für den Aufruf:

Dublettenfinder.exe file1.txt file2.txt

 

Iteration 2: Statt 2 Dateien sollen jetzt 2 Ordnerpfade übergeben werden, für welche das Programm prüft, ob das Ordnerpaar Dubletten enthält. Wenn ja, soll es pro Dublette die Dateipfade gruppiert ausgeben. Beispiel:

Hash: xyxzasdfadsf

  • Datei1: c:\abc.pdf
  • Datei2: d:\efg.pdf

 

Iteration 3: Es soll möglich sein eine Liste von Verzeichnissen zu übergeben, sodass beliebig viele Verzeichnisse verglichen werden können. Außerdem sollen, sofern vorhanden, auch die Unterverzeichnisse geprüft werden.

 

Iteration 4: Fügen Sie bitte eine optionale Konfigurationsmöglichkeit hinzu, um nur bestimmte Dateitypen vergleichen zu können, sodass entweder alle Dateitypen, genau einen Dateityp oder n-Dateitypen verglichen werden können.

 

Iteration 5: Machen Sie den Algorithmus austauschbar, sodass der Identitätscheck z.B. anhand von Sha256 Hashwerten oder Bildanalyse durchgeführt werden kann.

 

Iteration 6: Nutzen Sie einen IoC Container, um dynamisch beim Start der Anwendung alle vorhandenen Algorithmen zu laden und dann vom User in der Konsole auswählen zu lassen. Jeder Algorithmus soll in einer eigenen Assembly liegen. Machen Sie dann eine Assembly für MD5 und Sha256.

 

Die  Lösung zu diesem Zeitpunkt müsste sich Fragen bzgl. der Erweiterung der folgenden 2 Änderungen stellen:

  • Lösche Dubletten anhand eines bestimmten Patterns, z.B. alle in Verzeichnis ‚xy‘ oder mit Dateinamen, die ‚yz‘ enthalten.
  • Ermögliche die Erkennung von doppelten Bildern anhand der Bilderkennung und nehme immer die beste Auflösung.

 

Kürzlich gab es in der dotnetpro einen Artikel von Stefan Lieser, welcher eine recht ähnliche Kata gelöst hat. Die Lösung von Herrn Weißbecker befindet sich hier.

Werbung

Angular Starthilfe – 2-tägiger Workshop in Leipzig

Zur Unterstützung des Developer Open Space 2017 bieten wir allen Teilnehmern, die uns eine Kopie ihres Tickets an schulung@co-IT.eu zukommen lassen, die Teilnahme an unserem 2-tägigen Angular 4 Workshop zum reduzierten Preis von 1250€ an.

Das Training ist vom 11-12. Oktober in Leipzig und damit direkt vorm #devspace selbst, sodass eine separate Anfahrt nicht notwendig ist. In unserem Firmenprofil könnt ihr euch vorab über uns informieren.

Angular_full_color_logo.svg

Für alle diejenigen, die meinen Blog lesen und nicht zur Veranstaltung gehen können, habe ich ebenfalls eine spezielle Aktion: Wer mir als erstes an die oben genannte E-Mail-Adresse eine Nachricht mit dem Titel „ich blogge“ schreibt und darin seinen Blog verlinkt, der erhält ebenfalls einen Rabattcode.

Die Anmeldung ist ab sofort auf Eventbrite freigeschaltet.

Einfachere Reisekostenabrechnungen für alle

Optimierung unserer Prozesse ist bei uns schon fast eine Leidenschaft, daher evaluieren wir regelmäßig neue Tools. Eines davon ist Einfach Reisekosten.

Unsere Anforderungen waren klar umrissen:

  • Skalierung auch mit 30 Mitarbeitern möglich
  • Reduzierung der benötigten Zeit pro Consultant auf 30 Minuten pro Monat
  • Reduzierung der Durchlaufzeit im Rechnungswesen
  • Auswertungen zur Kalkulation unserer Preise möglich
  • Einheiltung der immer aktuellen gesetzlichen Regelungen
  • Nice-to-Have: Integration in Debitoor (*)

*) Zu unserer Buchhaltungssoftware Debitoor kann ich gerne einen Artikel verfassen, wenn Interesse besteht. Schreibt mir einfach einen Kommentar.

Nach mehreren Tests, unter anderem dank des schnellen und freundlichen Supports, welcher uns einen Demo Team Account zur Verfügung gestellt hat, haben wir jetzt das Abo gebucht. Besonders gefällt uns, dass Entfernungen anhand von Google Maps automatisch berechnet werden und längere Projekte, in denen immer die gleichen Fahrten anfallen, mit wenigen Schritten erfasst werden können. Das Synchronisieren in Debitoor und die korrekte Zuordnung gemäß DATEV-Kostenrahmen funktioniert problemlos. Selbst so seltene Vorgänge wie das Erfassen von W-LAN Kosten, SIM-Karten, Vignetten, Fähren u.v.m. lassen sich damit abbilden. Durch die genaue Zeiterfassung werden die jährlich aktualisierte Pauschalen automatisch erfasst. Eine Reduktion durch Eingabe der gestellten Verpflegung z.B. von Frühstück im Hotel rundet das Ganze ab. Die Administration der Mitarbeiter scheint auf den ersten Blick auch keine Wünsche offen zu lassen.

Schwächen sehen wir aktuell noch im Zusammenspiel mit Debitoor. So findet kein Abruf des Kundenstamms statt, um den Kunden bzw. das Projekt in der Abrechnung per Auswahl erfassen zu können. Die PDF mit der Abrechnung würden wir darüber hinaus gerne customizen. Preislich wäre ein Rabatt mit steigender Mitarbeiterzahl wünschenswert.

Gerne ziehe ich Vorschläge vom Leser in Betracht. Postet diese in die Kommentare.

ebuero leider nicht für alle geeignet

Kürzlich haben wir für uns den Dienst von ebuero evaluiert. Danke an dieser Stelle an Hans-Peter Schelian und Thomas Bandt für die Empfehlung.

Das Ziel war es, dass unsere Kunden 24/7 365 Tage im Jahr immer jemanden erreichen können – wohlgemerkt einen Menschen! Das muss nicht zwingend jemand sein, der sofort weiterhelfen kann, aber es sollte damit gewährleistet sein, dass der Anrufer darauf vertrauen konnte, dass sich um sein Anliegen asap gekümmert wird.

Mir hat besonders gefallen, dass unser Kunden immer Telefonistinnen aus der gleichen „Sekretärinnen-Gruppe“ bekommen hätten, sprich 3-4 Mitarbeiter von ebuero wären immer für unsere Anrufer zuständig gewesen. Dass diese bereits alle fließend Englisch sprechen, war ein weiterer  Pluspunkt. Gegen einen Aufpreis wären Muttersprachler möglich. Die Preise waren für mein Empfinden durchaus akzeptabel.

Leider konnten einige unsere must-have Anforderungen nicht erfüllt werden:

  • Freigabe von Nummernblöcken in der VIP-Liste: Leider müssen Nummern einzeln eingetragen werden. Bereiche der Form +49-721-1234-XXX, wie sie für größere Kunden notwendig sind, werden nicht unterstützt. Speziell hierfür fehlt mir das Verständnis, wieso das nicht möglich ist. Während des Schreibens fällt mir auf, dass es interessant zu wissen wäre, ob CSV-Dateien hochgeladen werden können. So ließe sich diese Einschränkung vielleicht umgehen.
  • Benutzerbezogene Benachrichtigungen sind nicht möglich, d.h. die Notifikation über einen Anruf geht an genau eine anzugebende E-Mail-Adresse. Eine Zuordnung zu der Person, die vom Kunden versucht wurde anzurufen, gibt es nicht. Eine Anpassung der E-Mail, um per Regeln in unserem Exchange die automatische Weiterleitung zu gewährleisten, ist ebenfalls nicht möglich.
  • Das direkte, automatisierte Weiterleiten der VIP Anrufer ist nicht möglich, sprich in jedem Fall landet der Kunde erst im virtuellen Sekreteriat.
  • Das Kalender-Sharing Feature, um der Sekretärin Zugriff auf die Termine von uns zu geben, um dem Kunden zu erwartende Rückrufzeiten zu nennen, unterliegt Einschränkungen, die ich hier nicht weiter aufzählen will.

 

Wenn ein Leser uns einen alternativen Dienst empfehlen kann, wäre ich dankbar. Gerne dürfen auch die Nutzer von ebuero hier Verbesserungsvorschläge in die Kommentare posten, da ich den Artikel meinem Ansprechpartner in der Hoffnung zusenden werde, dass diese Punkte noch verbessert werden.

%d Bloggern gefällt das: