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.
Miscellaneous

Neueste Beiträge

Review von KI-generiertem Code - Projektanforderungen an Entwickler in Zeiten von KI, Teil 3
Der Code kompiliert. Die Tests sind grün. Der Pull Request sieht sauber aus. Und trotzdem ist er falsch. Fünf Fehlermuster zeigen, worauf die Reviewer beim KI-generierten Code achten müssen, weil Syntax-Korrektheit längst nicht Geschäftslogik-Korrektheit bedeutet.
6 Minuten
Game-Boy-Emulation in C# – ROM-Dumping - Retro-Hardware mit .NET in Software nachbilden, Teil 1
Ohne Spiele kein Emulator – wie man echte Cartridges mit einem Arduino und etwas C# zum Reden bringt.
7 Minuten
4. Nov 2026
Wenn Software autonom wird - KI-Agenten verändern die Spielregeln der IT-Infrastruktur
Agentische KI-Systeme übernehmen mehrstufige Arbeitsabläufe und bestimmen dafür innerhalb eines vorgegebenen Rahmens nötige Schritte, führen sie aus und passen ihr Vorgehen an. Dieses Maß an Autonomie bringt bestehende Infrastrukturen schnell an ihre Grenzen.
6 Minuten
2. Nov 2026

Das könnte Dich auch interessieren

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
Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige