DevSkiller-LogoTalentBoost-LogoTalentScore Logo

Wie man die Fähigkeiten von Winkeldesignern überprüft

November 24, 2020
Angular-Entwickler-Kenntnisse

JavaScript-Frameworks entwickeln sich in einem rasanten Tempo, was sich in häufig aktualisierten Versionen einiger der beliebtesten Auswahlen wie Angular, React und Vue.js niederschlägt. In diesem Beitrag konzentrieren wir uns auf Angular-Entwicklerfähigkeiten, was Angular ist und wie man einen Entwickler auf Angular-Fähigkeiten prüft.

Die allererste Version von Angular wurde 2009 vorgestellt und ist das Ergebnis der innovativen Arbeit der Google-Ingenieure Misko Hevery und Adam Abrons. Angular ist ein Open-Source-Framework mit hochentwickelter JavaScript-Unterstützung und ist ein Teil der JavaScript-Ökosystem. Insgesamt wurde es von der Entwicklungsgemeinschaft sehr gelobt.

Die solide Codebasis von Angular und die Tatsache, dass es von Google entwickelt, gewartet und unterstützt wird, sind die Hauptgründe dafür, dass sich Entwickler bei der Erstellung hochgradig interaktiver Webanwendungen auf Angular verlassen. Im 2020 StackOverflow Entwickler-Umfrage, Angular wurde als die am dritthäufigsten verwendete Web-Framework-Technologie eingestuft. Seit Anfang 2019 ist die Angular-Entwicklergemeinde im Vergleich zu 2018 um 50 Prozent gewachsen, wie in NG-Konf 2019.

In Anbetracht seiner hohen Marktfähigkeit in dieser Ära des technologischen Fortschritts wird Angular zunehmend für Unternehmensanwendungen eingesetzt. Lassen Sie uns mehr über Angular erfahren.

Was ist Angular1. Was ist Angular?

Zunächst ist zu beachten, dass Angular (ohne "JS" im Namen) einen Vorgänger hatte, der AngularJS hieß. Die Namen sind fast das Gleiche, aber technisch gesehen sind es unterschiedliche Tools. Nachdem es 2009 veröffentlicht wurde, wurde es 2016 durch das "neue Angular", allgemein bekannt als Angular 2+, oder einfach Angular ersetzt. Streng genommen ist es also seit 2016 im Einsatz. Nun, da wir das aus dem Weg geräumt haben...

Angular ist eine in TypeScript integrierte Webentwicklungsplattform, die Entwicklern robuste Werkzeuge für die Erstellung der Client-Seite (Front-End) von Web-, Desktop- und mobilen Anwendungen bietet.

Im Jahr 2010 bestand der Hauptvorteil von Angular darin, dass man HTML-basierte Dokumente in dynamische Inhalte verwandeln konnte. Vor AngularJS war HTML viel weniger bequem zu ändern, was bedeutete, dass Benutzer konnte nicht aktiv mit Schnittstellen interagieren auf HTML-Seiten so einfach oder schnell wie heute.

Es gab zwar einige Möglichkeiten, dynamische, einseitige Anwendungen (SPAs) zu erstellen, aber sie waren zu komplex für eine komfortable Programmierung. Die Angular-Architektur reduzierte den Entwicklungsaufwand für die Erstellung dynamischer Inhalte und die Benutzer profitierten von Webseiten mit dynamischen Formularen und Elementen.

Das neue Angular bietet im Vergleich zu Angular JS die gleichen Vorteile wie sein Elternteil (dynamische Seiten usw.), aber mit modernen Werkzeugen, besserer Leistung; in einem größeren Maßstab. Zeitgenössische Funktionen von 2016 bis heute sind so gestaltet, dass sie viel benutzerfreundlicher sind als die von 2010.

1.1. Wofür wird Angular verwendet und welche Probleme löst es?

Die primäre Funktion von Angular ist es, komplexe Webanwendungen zu erstellen. Es kann auch für die Erstellung universeller Apps verwendet werden (d. h. eine Codebasis, die sowohl auf Web- als auch auf mobilen Plattformen eingesetzt werden kann, ähnlich wie bei React Native).

Sein ein Web-Framework bedeutet, dass Angular instinktiv hilft, den Prozess der Erstellung von Webanwendungen zu beschleunigen, indem es dem Entwickler erlaubt, viel weniger Code zu schreiben. Angular verwendet auch HTML, um die Benutzeroberfläche der Anwendung zu definieren. HTML ist, verglichen mit Javascript, eine deklarative und intuitive Sprache; und viel weniger kompliziert. Es bedeutet auch, dass ein Entwickler keine Zeit in Programmabläufe und das Lösen von Problemen wie "in welcher Reihenfolge müssen die Skripte geladen werden" investieren muss. Im Wesentlichen können Sie definieren, was Sie benötigen, und Angular wird sich darum kümmern.

Die Verwendung von TypeScript zur Erhöhung der Wartbarkeit des Codes und die Leistungsbewertung, die sich bei der Erstellung komplexerer Anwendungen verbessert, sind zwei große USPs für Angular. Darüber hinaus können die spezifischen Ökosystem-Entscheidungen dazu führen, dass Angular zum Hauptinstrument für langfristige und investitionsintensive Projekte wird, bei denen eine steile Lernkurve durch Stabilität und laufenden technischen Support kompensiert wird.

1.2. Ist es ähnlich wie bei anderen Sprachen oder Frameworks?

Auf der Benutzeroberfläche ist es ähnlich wie das, was früher als "Präsentationsschicht" in Templating-Sprachen wie JSP (Java Server Pages), JSF (Java Server Faces) oder ASP (ASP.net). Auf der Logikschicht ist es ähnlich wie bei Enterprise-Technologien wie Java/.net.

React ist ein weiteres Web-Framework, das Angular oft verglichen mit. Ähnlich wie Angular wird React bei der Entwicklung von Single-Page- sowie mobilen Anwendungen eingesetzt. Der Unterschied besteht jedoch darin, dass React viel kleiner ist und bei der Entwicklung komplexer React-Anwendungen in der Regel zusätzliche Bibliotheken benötigt werden.

Vue ist ein weiteres Framework, das oft mit den beiden vorgenannten verglichen wird. Vue arbeitet in der View-Schicht einer Anwendung, besitzt aber eine virtuelle DOM-Funktion und unterstützt zusätzliche Bibliotheken, ähnlich wie React. Vue hat auch einen ähnlichen Template-Stil wie Angular, ist aber von der Performance her viel leichtgewichtiger; das heißt, es eignet sich besser für die Erstellung von Benutzeroberflächen und die Lösung komplexer Probleme. Dies steht im Gegensatz zu Angulars Vorliebe für die Entwicklung von Anwendungen im Enterprise-Bereich.

1.3. Was sind seine wichtigsten Vorteile oder Merkmale?

Angular wird mit einer Vielzahl von Werkzeugen ausgeliefert, die für die gängigsten Programmieraufgaben verwendet werden. Dazu gehören: die Strukturierung der Benutzeroberfläche mit Komponenten, die Kommunikation mit der Backend-Struktur über HTTP, die Handhabung von Formularen (Angular unterstützt zwei Ansätze: Template-gesteuerte Formulare und reaktive Formulare) und die Handhabung der Anwendungslogik in Diensten. Und, natürlich, automatisierte Unit- und e2e-Tests.

Das Besondere an Angular ist, dass sein Design auf groß angelegte Anwendungen ausgerichtet ist. Angular verfügt über ein fortschrittliches Modularitätssystem, kombiniert mit Dependency Injection, was es für komplexe Anwendungen hochgradig konfigurierbar macht, um die Modularität zu erhalten (aber die Schwierigkeit deutlich erhöht).

Was sollte ein Recruiter über Angular wissen2. Was ist für einen IT-Recruiter wichtig, um über Angular zu wissen?

Angular verwendet viele Konzepte, die aus Technologien wie Java/.net entlehnt sind. Für erfahrene Back-End-Entwickler wird Angular also vertraut erscheinen und keine allzu große Herausforderung darstellen.

Es gibt jedoch einige Konzepte, die eine Schulung für Front-End-Entwickler erfordern, die keine großen Back-End-Kenntnisse haben. Beispiele für diese Konzepte sind Dependency Injection, serviceorientierte Architektur, statische Typisierung, allgemeine OOP-Prinzipien (Object-Oriented Programming) und so weiter.

Dennoch ist Angular ein Framework mit vielen eingebauten Features. Und das Erlernen dieser Features kann viel Zeit und Mühe in Anspruch nehmen. Das bedeutet, dass selbst erfahrene Angular-Entwickler nicht alles über das Framework von hinten bis vorne kennen werden, man beachte das Wortspiel.

2.1. Wie oft ändert sich der Tech-Stack?

Offiziell soll das Angular-Team alle sechs Monate eine neue Hauptversion veröffentlichen.

Eine neue Hauptversion bedeutet, dass sie Folgendes enthalten kann bahnbrechende Veränderungenso dass der Code, der mit den vorherigen Versionen funktionierte, nicht mehr funktionieren könnte. Da es in den neuen Hauptversionen möglicherweise brechende Änderungen gibt, kommen diese umfassenden Änderungen nicht sehr oft vor.

