Web Entwickler

Woher wissen Sie, dass ein Kandidat die richtige Wahl ist? Suche nach erfahrene Kandidaten in Deutschland und online.
Die Technologie hat den Weg für den Erfolg von Unternehmen in der modernen Welt geebnet. Alles, was wir in der digitalen Perspektive sehen, von Websites und Webanwendungen mit vollem Funktionsumfang bis hin zu Mobiltelefonanwendungen und Widgets, die wir täglich verwenden, verwenden alle eine gemeinsame Sprache, die nur Fachleute und leidenschaftliche Menschen verstehen – das ist Javascript. Heutzutage kann es schwierig sein, einen versierten Javascript-Entwickler einzustellen. In der Tat gibt es viele Entwickler mit beträchtlicher Erfahrung. Was sie jedoch anbieten können, reicht möglicherweise nicht aus, um Ihre Anforderungen und Erwartungen zu erfüllen. Es bedarf einer einzigartigen Kombination von Fähigkeiten, Wissen, Leidenschaft und Einstellung, um sich von der Masse der Kandidaten abzuheben. Für den Entwickler ist es sehr wichtig, sich weiterzubilden. Er sollte regelmäßig technische Nachrichten lesen, hauptsächlich über Technologien, die er verwendet. Es ist eine gute Idee, sich technische Podcasts anzuhören oder Videos anzusehen.

Einige Beispielwebsites zu JavaScript-Nachrichten:


Die technischen Fragen, die Sie im Interviewprozess stellen, sind genauso wichtig wie die Tests und Übungen, die den potenziellen Kandidaten gegeben werden. Diese Fragen bestimmen, ob ein Kandidat die Eigenschaften hat, die Sie suchen oder nicht. Hier sind Beispiele für Fragen, mit denen selbst die besten und erfahrensten Javascript-Entwickler möglicherweise zu kämpfen haben.

Sie sind dabei, ein Backend-Node.JS-Modul zu schreiben, das Finanzinformationen und Finanzdaten vorverarbeitet. Was sind die potenziellen Fallstricke, die Sie vorhersehen? Wir sprechen nur über JS und Programmierung, nicht ausschließlich über Sicherheit.​

Die größte potenzielle Gefahr besteht darin, Geldwerte als Float-Präzisionszahlen zu behandeln. Es ist eine schlechte Idee, weil Sie mit einer binären Darstellung eines Basis-10-Systems ungenaue Ergebnisse erzielen, wenn Sie versuchen, Mathematik zu üben. Wenn Sie mehr Werte berechnen, führen die nicht wahrnehmbaren Präzisionsfehler zu größeren Lücken. Dies führt zwangsläufig zu Rundungsproblemen. Eine der Lösungen besteht darin, Geldwerte als Untereinheiten zu speichern. Dies bedeutet, dass Sie Haupteinheiten in Untereinheiten umrechnen müssen (z. B. 1 Dollar in 100 Cent umrechnen – und das ist die Lösung, die Uber oder Stripe intern in ihren Systemen verwendet).

Was ist ein typischer Anwendungsfall für anonyme Funktionen?​

Anonyme Funktionen werden auch als Pfeilfunktionen bezeichnet. Es ist eine Funktion ohne Namen. Die typischste Verwendung besteht darin, sie als Argument an eine andere Funktion zu übergeben oder das Ergebnis einer Funktion höherer Ordnung zu konstruieren, die eine Funktion zurückgeben muss. Wenn es nur eine begrenzte Anzahl von Malen verwendet wird, ist eine anonyme Funktion möglicherweise syntaktisch leichter als die Verwendung eines Namens.

Was ist ein Generator in JS?​

