Bildschirm.NET-Entwickler-Fähigkeiten-Set Liste & Anforderungen an Erfahrung

22. Januar 2018
.NET: Fragen zum Interview mit Software-Ingenieuren

Sie sind dabei, eine Rekrutierungskampagne zu starten, um einen .NET-Entwickler oder einen .NET Core-Entwickler einzustellen. Aber sobald Sie die Bewerbungen und Lebensläufe erhalten haben, müssen Sie entscheiden, wer gut genug ist, um zu einem technischen Interview vor Ort zu kommen. Dies erfordert einen technischen Screening-Prozess.

Was viele technische Recruiter nicht wissen, ist, dass zum Screening mehr gehört als das Überfliegen eines Lebenslaufs. Warum ist das so? Einerseits sind gute .NET-Entwickler rar, sodass Sie einen Kandidaten mit Potenzial und guten Programmierkenntnissen nicht übersehen wollen. Andererseits wollen Sie keine schwachen Kandidaten zu einem Vorstellungsgespräch einladen. Das verschwendet die wertvolle Zeit Ihres IT-Teams und Ihrer Mitarbeiter.

Es stellt sich also die Frage, wie Sie die .NET-Programmierkenntnisse Ihrer .NET-Entwickler-Kandidaten überprüfen können, damit Sie die guten Kandidaten interviewen und die schlechten herausfiltern können. Wir haben diesen Leitfaden zusammengestellt, um zu zeigen, worauf es bei der .NET-Technologie ankommt und wie man Kandidaten schnell und effektiv prüft. Sind Sie bereit? Fangen wir mit den Grundlagen an.

Prüfen Sie den Durchschnitt .NET Entwickler Gehalt.

1. Was ist .NET?

.NET ist ein Softwareentwicklungs-Framework von Microsoft. Es bietet eine kontrollierte Programmierumgebung, in der Software hauptsächlich auf Windows-basierten Betriebssystemen entwickelt, installiert und ausgeführt werden kann (dies ändert sich mit der Einführung von .NET Core). Es war Microsofts Antwort auf das schnelle Wachstum der Java-Plattform und deshalb sind viele Konzepte (angefangen von der Syntax der Sprachen bis hin zur Idee der Ausführung von Programmen auf einer virtuellen Maschine) dieser beiden ähnlich.

Die .NET-Plattform unterstützt viele Sprachen, wie C#, Visual Basic .NET, F# und C++ .NET. Außerdem stehen .NET-Entwicklern eine Reihe von Bibliotheken und Frameworks zur Verfügung, die es sehr einfach machen, eine große Vielfalt von Anwendungen (Web, Desktop und Mobile) zu erstellen, einschließlich solcher für die anspruchsvollsten Unternehmenszwecke. Zu den Hauptvorteilen von .NET gehören die natürliche Integration mit anderen Produkten/Tools von Microsoft wie Office, die Reife und Stabilität des Frameworks und die großartige Unterstützung durch die .NET-Entwicklergemeinde.

2. Was sollte ein IT-Recruiter wissen über .NET?

Wir haben eine Liste mit den wichtigsten Dingen erstellt, die IT-Personalvermittler wissen sollten, wenn es um .NET geht.

  1. Genau wie in der Java-Umgebung, nur mit einer bestimmten Sprache vertraut zu sein (in den meisten Fällen wird es C# sein) reicht einfach nicht aus. Um ein produktiver .NET-Entwickler zu sein, müssen Sie Bibliotheken und Frameworks kennen, wie ASP.NET, MVC oder Entity Framework. Diese sind die Bausteine jeder nicht-trivialen kommerziellen Anwendung, die mit .NET erstellt wurde.
  2. Es ist wichtig, Kandidaten nicht auszuschließen, wenn sie keinen einzigen Rahmen aus der Liste der Anforderungen kennen. NET-Frameworks sind oft ähnlich, und wenn der Kandidat über gute Kenntnisse in einem von ihnen verfügt, kann er leicht auf das erforderliche Framework migrieren. Auch wenn er die betreffende Bibliothek oder das betreffende Framework nicht kennt, sollte er dennoch die Ideen und Prinzipien dahinter verstehen. Wenn Sie mehr darüber erfahren möchten, werden wir etwas weiter unten Beispiele für diese Zusammenhänge geben.
  3. Kaufmännische Erfahrung ist das, was wirklich zählt und einen echten Wert für einen Arbeitgeber darstellt. .NET-Wissen von der Universität, es sei denn, es ist sehr praktisch, bringt nicht viel für die Business-Codierung. Wenn Sie nach einem Junior-.NET-Entwickler suchen, spielt die Ausbildung natürlich eine Rolle. Aber denken Sie daran, dass Sie auch Programmiererfahrung berücksichtigen können, selbst wenn diese nicht kommerziell ist. Fragen Sie, ob der Kandidat irgendein Hobby- oder Open-Source-Programmierprojekt durchgeführt hat, das in .NET-Technologie erstellt wurde.

.NET-Kernframework

NET entwickelt sich ständig in rasantem Tempo weiter. Eine häufige Einschränkung von .NET waren bisher Probleme bei der Portierung des Frameworks auf andere Hardware-Architekturen und Betriebssysteme. Dies und andere Faktoren führten schließlich zur Schaffung des .NET Core-Frameworks. Dieses ist jetzt Open Source und unterstützt Windows, Mac und Linux.

.NET Core hat die vorherige Version von .NET nicht ersetzt. Im Moment werden die beiden Versionen parallel entwickelt, und es scheint nicht so, dass .NET Core .NET in absehbarer Zeit ersetzen wird. Es gibt viele Anwendungen, die mit .NET erstellt wurden, und sie müssen immer noch gewartet und aktualisiert werden. Nicht nur das, die Aktualisierung einer Anwendung von .NET auf .NET Core könnte aus technologischen und/oder finanziellen Gründen schwierig oder sogar unmöglich sein.

Was ist der Unterschied in den erforderlichen Fähigkeiten von .NET-Entwicklern zwischen .NET und .NET Core?

Nun, insgesamt sind beide recht ähnlich, mit einigen Unterschieden in den Details je nach Bibliotheken und Komponenten. Im Allgemeinen sollte ein .NET-Entwickler in der Lage sein, sich mit der Verwendung von .NET Core ziemlich leicht vertraut zu machen. Abgesehen davon gibt es einige spezifische Teile von .NET wie ASP.NET Web Forms oder .NET C++-Sprache, die derzeit nicht von .NET Core unterstützt werden, und niemand weiß, ob dies jemals der Fall sein wird.

Momentan wird .NET Core gewöhnlich in neuen Projekten mit geringem Risiko verwendet, die gerade erst bei Null anfangen (Startups usw.). Es ist möglich, einige .NET-Komponenten in .NET Core-Anwendungen zu verwenden (aber nicht umgekehrt). Einige Firmen versuchen vielleicht, ihre bestehende Software in .NET Core umzuschreiben oder einfach neue Module mit .NET Core zu schreiben. Zu diesem Zweck sind Entwickler gefragt, die sich sowohl mit .NET als auch mit .NET Core auskennen.

Aufgrund der Ähnlichkeiten zwischen .NET und .NET Core werden wir beide im Folgenden als .NET bezeichnen und gegebenenfalls auf Unterschiede hinweisen.

3. Wie man die Fähigkeiten von .NET-Entwicklern in der Screening-Phase überprüft

IT-Recruiter können einige verschiedene Screening-Methoden verwenden, um die Fähigkeiten von Dot NET-Entwicklern zu beurteilen. Diese können auf allem basieren, vom Lebenslauf des Kandidaten, einem technischen Interview oder Videoanrufen bis hin zu Online-Codierungstests.

Im Folgenden finden Sie einige nützliche und praktische Rekrutierungstipps, die Ihnen helfen, die Fähigkeiten von .NET-Entwicklern mit jeder Methode zu überprüfen.

3.1. Vorführung eines.NET Entwickler, die ihren Lebenslauf verwenden

Als IT-Rekrutierer finden Sie in den Lebensläufen, die Sie von .NET-Entwicklern erhalten, einige wirklich wertvolle Informationen. Aber um die wertvollen Informationen, die sie enthalten, freizuschalten, müssen Sie verstehen, was dort geschrieben steht, ohne durch die von ihnen verwendeten .NET-Begriffe verwirrt zu werden. Wenn Sie als technischer Anwerber auf der Suche nach einem .NET-Entwickler sind, dann sollten Sie zumindest mit all seinen Frameworks, Build-Tools und anderen Ressourcen vertraut sein, um zu wissen, wonach Sie suchen. Sie sollten in der Lage sein, dieselbe Sprache wie Ihre Kandidaten zu sprechen (oder zumindest die Grundlagen verstehen, über die der Kandidat spricht).

Aus diesem Grund haben wir dieses grundlegende .NET-Glossar erstellt. Nehmen Sie sich eine Sekunde Zeit, um die darin enthaltenen Begriffe aufzufrischen.

.NET-Glossar für technische Anwerber

.NET-Rahmenwerk-Versionen .NET 1.0 - .NET 4.7.2
Sprachen C#, Visual Basic .NET, F#, C++ .NET
Web-Rahmenwerke ASP.NET MVC 1-5, ASP.NET Web API 1-2, ASP.NET Web-Formulare (alte Schule)
Desktop-Frameworks WPF, Windows-Formulare (alte Schule)
Rahmen für die Kommunikation* WCF, ASP.NET Web API, 1-2, Webdienste (alte Schule)
IoC-Behälter Schloss Windsor Container, Einheit, Strukturkarte, Ninject, AutoFac
ORM Entity Framework 1-6, nHibernate 1-5, Linq2SQL (abgeschrieben), ADO.NET
C# Einheitstest-Rahmenwerke nUnit, SpecFlow, MSTest, xUnit
C#-Build-Tools TFS, Team City, Jenkins, Cruise Control .NET, Azure DevOps (alter TFS)

.NET Kern-Glossar für technische Personalvermittler

.net Core-Framework-Versionen .NET-Kern 1.0-2.2
Sprachen C#,Visual Basic.NET, F#
Web-Rahmenwerke ASP.NET-Kern MVC 1.0-2.2
Desktop-Frameworks Jetzt keine, aber in .NET Core 3
Rahmen für die Kommunikation* Web Api ist jetzt in ASP.NET Core MVC 1.0-2.2 integriert
IoC-Behälter Schloss Windsor Container, Einheit, Strukturkarte, Ninject, AutoFac
ORM Entitätsrahmen Kern 1.0-2.2
C# Einheitstest-Rahmenwerke nEinheit, MSTest, xEinheit

*verwendet, um Daten auszutauschen und Service-orientierte Anwendungen zu erstellen.

Technische Backend-.NET-Entwickler-Fähigkeiten und Qualifikationen, die einen Kandidaten wertvoller machen

  • Azurblau
  • Sprachen (C# plus VB.NET oder F#)
  • Frameworks (vor allem ASP.NET MVC und Entity Framework)
  • Datenbanken (MySQL, SQL Server, Azure SQL)
  • MTA - Microsoft Technology Associate
  • MCSA (Web-Anwendungen, Universal Windows Platform)
  • .NET-Kern

Azurblau

Heutzutage hat Microsoft seine eigene Cloud-Plattform - Azure. Und sie wird im Laufe der Zeit immer beliebter. Auch die Nachfrage nach Entwicklern, die in der Lage sind, ihre Funktionen zu nutzen, steigt. Die Preise der Azure-Dienste richten sich nach dem Verbrauch von Rechenleistung und benötigten Ressourcen. Das bedeutet, dass eine unvorsichtige Software-Entwicklung zu erhöhten Rechnungen führen kann, auch nach der Bereitstellung von Apps. Die Menge an neuen Ideen und Technologien, die mit Azure einhergeht, macht es nicht einfacher, optimale Software zu erstellen, da viele Entwickler noch nicht genug Zeit hatten, Experten für diese Lösungen zu werden.

Lassen Sie uns auf einen Blick sehen, welche Themen den .NET-Entwicklern im Zusammenhang mit Azure vertraut sein könnten:

  • Web-Anwendungen
  • Serverlose Funktionen
  • Kosmos DB
  • Service-Gewebe
  • Blog-Speicherung
  • Container und Mikrodienste

Azurblau ist ein sehr tiefgründiges Thema, das viele neue Funktionalitäten wie diese und viele andere mit sich bringt.

Nun, da Sie mit den .NET-Grundlagen vertraut sind, können wir weiter ins Detail gehen. Wenn Sie kein Techniker sind, kann es leicht zu Verwechslungen kommen, wenn Sie die verschiedenen Technologienamen und Abkürzungen verwenden. Wenn der Kandidat sagt, dass er C# kennt, bedeutet das, dass er mit Visual Basic .NET vertraut ist? Oder bedeutet es, wenn der Bewerber ASP.NET MVC 1 kennt, dass er auch ASP.NET MVC 3 verwenden kann? Lesen Sie einfach weiter, und Sie werden eine Antwort erhalten.

Die gebräuchlichsten .NET-Technologienamen, die austauschbar verwendet werden:

  • ASP.NET, ASP.NET MVC, .NET MVC (Modellansichts-Controller)
  • EF, Entitätsrahmen, ADO.NET Entitätsrahmen
  • Windows Communication Foundation, WCF, SOA, Service-orientierte Architektur

Wie nahe die jeweiligen Versionen der .NET-Technologien beieinander liegen:

  • ASP.NET MVC 3/4/5 sind ähnlich
  • ASP.NET Core MVC ist ein wenig anders als ASP.NET MVC 5
  • ASP.NET MVC 1 und ASP.NET MVC 2 sind ähnlich
  • ASP.NET MVC 3 ist anders als ASP.NET MVC 2
  • C# 7 (es gab einige wenige davon: 7.0;7.1;7.2;73) unterscheidet sich ein wenig von C# 6.0
  • C# 7 wird in .NET Core und .NET 4.6.2+ verwendet.
  • C# 6.0 ist eine reichhaltigere Version von C# 5.0, die eine reichhaltigere Version von C# 4.0 ist.
  • C# 4.0 unterscheidet sich ein wenig von C# 3.0
  • C# 3.0 unterscheidet sich von C# 2.0
  • Entity Framework 7.0 wurde in Entity Framework Core umbenannt, weil es von Grund auf neu geschrieben wurde
  • Entity Framework Core ist ein bisschen anders als Entity Framework 6.0. Einige Dinge scheinen im Code gleich zu sein, funktionieren aber unter der Haube anders.
  • Entity Framework 6.0 ist ähnlich wie Entity Framework 5.0
  • Entity Framework 5.0 ist ähnlich wie Entity Framework 4.0

Es ist auch wertvoll, sich der folgenden Beziehungen bewusst zu sein:

  • C# ist völlig anders als Visual Basic .NET
  • ASP.NET MVC ist völlig anders als ASP.NET Web Forms
  • WPF ist völlig anders als Windows Forms
  • Alle IoC-Container sind konzeptionell sehr ähnlich. Wenn jemand einen kennt, dann ist es leicht, sich an einen anderen anzupassen.
  • NET Core benötigt keinen IoC-Container, da es mit einem eigenen ausgeliefert wird, aber es kann die vorhandenen nutzen.
  • nHibernate ist ähnlich wie Entity Framework
  • Entity Framework und nHibernate sind völlig anders als ADO.NET
  • RESTful Dienstleistungen: Wenn jemand ASP.NET Web Api kennt, dann wird er mit den anderen umgehen können

Wie wichtig sind .NET-Zertifikate für die Beurteilung der Programmierkenntnisse eines .NET-Entwicklers?

Zertifikate sind ein etwas kontroverses Thema in der .NET-Welt. Einige Unternehmen und Fachleute sagen, dass sie der beste Beweis dafür sind, dass der Kandidat über tiefgreifende Kenntnisse in .NET verfügt. Andere sind der Meinung, dass die Prüfungen kaum praktische .NET-Fähigkeiten testen und sich stattdessen auf Ausnahmen und theoretisches Wissen konzentrieren.

Man kann mit Sicherheit sagen, dass Zertifikate nicht unbedingt etwas beweisen. Viele große Entwickler haben keine, da sie in ihnen keinen Wert sehen. Andere, die vielleicht nicht über viel kommerzielle Erfahrung verfügen, werden versuchen, ihre Marktposition zu "stärken", indem sie eine Zertifizierungsprüfung ablegen. Natürlich kann man sagen, dass es besser ist, ein Zertifikat zu haben, als keins zu haben, aber Personalvermittler sollten daran denken, dass es eher ein "nice to have" als eine Voraussetzung ist. Der beste Beweis für die Qualität eines Kandidaten sind seine kommerzielle Erfahrung und seine Referenzen.

In .NET sind Microsoft-Zertifizierungen offensichtlich am wichtigsten, wenn es um Software-Entwicklung geht. Sie können in mehrere Ebenen unterteilt werden:

1. MTA - Microsoft-Technologie-Mitarbeiter.

Es ist die erste Stufe der Zertifizierung und bescheinigt, dass ein Kandidat mit Microsoft-Technologien in Berührung gekommen ist. Um ein MTA zu erhalten, muss ein Kandidat eine seiner Prüfungen bestehen. Es gibt ein breites Spektrum, aus dem man wählen kann, aber es gibt einige Prüfungen, die wesentlich mit der Entwicklung zusammenhängen:

  1. Prüfung 98-361 Grundlagen der Software-Entwicklung
  2. Prüfung 98-364 Datenbank-Grundlagen
  3. Prüfung 98-375 HTML5-Anwendungsentwicklungsgrundlagen
  4. Prüfung 98-382 Einführung in die Programmierung mit JavaScript
  5. Prüfung 98-383 Einführung in die Programmierung mit HTML und CSS

Bitte beachten Sie, dass der Besitz eines MTA nicht erforderlich ist, um eine Prüfung auf dem MCSA-Level zu beginnen, behandeln Sie es also als Bonus.

2. MCSA

Es ist die zweite Ebene und erfordert keine Vorbedingungen. Ein Kandidat kann zwei Versionen der Zertifizierung erwerben:

  1. MCSA:Web-Anwendungen.
    Für diesen muss der Kandidat bestehen:
    Prüfung 70-486 Entwickeln von ASP.NET MVC-Webanwendungen
    Und mindestens einer der folgenden:

    1. Prüfung 70-483 Programmierung in C#
      Oder
    2. Prüfung 70-480 Programmierung in HTML5 mit JavaScript und CSS3
  2. MCSA: Universelle Windows-Plattform
    Der Kandidat muss beides bestehen:

    1. Prüfung 70-483 Programmierung in C#
    2. Untersuchung 70-357: Mobile Apps entwickeln

3. MCSD: App-Builder

Um den MSCD zu erhalten: App Builder-Zertifizierung müssen Sie mindestens einen MCSA in Web Applications oder Universal Windows Platform haben.
Um diese Zertifizierung zu erlangen, muss der Kandidat bestehen:

  1. Prüfung 70-487 Entwicklung von Microsoft Azure und Webdiensten

Weitere Informationen über aktuelle Zertifizierungen finden Sie hier.

Bitte beachten Sie, dass es eine Vielzahl von Zertifizierungen (MCP, MCTS, MCPD) und Prüfungen (insbesondere in Bezug auf ältere Versionen von .NET, WPF) gibt, die zurückgezogen wurden. Auch diese sind für einen Kandidaten bemerkenswert. Es ist auch wertvoll, einfache Prüfungen bestanden zu haben, selbst wenn der Kandidat den Weg zur Zertifizierung nicht weiter beschritten hat.

Andere Informationen auf einem Lebenslauf, die die .NET-Fähigkeiten des Entwicklers zeigen können

Achten Sie beim Lesen des Lebenslaufs eines Kandidaten auf die folgenden Punkte. Sie können suggerieren, dass Ihr Kandidat wahrscheinlich für Ihr IT-Team wertvoll sein wird.

  • Erfahrung mit großen Projekten, einschließlich des Umgangs mit großen Datenmengen. Dies deutet darauf hin, dass der Kandidat wahrscheinlich bereits weiß, wie er mit Problemen umgehen muss, die bei jedem IT-Projekt auftauchen können.
  • Teilnahme an Konferenzen, Programmiersitzungen. Dies ist ein Zeichen dafür, dass der Kandidat ein überdurchschnittliches Interesse an neuen Trends hat und ein leidenschaftlicher und geschickter Entwickler sein könnte.
  • Beteiligung sind Open-Source-Projekte.  Dies ist ein Zeichen dafür, dass der Kandidat wahrscheinlich über überdurchschnittliche Kenntnisse der .NET-Technologie verfügt und sich wahrscheinlich als Teil eines jeden Projekts hervorragend eignen würde.

3.2. Technische Vorführung von .NET Entwicklerfähigkeiten während eines Telefon-/Video-Interviews

Allein aus dem Lebenslauf verlässliche Rückschlüsse auf die Dot NET-Entwicklerfähigkeiten Ihres Kandidaten zu ziehen, ist ziemlich schwierig. Deshalb greifen IT-Recruiter oft auf Telefon- oder Videointerviews zurück, um den Kandidaten besser kennenzulernen. Wenn der Kandidat gut abschneidet, wird er zu einem technischen Vorstellungsgespräch mit dem IT-Team vor Ort eingeladen. Es lohnt sich also, die Fragen, die Sie stellen möchten, sorgfältig zu durchdenken.

Die Fragen selbst können je nach der Position, für die Sie rekrutieren, und den spezifischen Fähigkeiten, die Sie überprüfen möchten, variieren. Aus meiner Erfahrung würde ich die folgenden allgemeinen Fragen empfehlen, um mehr über die .NET-Entwicklerfähigkeiten des Kandidaten herauszufinden:

1. NET-Interview-Frage über die Erfahrung des Entwicklers

Q1: Was war das interessanteste Projekt, an dem Sie teilgenommen haben? Können Sie es beschreiben und sagen, warum Sie es für so attraktiv hielten?

Warum Sie Q1 fragen sollten: Er gibt Ihnen eine Vorstellung von der Komplexität der Projekte, an denen der Kandidat teilgenommen hat. Wichtig ist, dass sie ihre Präferenzen (Algorithmen, Front-End, Datenbank) offenbart.

2..NET-Interviewfragen zum Wissen und zu den Meinungen des Entwicklers

Q2:  Könnten Sie den Unterschied zwischen ähnlichen Frameworks A und B erklären (zum Beispiel den Unterschied zwischen ASP.NET MVC und Web Forms)?

Warum Sie Q2 fragen sollten: Wenn der Kandidat den Unterschied für eine nicht-technische Person verständlich erklären kann, deutet dies darauf hin, dass er gut mit Geschäftsanwendern kommuniziert. Außerdem deutet eine klare Erklärung auf ein tiefes Verständnis des Problems hin (in diesem Fall Kenntnis beider Rahmenbedingungen).

Q3:  Beteiligen Sie sich gerne an den Analyse-, Design- und Deployment-Phasen eines IT-Projekts oder konzentrieren Sie sich lieber auf die reine Entwicklung einer gut beschriebenen Aufgabe? Warum?

Warum Sie Q3 fragen sollten: Wenn der Kandidat die erste Option vorzieht, bedeutet dies, dass er sich in einem agilen Projekt (sowohl kleine als auch große Organisationen) wahrscheinlich besser fühlen würde und sich später in eine andere Rolle entwickeln kann (Business-Analysten, Architekt, Scrum Master). Wenn sie es vorziehen, sich auf die reine Entwicklung zu konzentrieren, bedeutet dies, dass sich der Kandidat in einem Team mit klar definierten Rollen und Grenzen (eine große Organisation) besser fühlen würde.

Q4: Ich habe bemerkt, dass Sie den Rahmen X in Ihrem Lebenslauf aufgeführt haben. Was ist Ihre Meinung dazu? Ist es eine gute Wahl?

Warum Sie Q4 fragen sollten: Eine offene Frage wie diese gibt dem Kandidaten die Gelegenheit, zu zeigen, wie viel er über einen bestimmten Rahmen weiß. Sie können auch den Anwalt des Teufels spielen, basierend auf ihren Antworten "Aber warum nicht den Rahmen Y dafür verwenden? Auf diese Weise können Sie sehen, wie der Kandidat Entscheidungen in Bezug auf die Technologie trifft, seine Wahl rechtfertigt und ob seine Meinung mit der Ihres IT-Teams übereinstimmt.

3. Verhaltensfrage für einen .NET-Entwickler

Q5: Denken Sie an eine Entscheidung über ein Programmierprojekt, die Sie getroffen haben und die ein Fehlschlag war. Warum glauben Sie, dass es ein Fehler war? Warum ist es passiert? Hätten Sie irgendetwas anders machen können, um es in einen Erfolg umzuwandeln? Welche Schritte haben Sie unternommen, um die Situation zu verbessern? Was haben Sie aus dieser Erfahrung gelernt?

Warum Sie Q5 fragen sollten: Diese Art von Fragen hilft Ihnen herauszufinden, wie der Kandidat seine Entscheidungen wahrnimmt, Schlussfolgerungen zieht und wie viel er aus seinen bisherigen Erfahrungen gelernt hat.

3.3. Technische Überprüfung der Fähigkeiten von .NET-Entwicklern anhand eines Online-Codierungstests

Online-Codierungstests können ein großartiges Werkzeug sein, um die Fähigkeiten von .NET-Entwicklern zu beurteilen. In der Tat werden sie Ihnen mehr sagen, als ein Lebenslauf auf dem Bildschirm oder ein Telefoninterview jemals aussagen kann. Lesen Sie weiter, um herauszufinden, wie Programmiertests Ihren technischen Screening-Prozess rationalisieren können und was sie enthalten sollten, um Ihnen genaue Informationen zu liefern.

Sollten .NET-Online-Codierungstests die primäre oder eine zusätzliche Methode für das Screening sein?

Abhängig von der Vorgehensweise Ihres Unternehmens können Codierungstests entweder als primäre Methode zum Screening von .NET-Entwicklerfähigkeiten oder als zusätzliche Methode neben der Analyse der Lebensläufe und einem Telefoninterview verwendet werden. Immer mehr Unternehmen wenden sich Codierungstests als primäre Methode für das Screening zu, da sie IT-Rekrutierern einige entscheidende Vorteile bieten:

  • Das Wichtigste, was ein .NET-Entwickler benötigt, sind Programmierkenntnisse. Aus diesem Grund sollten sie gleich zu Beginn des IT-Rekrutierungsprozesses sorgfältig und genau überprüft werden.
  • Technische Personalvermittler sollten ihre Zeit nur damit verbringen, vielversprechende Kandidaten kennenzulernen, die den Programmierungstest bestanden haben.
  • Ihre technischen Interviewer haben nur eine begrenzte Zeit, die sie für Interviews aufwenden können, daher sollten Sie sicherstellen, dass sie nur einige wenige Kandidaten mit den richtigen .NET-Fähigkeiten interviewen.
  • Kandidaten, die den Kodierungstest absolvieren, zeigen ihre Bereitschaft, an Ihrem Rekrutierungsprozess teilzunehmen, was sich positiv auf das Engagement des Kandidaten auswirkt. Deshalb kommt es bei einem Vorstellungsgespräch vor Ort nur selten zu No-Shows.

Welche.NET-Online-Programmierungstest sollten Sie wählen?

Um die .NET-Entwicklerfähigkeiten Ihrer Kandidaten genau zu überprüfen, muss der Codierungstest, den Sie ihnen geben, ein vollständiges Bild ihrer Fähigkeiten vermitteln. Sie müssen so formuliert sein, dass sie die Programmierfähigkeiten und die Fähigkeit, reale Programmieraufgaben zu lösen, bewerten und sich nicht auf theoretisches Wissen verlassen. Viele erfahrene Programmierer lassen sich von Codierungstests abschrecken, wenn die Tests nur aus Multiple-Choice-Fragen bestehen. Die Kandidaten werden frustriert, weil sie ihre Erfahrung und .NET-Entwicklerfähigkeiten nicht in Aktion zeigen können.

Aus diesem Grund sollten Sie .NET-Codierungstests sorgfältig auswählen. Unten finden Sie meine Top 5 Funktionen, nach denen Sie suchen sollten:

  1. .NET-Programmierungstests sollten nicht nur .NET-Entwicklerfähigkeiten im Allgemeinen, sondern auch Frameworks und Bibliotheken überprüfen. Ein .NET-Entwickler, der mit diesen Ressourcen vertraut ist, bringt einen großen Wert für den Arbeitgeber und arbeitet im Allgemeinen viel effizienter.
  2. .NET-Codierungstests sollten aus Programmieraufgaben bestehen, die den Verantwortlichkeiten, die die Kandidaten haben werden, wenn sie die Stelle bekommen, ähnlich sind und den gleichen Schwierigkeitsgrad haben. Die Tests sollten nicht auf algorithmischen Aufgaben basieren, da Sie nicht überprüfen können, ob ein Kandidat eine reale Programmieraufgabe lösen kann.
  3. Es ist eine Überlegung wert, NET-Programmieraufgaben auf der Grundlage des Firmencodes vorzubereiten. Dies ist der beste Weg, um die Herausforderungen zu imitieren, die der Bewerber haben wird, wenn er die Stelle bekommt.
  4. Codierungstests können auch Programmieraufgaben mit Codeüberprüfungsaufgaben umfassen, um die Fähigkeiten von .NET-Entwicklern zu testen. Es gibt Ihnen Informationen über die Erfahrung des Kandidaten, seinen Ansatz zur Codequalität und darüber, wie effizient er das Debugging durchführt und Fallen findet. Eine solche Bewertung sollte bei der Einstellung von leitenden .NET-Entwicklern obligatorisch sein.
  5. Es hat keinen Sinn, dem Programmierer die Verwendung externer Quellen zu verbieten. Am besten ist es, ihnen eine solche Umgebung zu schaffen, wie sie sie täglich bei der Arbeit haben, daher ist eine Prüfung nach dem offenen Buch viel angemessener. Außerdem sollte der Kandidat in der Lage sein, seine bevorzugte IDE zu benutzen, um sich bei der Lösung einer Programmieraufgabe wohl zu fühlen.

4. DevSkiller einsatzbereite Online-Tests zur Bewertung der .NET-Entwickler-Codierung

Bei DevSkiller stellen wir Unternehmen eine Infrastruktur zur Verfügung, mit der sie ihre eigenen Programmiertests erstellen können. Dabei können sie ihre eigene Codebasis, ganze IT-Projekte mit Frameworks und Bibliotheken verwenden, um Programmierer online zu testen. Wir haben aber auch einige gebrauchsfertige .NET-Codierungstests, die Sie in Ihrer Rekrutierungskampagne verwenden können.

.NET
MIDDLE
Geprüfte Fähigkeiten
Dauer
70 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über .NET, C#

Programmieraufgabe - Stufe: Medium:

.NET | C# | Population Statistical Data Analyzer - Der Kandidat muss die Implementierung von 4 Methoden abschließen: zwei, die als JSON gespeicherte Daten parsen und eine korrekte Baumstruktur vorbereiten; die anderen beiden, die den Baum durchsuchen und die richtigen Informationen nach Kriterien zurückgeben.

.NET
JUNIOR
Geprüfte Fähigkeiten
Dauer
73 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über .NET, .NET-Kern, Grundlegende gemeinsame Themen, C#, Protokollierung, Parallele Programmierung, Visual Basic.NET

Programmieraufgabe - Stufe: Einfach

.NET | .NET Core, Microservices | Traffic volume report api - Schließen Sie die Implementierung eines Berichtsmikrodienstes ab, der Daten abonnieren soll, die von spezialisierten Mikrodiensten registriert werden. Die Daten müssen in der lokalen Datenbank gespeichert werden. In Zukunft werden die Daten zur Erstellung von Berichten für Kunden verwendet werden.

Schnell
SENIOR
Geprüfte Fähigkeiten
Dauer
77 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über Schnell, iOS

Programmieraufgabe - Stufe: Hart

iOS | Swift | NSA Cipher Tool - Lösen Sie die 3 kryptografischen Rätsel, um die Traumposition als Programmierer bei der NSA einzunehmen.

.NET
SENIOR
Geprüfte Fähigkeiten
Dauer
106 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Code-Lücken

Beurteilung des Wissens über ASP.NET, C#, Grundlagen der Sicherheit, .NET-Kern, Grundlegende gemeinsame Themen, Entitätsrahmen Kern, Protokollierung

Programmieraufgabe - Stufe: Hart

.NET | .NET Core | Unternehmenswebseite - Schließen Sie die Implementierung einer Webseite ab.

Die Seite kann je nach Kultur des Benutzers in Englisch oder Spanisch angezeigt werden.

Ein Benutzer sollte Kenntnisse über die lokalisierten Datenanmerkungen, die lokalisierten Ressourcen und die Aktionsfilter haben.

C#
MIDDLE
Geprüfte Fähigkeiten
Dauer
160 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über .NET, C#

Programmieraufgabe - Stufe: Medium:

.NET | MT101 Swift Message Parser und Validator - Implementieren Sie einen Parser und einen Validator für Daten, die Swift MT101 Nachrichten enthalten.

C#
JUNIOR
Geprüfte Fähigkeiten
Dauer
64 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über .NET, Grundlegende gemeinsame Themen, Visual Basic.NET

Code-Lücken

Beurteilung des Wissens über .NET, Grundlegende gemeinsame Themen, C#, Visual Basic

Programmieraufgabe - Stufe: Einfach

NET | Visual Basic | Sanktionslistendienst - Schließen Sie die Implementierung eines Dienstes ab, der Transaktionen scannt und nach Transaktionen sucht, die Wörter aus der Sanktionsliste enthalten. Diese Aufgabe verifiziert die Grundkenntnisse von VB.NET wie Schnittstellen, Klassen, Ausnahmen.

.NET
MIDDLE
Geprüfte Fähigkeiten
Dauer
156 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über .NET, Erweiterte Speicherverwaltung .NET, C#, Grundlagen des Gedächtnisses, Haufen und Stapel, Speicherzuweisung, .NET-Kern, Grundlegende gemeinsame Themen, Protokollierung

Programmieraufgabe - Stufe: Medium:

.NET | .NET Core | MT101 Swift Message Parser und Validator - Implementieren Sie einen Parser und einen Validator für Daten, die Swift MT101-Nachrichten enthalten.

.NET
SENIOR
Geprüfte Fähigkeiten
Dauer
180 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Programmieraufgabe - Stufe: Hart

NET | Tools für benutzerdefinierte Karte mit POI - Implementieren Sie die Tools für die POI-Suche (auf der Karte) und berechnen Sie eine optimale Reiseroute von den Lieblingspunkten des Benutzers. Beenden Sie außerdem die Implementierung eines selbst gehosteten WCF-Dienstes, der diese Funktionalität bieten sollte.

.NET
JUNIOR
Geprüfte Fähigkeiten
Dauer
80 Minuten max.
Auswertung
Automatisch
Test-Übersicht

Auswahlfragen

Beurteilung des Wissens über .NET, C#, EntityFramework, ASP.NET, ASP.NET MVC, MVC

Programmieraufgabe - Stufe: Einfach

.Net | ASP.Net | Buchladen-Inventar - Implementieren Sie eine Reihe von Methoden zur Verwaltung des Buchladeninventars.

Anmerkung der Redaktion: Dieser Beitrag wurde ursprünglich am 31. März 2016 veröffentlicht. Er wurde umfassend aktualisiert, um die neuesten technischen Informationen und bewährten Verfahren darzustellen.

Beitrag teilen

Es ist mehr als nur ein Newsletter

Erhalten Sie nützliche Einblicke direkt in Ihren Posteingang und erfahren Sie mehr über die Einstellung von Technikern.

Kodierfähigkeiten nahtlos verifizieren & entwickeln.

Sehen Sie DevSkiller-Produkte in Aktion.

Sicherheitszertifizierungen & Konformität. Wir sorgen dafür, dass Ihre Daten sicher und geschützt sind.