Ein Hauptgrund könnte die Unannehmlichkeit für Entwickler sein, die viel Aufwand nur für die Aktualisierung des Frameworks betreiben würden. Anstatt also ein Revolution jedes Halbjahr, wir sehen eher evolutionär Wachstum.

Ein Auszug aus dem Angular Website Staaten:

Im Allgemeinen können Sie den folgenden Release-Zyklus erwarten:

  • Ein Major Release alle 6 Monate
  • 1-3 Nebenversionen für jede Hauptversion
  • Fast jede Woche ein Patch-Release und ein Pre-Release (next oder rc) Build

2.2. Sind viele Ressourcen/Werkzeuge/Technologien verfügbar?

Als eines der populärsten Web-Frameworks gibt es für Angular eine Vielzahl von Open-Source-Bibliotheken. Unnötig zu sagen, dass es eine Fülle von Ressourcen wie Bücher, Tutorials, Konferenzen und Blogs gibt, die leicht zugänglich sind.

Es gibt viele populäre Komponentenbibliotheken, wie z. B. Angular Material (Google Material Design-Implementierung für Angular) oder ng-bootstrap (Twitter Bootstrap-Implementierung für Angular). Darüber hinaus gibt es mehrere populäre Bibliotheken für die Zustandsverwaltung, darunter NGRX, NGXS, Akita, ganz zu schweigen von verschiedenen Techniken innerhalb der reinen RxJS-Bibliothek. Im Grunde genommen gibt es keinen Mangel an kostenlosen und kostenpflichtigen Inhalten, die online für Angular verfügbar sind.

2.3. Mit welchen Tools und Techniken sollte ein Angular-Entwickler vertraut sein?

Von Angular-Entwicklern sollte erwartet werden, dass sie mit dem Framework selbst so gut wie möglich vertraut sind.

Für Entwickler ist es sehr wichtig, Kenntnisse über Architektur und Design Patterns zu haben, da mit Angular in der Regel große Projekte erstellt werden.

Entwurfsmuster helfen dabei, die große Codebasis und Komplexität in Ordnung zu halten und erleichtern das Hinzufügen neuer Funktionalitäten. Ohne Design Patterns ist der Code viel chaotischer und schwieriger zu pflegen. Ihre Funktionalität ist nicht spezifisch für Angular, sondern ein allgemeines Thema der Informatik - aber ihre Existenz ist für Angular besonders wichtig.

Sie sollten auch mit den grundlegenden Abhängigkeiten von Angular vertraut sein:

  • TypeScript - ist die primäre Sprache für die Entwicklung von Angular-Anwendungen. Es handelt sich um eine Obermenge von JavaScript mit Design-Time-Unterstützung für Typsicherheit und Tooling. Browser können TypeScript nicht direkt ausführen, da Typescript mithilfe des tsc-Compilers, der eine Konfiguration erfordert, in JavaScript "transpiliert" werden muss.
  • JavaScript (die Browser-Programmiersprache selbst) - da dies die Umgebung ist, in der Angular-Apps ausgeführt werden, insbesondere Asynchronous JavaScript.
  • RxJS - eine Programmierbibliothek für reaktive Streams, die in Angular allgegenwärtig sind

2.4. Welche Art von Erfahrung ist wichtig, um nach einem Angular-Entwickler zu suchen (kommerziell, Open-Source, wissenschaftlich, akademisch)?

Wissenschaftliche und akademische Erfahrung ist fast irrelevant. Kommerzielle Erfahrung mit der Erstellung von Webanwendungen deutet in der Regel auf kompetente Angular-Entwicklerfähigkeiten hin und ist daher der wichtigste Faktor.

Erfahrung im Umgang mit Open-Source JavaScript/TypeScript/Angular-Bibliotheken ist ebenfalls erforderlich.

Überprüfen der Angular-Kenntnisse3. Wie verifiziert man die Fähigkeiten von Angular-Entwicklern in der Screening-Phase?

Eine wichtige Sache, die Sie beachten sollten, ist, dass Sie von einem Entwickler nie erwarten sollten, dass er in allen Bereichen der Programmierung stark ist. Es ist zweifelhaft, dass zum Beispiel jemand, der sich sehr gut mit CSS, HTML und Styling auskennt, auch ein Experte für Architektur und Design Patterns ist. Versuchen Sie also, die Fähigkeiten eines Angular-Entwicklers zu finden, die Sie für Ihr Projekt benötigen, und konzentrieren Sie sich auf diese.

3.1. Was ist beim Screening eines Lebenslaufs zu beachten?

Es ist klar, dass Erfahrung mit Angular und anderen Web-Frameworks ein Muss für jeden Lebenslauf in dieser Rolle ist. Andere Dinge, die im Zusammenhang mit Angular-Entwickler-Fähigkeiten zu beachten sind, sind jedoch:

  • Beherrschung von JavaScript
  • Browser (Laufzeitumgebung) und DOM (Document-Object Model) Erfahrung
  • Gute HTTP-Kenntnisse, da fast alle Anwendungen externe Daten laden müssen, die von der Client-App (Angular) verarbeitet, angezeigt und an die Benutzer weitergegeben werden müssen usw.
  • Die Fähigkeit, mit CSS zu arbeiten, da Anwendungen schließlich ein schönes Layout haben müssen
  • Architektur- und Design-Pattern-Erfahrung, um komplexe Geschäftsanforderungen mit wartbarem Code bewältigen zu können

Für einen Angular-Entwickler ist es entscheidend, dass er viel Erfahrung mit Browsern, DOM, HTTP und CSS hat. Denn: Was in der Laufzeitumgebung nicht möglich ist, ist es auch nicht in Angular. Intrinsisch kann ein Framework nicht über seine Laufzeitumgebung hinausgehen.

Architektur und Design Patterns sind ebenso wichtig, denn wie bereits erwähnt, sind Angular-Apps ziemlich groß und komplex. Große Apps mit schlechtem Design führen zu hohen Kosten für die Wartung der Anwendung und das Hinzufügen von Funktionen, und das ist sicherlich nicht ideal.

Angular-Glossar3.2. Welche Glossarbegriffe sind in Angular wichtig zu wissen (einschließlich Frameworks, Bibliotheken und Sprachversionen)?

Aspekte innerhalb von Angular

Architektur
  • Module
  • Abhängigkeits-Injektion
  • Komponenten
  • Leistungstechniken
Staatliches Management
  • HTTP-Dienste
  • Zustandsabhängige Dienste
  • NGRX oder NGXS oder Akita usw.
Formulare
  • Vorlagengesteuerte Formulare
  • Reaktive Formulare
Schablonen
  • Komponenten
  • Rohre
  • Bibliotheken von Drittanbietern mit eingebauten Komponenten, wie Angular Material, ng-bootstrap, etc.

Aspekte im Zusammenhang mit Angular

  • TypScript - die Sprache, in der Angular-Apps geschrieben werden. Während JavaScript die Mutter der Webprogrammierung ist und in den meisten Websites verwendet wird, ist TypeScript eine moderne und objektorientierte Programmiersprache, die eine bessere Struktur zur Verwaltung großer Webprojekte bietet. TypeScript wird von mehreren großen Open-Source-Projekten und -Bibliotheken übernommen, darunter auch Angular. Die Hauptunterschiede zwischen JavaScript und TypeScript sind:
    • TypeScript verfügt über eine Funktion, die stark typisiert ist oder statische Typisierung unterstützt. Das bedeutet, dass statische Typisierung die Überprüfung der Typkorrektheit zur Kompilierzeit ermöglicht. Dies ist in JavaScript nicht verfügbar.
    • TypeScript weist auf die Kompilierungsfehler zur Kompilierungszeit (die während der Entwicklung stattfindet) hin. Da JavaScript eine interpretative Sprache ist, gibt es keine Kompilierungsfehler. Alle Fehler werden zur Laufzeit geworfen, sodass potenziell mehr Fehler in die App gelangen und Probleme für den Endbenutzer verursachen können.
    • RxJS - reaktive Streams werden zur Unterstützung von HTTP-Anfragen, WebSocket-Anfragen, Reactive Forms, Routing, Application State und mehr verwendet.
    • Webpack - auch genannt ein BündlerEs ist ein Werkzeug, das viele lose Dateien (Dutzende, Hunderte oder sogar Tausende) zusammenfasst und in eine logische Datei zusammenführt, die dann ausgeführt wird. Es bringt mehrere Vorteile mit sich, wobei der wichtigste eine bessere Leistung und verbesserte Entwicklerwerkzeuge sind.

3.3. Welche Versionen sind völlig unterschiedlich? Welche Versionen sind einander ähnlich?

Wie bereits erwähnt, kann jede neue Hauptversion von Angular als eine evolutionär ändern. Das 2016er Update von AngularJS auf das aktuelle Angular war eher ein Revolution mit den grundlegenden Änderungen, die vorgenommen wurden.

Eine der wichtigsten Änderungen war in Angular 9 die Einführung des neuen Compilers namens Ivy.

Jede Version erhält eine neue Hauptnummer. Bis jetzt hatten wir:

  • Eckig 2
    (Es gab kein Angular 3, da die internen Angular-Pakete nicht miteinander synchronisiert waren und dann vereinheitlicht wurden. Seitdem sind die Pakete abwärtskompatibel.)
  • Eckig 4
  • Angular 5
  • Eckig 6
  • Angular 7
  • Angular 8
  • Eckig 9
  • Eckig 10

Freigaben können im Changelog eingesehen werden: https://github.com/angular/angular/blob/master/CHANGELOG.md

3.4. Welche anderen Zeilen in einem Lebenslauf können Angular-Entwickler-Fähigkeiten zeigen?

Erfahrung mit anderen JS-Frameworks (oder mobilen Apps) wäre sehr vorteilhaft. Dazu gehören:

  • AngularJS, Ember, React, Vue, und viele andere

Ein Entwickler, der mit Vue oder AngularJS vertraut ist, müsste zweifellos ein wenig Zeit damit verbringen, Angular zu lernen. Allerdings sollte der Entwickler bereits verstehen, was die typischen Aufgaben sind, welche potenziellen Probleme gelöst werden müssen und wo die Grenzen von Web-Apps liegen. Diese müssten nur in einem anderen Toolset angegangen werden (aber die Themen/Probleme/Aufgaben sind logischerweise fast die gleichen).

Erfahrung mit automatisierten Unit-Tests (Tools wie Karma, Jasmine, Jest, Mocha, Ava, etc.) und/oder e2e-Tests (Selenium, Protractor, Puppeteer) wäre ebenfalls von Vorteil, wenn die Rolle des Entwicklers das Schreiben oder Warten von Tests beinhaltet.

Angular Interview Fragen4. Technisches Screening der Angular-Entwicklerfähigkeiten während eines technischen Interviews per Telefon/Video

Ob Sie nun IT-Recruiter, Projektmanager oder CTO sind, Sie wissen, dass der Erfolg Ihres Projekts von Ihrer Fähigkeit abhängt, Top-Entwickler zu finden.

Im Folgenden finden Sie einige Beispiel-Interview-Fragen, auf die Sie sich beziehen können, wenn Sie einen neuen Angular-Entwickler für die Erstellung Ihrer Webanwendungen suchen.

4.1. Fragen, die Sie über einen Angular-Entwickler stellen sollten erleben. Warum sollten Sie jede dieser Fragen stellen?

  • Wie sahen Ihre täglichen Aufgaben in früheren Projekten aus?
    • Die Antwort auf diese Frage sollte Ihnen verraten, ob sich der Kandidat mehr für den UI-Teil (HTML, CSS, visuelle Effekte, Schriftarten usw.) oder für die Logik hinter der Anwendung (Zustandsverwaltung, Dienste, Module) interessiert. Im Allgemeinen ist es besser, Entwickler verschiedener Spezialisierungen zusammen in einem Team zu haben, als nur CSS-Experten und keine Experten für Architekturdesign.
  • Haben Sie in früheren Projekten eine Komponentenbibliothek (Satz von Komponenten, die von mehreren Apps oder mehreren Projekten wiederverwendet werden) gepflegt oder erstellt?
    • Diese Frage fragt nach einem fortgeschrittenen Anwendungsfall hinter Angular-Komponenten. Wenn ein Kandidat an einem solchen Projekt gearbeitet hat, ist die Wahrscheinlichkeit groß, dass er mehr technische Nuancen erkennt (was ein Plus ist) als Entwickler, die das nicht getan haben. Komponentenbibliotheken sind schwierig zu erstellen, weil sie mehrere Funktionalitäten für verschiedene Komponenten unterstützen müssen.
  • Haben Sie externe Bibliotheken von Drittanbietern für Stile verwendet?
    • Viele Projekte und Unternehmen entscheiden sich, keine eigene Designsprache (das Erscheinungsbild einer Marke oder eines Unternehmens) zu erstellen. Stattdessen entscheiden sie sich für die Implementierung einer bestehenden Sprache wie Angular Material und ng-bootstrap. Diese Tools bieten viele nützliche Funktionalitäten, aber sie zu erlernen, braucht Zeit. Wenn Sie wissen, dass Ihr Team eine Bibliothek eines Drittanbieters für Styles verwendet, fragen Sie den Kandidaten unbedingt danach. Dies könnte die Entscheidung, ob Sie jemanden einstellen, erheblich beeinflussen.
  • Haben Sie die Anwendungen, die Sie geschrieben haben, automatisch getestet?
    • Wenn Ihr Team automatische Tests wie Unit-, Funktions- und e2e-Tests unterhält, wäre ein Kandidat mit Erfahrung im Testen viel attraktiver als einer, der das nicht tut. Hüten Sie sich vor Kandidaten, die "noch nie ihre Software automatisch getestet haben", oder nicht glauben, dass es sinnvoll ist oder sich auszahlt.
  • Haben Sie Echtzeitanwendungen erstellt?
    • Die meisten Anwendungen laden Daten vom Server und zeigen sie dem Benutzer an, wie z. B. Ihren Kontostand. Der Wert ändert sich nicht sehr oft, daher besteht keine Notwendigkeit, ihn jede Sekunde neu zu laden. Aber einige Anwendungen (z. B. Taxiunternehmen oder Finanzinstitute) müssen ihre Daten jede Sekunde oder sogar noch häufiger aktualisieren. Wenn Ihre Anwendung ein Echtzeit App, dann müssen Ihre Angular-Komponenten die Daten viel öfter zurücksetzen oder WebSockets über HTTP verwenden.