Generatorfunktionen ermöglichen das Definieren eines iterativen Algorithmus durch Schreiben einer einzelnen Funktion, deren Ausführung nicht kontinuierlich ist. Sie werden mit der Funktion * -Syntax geschrieben. Wenn der Generator aufgerufen wird, führt er seinen Code nicht aus, sondern gibt einen speziellen Iteratortyp zurück, der als Generator bezeichnet wird. Wenn ein Wert durch Aufrufen der nächsten Methode des Generators verbraucht wird, wird die Generatorfunktion ausgeführt, bis das Schlüsselwort yield gefunden wird. Die Funktion kann beliebig oft aufgerufen werden und gibt jedes Mal einen neuen Generator zurück. Jeder Generator darf nur einmal iteriert werden.

Erklären Sie das Sprudeln von Ereignissen und wie man es verhindern kann.​

Beim Ereignis-Bubbling wird ein Ereignis vom innersten verschachtelten HTML-Element durchlaufen und die DOM-Hierarchie nach oben verschoben, bis es das Element erreicht, das auf das Ereignis wartet. Es beginnt vom tiefsten Element zu seinen Eltern, dann zu all seinen Vorfahren, die auf dem Weg von unten nach oben sind. Wir können Ereignis-Listener zu Elementen auf Stammebene wie HTML oder Body hinzufügen. Die Ereignisse werden bis dahin sprudeln.

Beschreibe die negative Unendlichkeit.​

Die negative Unendlichkeit ist ein konstanter Wert, der verwendet wird, um einen Wert darzustellen, der der niedrigste verfügbare Wert ist. Dies bedeutet, dass keine andere Zahl kleiner als dieser Wert ist. Es kann mit einer selbst erstellten Funktion oder durch eine arithmetische Operation erzeugt werden. JS zeigt eine negative Unendlichkeit als Wert als -Infinity.

Was ist ein Versprechen? Was sind die möglichen Zustände des Versprechens?​

Es ist ein Objekt, das synchron von einer asynchronen Funktion zurückgegeben werden kann. Sie sind einfach zu verwalten, wenn mehrere asynchrone Vorgänge ausgeführt werden, bei denen Rückrufe zu einer Rückrufhölle führen können, die zu nicht verwaltbarem Code führt. Vor Versprechungen wurden Ereignisse und Rückruffunktionen verwendet, die jedoch nur eingeschränkte Funktionen hatten und nicht verwaltbaren Code erstellten. Mehrere Rückruffunktionen würden eine Rückrufhölle erzeugen, die zu nicht verwaltbarem Code führt. Ereignisse waren nicht gut darin, asynchrone Operationen zu handhaben. Versprechen sind die ideale Wahl, um asynchrone Operationen auf einfachste Weise abzuwickeln. Sie können problemlos mehrere asynchrone Vorgänge verarbeiten und bieten eine bessere Fehlerbehandlung als Rückrufe und Ereignisse. Ein Versprechen kann in einem von drei möglichen Zuständen vorliegen: ausstehend, erfüllt oder ausstehend. Benutzer können Rückrufe anhängen, um den erfüllten Wert oder den Grund für die Ablehnung zu behandeln.

Vorteile der Verwendung von Versprechungen:

  • Verbessert die Lesbarkeit des Codes
  • Bessere Handhabung von asynchronen Operationen
  • Besserer Fluss der Steuerungsdefinition in asynchroner Logik
  • Bessere Fehlerbehandlung

Unterschied zwischen undefiniert, NaN und null​

  • Undefiniert – Der Standardwert, der beim Zugriff auf nicht vorhandene Objekte verwendet wird. Dies bedeutet, dass das Objekt keinen Wert hat. Dies tritt auf, wenn Sie eine Variable erstellen und ihr keinen Wert zuweisen.
  • Null – Das Objekt ist leer und zeigt nicht auf eine Speicheradresse.
  • NaN – repräsentiert einen Wert, der “keine Zahl” ist. Es gibt viele Möglichkeiten, wie Sie diesen Fehler erzeugen können, unter anderem ungültige mathematische Operationen wie 0/0 oder „irgendein Text“ / 1.

Was wird ausgegeben, wenn der folgende Code ausgeführt wird? Erkläre deine Antwort.​

  • console.log(false == ‘0’)
  • console.log(false === ‘0’)
  • true
  • false

In JS gibt es zwei Sätze von Gleichheitsoperatoren. Der Triple-Equal-Operator (===) wird als true ausgewertet, wenn die beiden Ausdrücke auf beiden Seiten denselben Typ und denselben Wert haben. Der Doppelgleichheitsoperator (==) versucht jedoch, die Werte vor dem Vergleich zu erzwingen.

Was ist der Unterschied zwischen let und var?​

Der Hauptunterschied sind die Scoping-Regeln. Mit dem Schlüsselwort var deklarierte Variablen werden auf den unmittelbaren Funktionskörper festgelegt, während Variablen auf den in Klammern angegebenen unmittelbaren umschließenden Block angewendet werden. Der Grund, warum das Schlüsselwort let in die Sprache eingeführt wurde, war der Funktionsumfang, der verwirrend ist und eine der Hauptursachen für Fehler war.

Erklären Sie "Verwenden Sie streng" (use strict)​

Der Zweck von “use strict” besteht darin, anzugeben, dass der Code im “strict mode” ausgeführt werden soll. Im strengen Modus können Sie beispielsweise keine nicht deklarierten Variablen verwenden. Der strikte Modus erleichtert das Schreiben von “sicher”. Wenn Sie beispielsweise in normalem JavaScript einen Variablennamen falsch eingeben, wird eine neue globale Variable erstellt. Im strengen Modus wird dadurch ein Fehler ausgegeben, der es unmöglich macht, versehentlich eine globale Variable zu erstellen. Im strengen Modus löst jede Zuweisung zu einer nicht beschreibbaren Eigenschaft, einer Nur-Getter-Eigenschaft, einer nicht vorhandenen Eigenschaft, einer nicht vorhandenen Variablen oder einem nicht vorhandenen Objekt einen Fehler aus.

Schlussfolgerungen​

Dies sind sehr grundlegende Fragen, die jeder erfahrene Javascript-Entwickler leicht beantworten sollte, und wir stellen sie häufig bei DevsData. Wie unsere Erfahrung zeigt, können leider selbst die Besten der Besten nicht alle beantworten. Hoffentlich helfen Ihnen die obigen Beispiele bei der Vorbereitung auf Ihr bevorstehendes Interview.

In Kontakt kommen​

Wenn Sie Hilfe bei der Einstellung eines professionellen Softwareentwicklers benötigen oder ein Softwareprojekt entwickeln möchten, wenden Sie sich an DevsData. DevsData LLC ist eine Technologieberatungs- und Softwareagentur mit Sitz in New York City und Europa. Ausgestattet mit Ingenieuren auf Google-Ebene verfügen wir über die Fähigkeiten, Erfahrungen und Ressourcen, um komplexe, personalisierte Technologiesysteme für das Wachstum Ihres Finanzgeschäfts zu erstellen. Kontaktieren Sie uns noch heute, egal ob Sie einen talentierten Entwickler oder eine maßgeschneiderte Systemüberholung benötigen, um das Wachstum zu optimieren.

Thank you

We'll get back to you as soon as possible.

Got a project idea?

Fill in an enquiry form and we’ll get back to you as soon as possible.

Acknowledgements

Unbeatable tech experience

“I interviewed about a dozen different firms. DevsData LLC is truly exceptional – their backend developers are some of the best I’ve ever worked with. I’ve worked with a lot of very well-qualified developers, locally in San Francisco, and remotely, so that is not a compliment I offer lightly. Their depth of knowledge and their ability to get things done quickly.
group-139nicholas_circle
Nicholas Johnson

MENTOR AT YC, CEO OF ORANGE CHARGER LLC

Acknowledgements

Acknowledgements