Sobes.tech

Frontend

Als de functie logHello als pijlfunctie is geschreven en wordt aangeroepen via fn.call(this, ...args) binnen runOnce, wat gebeurt er dan met de context this? Wat moet er worden gewijzigd in de functie logHello zodat de context correct wordt doorgegeven?

236

Schrijf een functie om een string van camelCase naar snake_case te converteren. Gebruik geen reguliere expressies, tekencodes of een vaste lijst symbolen; de oplossing moet universeel zijn. Evalueer de tijd- en ruimtecomplexiteit.

225

Waarom wordt bij twee oproepen sleep(2000) en sleep(1000) eerst de log over 1 seconde weergegeven, en daarna over 2 seconden? Leg de werking uit van de Event Loop, micro- en macro-taken.

218

/* We hebben een set tickets in de volgende vorm: [ { from: 'Londen', to: 'Moskou' }, { from: 'NY', to: 'Londen' }, { from: 'Moskou', to: 'Sint-Petersburg' }, ... ] Van deze tickets kan één ononderbroken route worden gebouwd. Er zijn geen lussen of herhalingen in de route. Je moet een programma schrijven dat dezezelfde ticketobjecten in de volgorde van de route teruggeeft. */ function getRoute(tickets = [], startCity) { // jouw code hier } console.clear() console.log(getRoute([ { from: 'Londen', to: 'Moskou' }, { from: 'NY', to: 'Londen' }, { from: 'Moskou', to: 'Sint-Petersburg' }, ], 'NY')); /* [ { from: 'NY', to: 'Londen' }, { from: 'Londen', to: 'Moskou' }, { from: 'Moskou', to: 'Sint-Petersburg' }, ] */

213

Kennis van databases en werken met API's

209

/** * De functie `asyncAuth(callback)` accepteert een callback, waarin * een fout (als eerste argument) en gegevens * van de backend (als tweede argument) kunnen worden doorgegeven. * asyncAuth((error, data) => {}); * * Je moet de functie `auth()` implementeren, * die `asyncAuth()` aanroept, maar een Promise retourneert. * * @returns {Promise} */ function auth() { // asyncAuth((error, data) => {}); } /** * De functie `tryAuth()` gebruikt `auth()` en, in geval van fout, * voert N extra pogingen uit. * Als alle pogingen falen, retourneert het de laatste fout. * * @returns {Promise} */ function tryAuth(n) { }

202

/** * De functie 'asyncAuth(callback)' accepteert een callback, waarin * een fout (als eerste argument) en gegevens * van de backend (als tweede argument) kunnen worden doorgegeven. * asyncAuth((error, data) => {}); * * Je moet de functie 'auth()' implementeren, * die 'asyncAuth()' aanroept, maar een Promise teruggeeft. * * @returns {Promise} */ function auth() { return new Promise((resolve, reject) => { asyncAuth((error, data) => { if (error) { reject(error) } else { resolve(data) } }); }) } /** * De functie 'tryAuth()' gebruikt 'auth()' en, in geval van fout, * doet N extra pogingen. * Als alle pogingen falen, geeft het de laatste fout terug. * * @returns {Promise} */ function tryAuth(n) { return new Promise((resolve, reject) => { function attempt(attemptsLeft) { auth().then(resolve).catch((error) => { if (attemptsLeft <= 0) { reject(error); } else { attempt(attemptsLeft - 1); } }); } attempt(n); }); }

191

Waarop moest je nog meer schrijven in je commerciële ervaring, naast TypeScript en JavaScript?

189

Als we breukgetallen moeten overwegen, wat moeten we toevoegen aan de times-methode?

186

/* Er moet een polyfill geschreven worden voor Array.prototype.some Parameters - callback - functie die elk element controleert, accepteert drie argumenten: - element - Het huidige verwerkte element in de array. - index (Optioneel) - De index van het huidige verwerkte element. - array (Optioneel) - De array waarop wordt geïtereerd. - thisArg (Optioneel) - Waarde die wordt gebruikt als this bij het uitvoeren van de callback-functie. Return-waarde true, als de controlefunctie voor ten minste één element een truthy waarde retourneert. Anders, false. */ Array.prototype.some = function (callback, thisArgs) { const array = this; for (let i = 0; i < array.length; i++) { if (!(i in array)) continue; const result = callback.call(thisArgs, array[i], i, array); if (result) return true; } return false; }

186

In welk team werk je en aan welk project?

176

Is het mogelijk om een taak voor het optellen van promises op te lossen zonder gebruik te maken van statische Promise-methoden? Hoe verschilt de uitvoering van promises binnen een lus van Promise.all — parallel of sequentieel?

176

Er is een boom waarop eekhoorns en raven zitten. Het is nodig om een functie te schrijven die alle eekhoorns in de boom vindt en hun namen teruggeeft. Verwachte resultaat: ['Acorn', 'Sirsalty', 'Macadamia', 'Kernel'].

167

Implementeer een decorateur callLimit(fn, limit, callback), die het aantal aanroepen van een functie beperkt. Neemt: een functie om te decoreren, het maximale aantal aanroepen, een callback die wordt aangeroepen bij de laatste aanroep (optioneel). De geretourneerde functie moet een reset-methode hebben om de teller terug te zetten naar de beginstand.

164

Bepaal de uitvoervolgorde in de console en de waarden van de gemeten tijd in het voorbeeld met sleep, timers, Promise en taakwachtrijen; leg uit waarom de werkelijke vertraging groter kan zijn dan ingesteld.

162

Wat is beter om gegevens per sleutel op te slaan: Map of een gewoon object? Wat zijn de voordelen van Map?

162

/** * Het is nodig om een asynchrone functie te schrijven, * die "slaapt" voor de opgegeven hoeveelheid milliseconden, * en daarna succesvol eindigt */ function sleep(duration) { } // Voorbeeld const startTime = Date.now(); console.log("Begin met slapen..."); sleep(2000).then(() => { console.log("Wakker na 2 seconden!"); console.log("Verstreken tijd: ", Date.now() - startTime); }); sleep(1000).then(() => { console.log("Wakker na 1 seconde!"); console.log("Verstreken tijd: ", Date.now() - startTime); });

158

Wat vind je leuk en niet leuk aan je werk bij het bedrijf?

158

Breid Array.prototype uit met een methode die de elementen van de array groepeert op een sleutel die wordt berekend door een meegegeven functie, en retourneert een object waarin elke sleutel overeenkomt met een array van elementen. Leg uit wat er gebeurt als de sleutelberekeningsfunctie iets teruggeeft dat geen string of nummer is.

156

// Je krijgt een string bestaande uit Latijnse letters, spaties en leestekens. // Een string wordt een pangram genoemd als deze ten minste één keer elke van de 26 letters bevat. Bepaal of de string een pangram is. const LETTERS = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']; function isPangram(text) { // jouw code hier } console.log(isPangram(`A pangram or holoalphabetic sentence is a using every letter of a given alphabet at least once.`)); // => console.log(isPangram('Waltz, bad nymph, for quick jigs vex.'))

155
/6