4.2. Fragen, die Sie über einen Angular-Entwickler stellen sollten Wissen und Meinungen. Warum sollten Sie jede dieser Fragen stellen?

  • Erklären Sie, wie eine async Pipe in Angular funktioniert.
    • Diese Frage prüft, ob ein Entwickler eines der grundlegenden Werkzeuge versteht, die in Angular-Apps häufig verwendet werden. Siehe die detaillierte Erklärung unten.
  • Nehmen wir an, wir haben eine Komponente, die eine HTTP-Anfrage in einem Stream speichert, und dieser Stream ist über drei verschiedene asynchrone Pipes an das Template gebunden. Wie viele physische HTTP-Anfragen stellt diese Komponente?
    • Diese Frage ist super wichtig, denn wenn man nicht weiß, wie async Pipes funktionieren, führt das oft dazu, dass man Apps erstellt, die zu viele Anfragen stellen und dadurch sowohl die Front-End- als auch die Back-End-Schicht verlangsamen.
      Die schnelle Antwort ist: wenn es keine Themen und keine Anteilseigner, dann stellt die Komponente drei Anforderungen (was nicht richtig ist). Wenn es eine Subjekt/Aktienoperator Bei richtiger Anwendung sollte es nur eine Anforderung geben, die alle asynchronen Leitungen versorgt.
  • Welche Regeln und Prinzipien befolgen Sie beim Schreiben von Unit-Tests?
    • Diese Frage prüft das Wissen und die Erfahrung beim Testen in Angular und im Allgemeinen. Beim Bau großer Apps in Angular ist es besonders wichtig, der Qualität Ihrer App zu vertrauen - und das ist ohne automatische Tests fast unmöglich (da manuelles Testen extrem teuer ist).
      Allgemeine Grundsätze für die Prüfung sind:
      - Tests sollten unabhängig voneinander laufen und sich nicht auf ihre Reihenfolge verlassen
      - Das Überspringen eines einzelnen Tests sollte nicht dazu führen, dass ein anderer Test fehlschlägt, und umgekehrt
      - Tests sollten nur ein einziges Verhalten/Attribut überprüfen.
      - Eine bestimmte Funktionalität sollte einmal getestet werden. Denn wenn die Funktionalität kaputt ist, ist es nicht logisch, weiter zu testen
      - Unit-Tests sollten ihre Abhängigkeiten nachbilden, z. B. HTTP-Aufrufe. Denn wenn ein Test das Verhalten der beiden Komponenten prüft und fehlschlägt, weil der Server mit einer ungültigen HTTP-Antwort antwortet, kann das nicht an der Komponente liegen. Das Überprüfen von allem (einschließlich Abhängigkeiten) sollte in sogenannten e2e-Tests erfolgen

4.3. Verhaltensweisen Fragen, die Sie einem Angular-Entwickler stellen sollten. Warum sollten Sie jede dieser Fragen stellen?

  • Sie arbeiten seit einiger Zeit an einem Projekt und bemerken, dass es ein andauerndes Problem gibt - immer wenn sich eine Komponente ändert, schlagen viele Tests fehl und sie müssen aktualisiert werden. Was würden Sie darüber denken und was würden Sie tun?
    • Diese Frage prüft sowohl die Einstellung eines Entwicklers, seine Teamwork-Fähigkeiten als auch seine technische Erfahrung mit Angular-Apps. Eine bestehende Codebasis zu kritisieren ist nicht konstruktiv und sofort ein Deal-Breaker. Der bevorzugte Ansatz wäre, die Gründe gemeinsam zu analysieren, sich als Team darauf zu einigen und einen messbaren Plan zu erstellen, wie die Situation im Laufe der Zeit verbessert werden könnte.
      Der Vorschlag, Aktivitäten aufzugeben, um Tests und Implementierung zu überarbeiten, macht aus geschäftlicher Sicht wenig Sinn, da Teams in der Realität nicht einfach aufhören können, neue Funktionen zu liefern.
  • Letzte Woche wurde eine neue Angular-Version veröffentlicht. Würden Sie beabsichtigen, die Anwendung zu aktualisieren, wenn ja - wann?
    • Im Allgemeinen geht es bei der Frage darum, die Balance zwischen der hohen technischen Qualität des Projekts und den Geschäftszielen zu halten. Wenn der Entwickler sagt, dass er eine schnelle Prüfung durchführen würde, um zu sehen, ob diese Aufgabe einfach zu bewerkstelligen wäre (das Upgrade stellt sich als einfach zu navigieren heraus, aber zuerst ist eine Prüfung notwendig) - dann wäre das eine großartige Antwort.
  • Sie sind dabei, eine Angular-Anwendung zu erstellen, aber Sie wissen nicht, ob sie groß oder klein werden wird. Das Unternehmen kann nicht sagen, ob die App wachsen wird. Welches Tool würden Sie für die Zustandsverwaltung verwenden?
    • Diese Frage prüft die Denkweise eines Entwicklers - ob er eher unnötige zusätzliche Tools einführt (was die Komplexität und die Kosten für die Bereitstellung von Funktionen erhöht) oder die Dinge einfach hält. Eine gute Antwort ist, die Daten in Angular-Diensten zu halten, wenn die Anwendung klein ist. Wenn die Anwendung größer und komplexer wird, kann man über zusätzliche State-Management-Bibliotheken (NGRX, NGXS, Akita, etc.) nachdenken. Der Kontext für diese Frage ist, dass Entwickler dazu neigen, Bibliotheken zu verwenden, wenn sie nicht notwendig sind, nur weil sie sie kennenlernen wollen, um es in ihren Lebenslauf schreiben zu können. Dies ist ein beliebtes Thema in der Front-End-Entwicklungsgemeinschaft.

Angular-Codierungstests5. Technisches Screening der Fähigkeiten eines Angular-Entwicklers mithilfe eines Online-Codierungstests

Einen qualitativ hochwertigen Entwickler zu finden, der das Potenzial hat, nach Ihrem Konzept zu arbeiten, ist eine harte Nuss zu knacken. Es ist ein zeitaufwändiges, kostspieliges und mühsames Unterfangen. Und mit den wie Pilze aus dem Boden schießenden Online-Communities, die mit Tausenden von Remote-Entwicklern gefüllt sind, kann die richtige Entscheidung ein wenig überwältigend sein. Zum Glück gibt es einige Schritte, Prüfungen und Verfahren, die Ihnen helfen können, die richtige Entscheidung zu treffen.

5.1. Welchen Online-Test für Angular-Entwickler-Fähigkeiten sollten Sie wählen?

Bei der Suche nach dem richtigen Angular Entwickler Fähigkeiten Test sollten Sie sicherstellen, dass sie den folgenden Kriterien entspricht:

  • Der Test spiegelt die Qualität der ausgeführten professionellen Arbeit wider
  • Die Dauer ist nicht zu lang, maximal ein bis zwei Stunden.
  • Der Test kann automatisch verschickt werden und ist unkompliziert
  • Der Schwierigkeitsgrad entspricht den Fähigkeiten des Kandidaten
  • Der Test geht über die Überprüfung hinaus, ob die Lösung funktioniert - er prüft die Qualität des Codes und wie gut er in Randfällen funktioniert
  • Es ist so nah wie möglich an der natürlichen Programmumgebung und ermöglicht dem Kandidaten den Zugang zu relevanten Ressourcen
  • Es bietet dem Kandidaten die Möglichkeit, alle Bibliotheken, Rahmenwerke und andere Hilfsmittel zu nutzen, die ihm regelmäßig begegnen.

5.2. DevSkiller einsatzbereite Online-Tests für Angular-Entwickler-Fähigkeiten

Devskiller-Codierungstests verwenden unsere RealLifeTesting™ Methodik, um die tatsächliche Codierungsumgebung, in der Ihr Kandidat arbeitet, widerzuspiegeln. Anstatt obskure Algorithmen zu verwenden, müssen die Kandidaten bei den DevSkiller-Tests Anwendungen oder Funktionen erstellen. Sie werden völlig automatisch benotet und können überall auf der Welt absolviert werden. Gleichzeitig hat der Kandidat Zugriff auf alle Ressourcen, die er normalerweise verwenden würde, einschließlich Bibliotheken, Frameworks, StackOverflow und sogar Google.

Unternehmen nutzen DevSkiller, um Kandidaten mit ihrer eigenen Codebase von überall auf der Welt zu testen. Um es einfach zu machen, bietet DevSkiller auch eine Reihe von vorgefertigten Angular-Tests wie die hier:

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

Auswahlfragen

Beurteilung des Wissens über Winkel2+, JavaScript, rxjs

Programmieraufgabe - Stufe: Einfach

JavaScript | Angular 2+ | Virtueller Geschäftskarteninhaber - Verbinden von Komponenten des virtuellen Karteninhabers über einen Dienst, RxJS und Angulars @Eingang.

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

Auswahlfragen

Beurteilung des Wissens über Winkel2+, JavaScript

Code-Lücken

Beurteilung des Wissens über Winkel2+, JavaScript

Programmieraufgabe - Stufe: Einfach

JavaScript | Angular 2+ | Currency Calculator - Beenden Sie eine Anwendung, die den Geldbetrag in der gewählten Währung in USD umrechnen soll.

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

Auswahlfragen

Beurteilung des Wissens über API für schräge Formen, Winkelige reaktive Formen, Winkel2+, Winkelschablonen, Winkel-Sicherheit

Programmieraufgabe - Stufe: Medium:

JavaScript | Angular 2+ | Anmeldeformular - Verbinden Sie HTML/CSS mit Angular und fügen Sie eine ordnungsgemäße Validierung hinzu.

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

Auswahlfragen

Beurteilung des Wissens über Winkel2+, Typoskript, JavaScript, Werkzeuge, Web-Entwicklung

Programmieraufgabe - Stufe: Medium:

JavaScript | Angular 2+ | Anmeldeformular - Verbinden Sie HTML/CSS mit Angular und fügen Sie eine ordnungsgemäße Validierung hinzu.

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

Auswahlfragen

Beurteilung des Wissens über Winkel2+, JavaScript, Typoskript

Programmieraufgabe - Stufe: Einfach

JavaScript | Angular2+ | Router-Konfiguration - Erstellen Sie die Routing-Konfiguration basierend auf der vorhandenen Anwendung und den in der Beschreibung angegebenen Anforderungen.

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

Auswahlfragen

Beurteilung des Wissens über ES6, JavaScript, Winkel2+, Typoskript, AJAX, Web-Entwicklung

Programmieraufgabe - Stufe: Hart

Angular 2+ | Anmeldungsfluss | Komponenten und Routing - Vervollständigen Sie den Registrierungsfluss für Benutzer, indem Sie das Routing einrichten, das Anmeldeformular in die Datendienste integrieren und eine ordnungsgemäße Eingabevalidierung hinzufügen.

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

Auswahlfragen

Beurteilung des Wissens über ExpressJS

Programmieraufgabe - Stufe: Medium:

Winkel 2+ Notizblock-App

Programmieraufgabe - Stufe: Medium:

Node.JS - Mongo - Kursbericht

Code-Lücken

Beurteilung des Wissens über MongoDB

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

Auswahlfragen

Beurteilung des Wissens über AJAX, JavaScript, Web, Web-Entwicklung, ES6

Programmieraufgabe - Stufe: Hart

JavaScript | Angular 2+ | Anmeldeseite | Komponenten und Routing - Vervollständigen Sie den Registrierungsfluss für Benutzer, indem Sie das Routing einrichten, das Anmeldeformular in Datendienste integrieren und eine ordnungsgemäße Eingabevalidierung hinzufügen.

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

Auswahlfragen

Beurteilung des Wissens über AJAX, JavaScript, Web-Entwicklung, Werkzeuge, Winkel2+, rxjs, Typoskript

Programmieraufgabe - Stufe: Hart

JavaScript | Winkel 2+ | Warenkorb - Beheben Sie einige Probleme mit der Datensynchronisation in der Anwendung und fügen Sie einige Anpassungsfunktionen hinzu.

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

Aufgabe der Programmierung

Verwenden Sie Ihre Winkel 2+ Fähigkeiten zur Reparatur eines Notizblocks Anwendung

Fragen zur Auswahl

Überprüfen Sie Ihre Winkel 2+ Expertise durch Beantwortung einer Vielzahl von essential Fragen über Winkel 2+

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.