Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 4 Min.

Tipps für Coding Challenges

Softwareentwickler Michael Shpilt hat sich kürzlich bei einigen der größten Tech-Unternehmen der Branche beworben, berichtet von seinen Erfahrungen mit den Einstellungstests und gibt Tipps.
Michael Shpilt lebt in Israel, programmiert seit er 13 Jahre alt ist und arbeitet inzwischen seit zehn Jahren als professioneller Entwickler bei einer Firma, die sich der Verbesserung des Debugging für .NET-Entwickler widmet. Kürzlich hat er sich beworben und eine Reihe von Vorstellungsgesprächen bei einigen der größten Unternehmen der Tech-Branche absolviert. In einem Blogbeitrag berichtet er ausführlich über die Erfahrungen, die er dort gemacht hat und gibt nützliche Tipps, wie man sich insbesondere auf praktische Einstellungstests vorbereiten kann.Die Vorstellungsgespräche in diesen Firmen waren laut Shpilt sehr unterschiedlich, aber sie hatten auch viele Gemeinsamkeiten, einschließlich einer großen Betonung von Codierungsproblemen. Diese Probleme konnten darin bestehen, etwas zu sortieren, alle möglichen Kombinationen auszudrucken oder den Weg aus einem Labyrinth zu finden. In seinem Beitrag geht es darum, was er bei Vorstellungsgesprächen über C# gelernt habe. Genauer gesagt, von den Programmierproblemen. Sein Fazit: Software zu entwickeln ist etwas ganz anderes als Bewerbungsgespräche zu führen.Eine seiner Erkenntnisse ist, dass Top-Firmen wie Facebook oder Apple den Bewerbern nicht die wirklich schwierigen Fragen zur Bearbeitung vorlegen. Die meisten Fragen die er beantworten musste lagen irgendwo im mittleren Schwierigkeitsbereich. Viele Fragen betrafen eine klassische Implementierung eines rekursiven DFS oder BFS. Oder eine Variation des Bin-Packing-Problems. Manchmal musste er einen Binärbaum durchlaufen. In seltenen Fällen einen Heap verwenden. Aber auch an den einfachen und mittleren Fragen kann man furchtbar scheitern, denn Vorstellungsgespräche sind stressig. Sie müssen sehr schnell mit einer Lösung aufwarten. Er sagt, er habe gelernt, sich immer vor Augen zu halten, dass die Frage wahrscheinlich nicht knifflig, sondern eher einfach ist. Meistens stimmt das auch, und der Gedanke daran mildert etwas den Druck.Übrigens erlauben alle großen Unternehmen den Kandidaten, Probleme in jeder Programmiersprache zu lösen. Selbst wenn die Stelle also z. B. für JavaScript ausgeschrieben ist, werden Sie trotzdem in der Lage sein, C#-Code zu schreiben.Hier noch einige der Empfehlungen aus seinem englischsprachigen Artikel im Schnelldurchlauf:
  • Mehrdimensionale Arrays sind für allgemeine Probleme geeignet, wie die Darstellung eines 2D-Labyrinths oder eines 3D-Würfels. Wenn Sie in nächster Zeit zu einem Vorstellungsgespräch gehen, sollten Sie die Syntax dieser auffrischen. Dazu gehören der Initialisierer, die Dimensionslänge und die jeweiligen Indizes der Spalten/Zeilen.
  • Verwenden Sie Tuples, nicht Klassen. Sie haben eine kompaktere Syntax, es ist weniger zu schreiben. Und wenn Sie etwas ändern wollen, gibt es weniger zu ändern. Es bleibt mehr Zeit zum Nachdenken und möglicherweise um mehr Fragen zu beantworten.
  • Denken Sie daran, dass Sie in einem Coding-Interview in einer Art Online-Notizblock-ähnlichen Umgebung schreiben werden, in der Sie keine Snippets, Autovervollständigung und all die anderen Vorzüge haben, die Sie von Visual Studio gewohnt sind.
  • Binäre Operationen sind <<, >>, & und | sind bei Codierungsproblemen nützlich.
  • Nützliche Dinge mit Strings und Arrays. Sie sollten Methoden auffrischen, wie beispielseise .Substring, .Contains, .Replace, string.Equals(), .ToLower(), .ToUpper(), string.Join und so weiter. Für Arrays ist die Methode Array.Sort sehr nützlich. Sie akzeptiert einen Comparison-Delegaten, um zu sortieren, wie Sie wollen.
  • In Python ist alles kürzer. Kürzerer Code bedeutet mehr Zeit zum Nachdenken zu haben. Wenn Python für die Lösung taugt und sie es verwenden dürfen ...
  • Verwenden Sie kurze Namen. Gemeint ist nicht die Methoden A und B nennen. Aber, dass Sie, wenn Ihr Problem darin besteht, durch ein Labyrinth zu iterieren und Sie einen Depth-First-Search-Algorithmus verwenden, die Methode ruhig DFS statt FindAWayInAMaze nennen können.
Das sind nur einige der Tipps, die Michael Shpilt in seinem Blogbeitrag gibt. Zu vielen Tipps hat er zudem Codebeispiele dazugepackt, so dass sie noch eingäniger werden. Inzwischen hat er übrigens seinen neuen Job bei Microsoft bekommen.

Neueste Beiträge

DWX hakt nach: Wie stellt man Daten besonders lesbar dar?
Dass das Design von Websites maßgeblich für die Lesbarkeit der Inhalte verantwortlich ist, ist klar. Das gleiche gilt aber auch für die Aufbereitung von Daten für Berichte. Worauf besonders zu achten ist, erklären Dr. Ina Humpert und Dr. Julia Norget.
3 Minuten
27. Jun 2025
DWX hakt nach: Wie gestaltet man intuitive User Experiences?
DWX hakt nach: Wie gestaltet man intuitive User Experiences? Intuitive Bedienbarkeit klingt gut – doch wie gelingt sie in der Praxis? UX-Expertin Vicky Pirker verrät auf der Developer Week, worauf es wirklich ankommt. Hier gibt sie vorab einen Einblick in ihre Session.
4 Minuten
27. Jun 2025
„Sieh die KI als Juniorentwickler“
CTO Christian Weyer fühlt sich jung wie schon lange nicht mehr. Woran das liegt und warum er keine Angst um seinen Job hat, erzählt er im dotnetpro-Interview.
15 Minuten
27. Jun 2025
Miscellaneous

Das könnte Dich auch interessieren

Developer World – Die neue Welt für die Developer-Community
Die Developer World bündelt Events, Fachwissen und Weiterbildungen unter einer starken Marke. Mit dem neuen Portal und der DWX als Leit-Event wird sie zur zentralen Plattform für alle, die Software entwickeln, testen und gestalten.
4 Minuten
UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Mythos Motivation - Teamentwicklung
Entwickler bringen Arbeitsfreude und Engagement meist schon von Haus aus mit. Diesen inneren Antrieb zu erhalten sollte für Führungskräfte im Fokus stehen.
13 Minuten
19. Jan 2017
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige