Sobes.tech

Frontend

Antud on sünkrooniline funktsioon ja aeg millisekundites. Tuleb tagastada selle funktsiooni uus versioon, mille täitmine on piiratud määratud ajaga. Kui funktsioon täidetakse määratud aja jooksul, lahendatakse lubadus saadud andmetega. Kui mitte, lükatakse lubadus tagasi stringiga 'time limit exceeded'.

141

Miks võib meetod apply olla vajalik runOnce lahenduses?

141

/** * On vaja kirjutada asünkroonne funktsioon, * mis "magab" määratud millisekundite arv ning * seejärel edukalt lõpeb * / function sleep(duration) { } // Näide const startTime = Date.now(); console.log("alustan magamist..."); sleep(2000).then(() => { console.log("Tõusin pärast 2 sekundit!"); console.log("Aeg läks: ", Date.now() - startTime); }); sleep(1000).then(() => { console.log("Tõusin pärast 1 sekundit!"); console.log("Aeg läks: ", Date.now() - startTime); });

139

Kas on probleeme sisseehitatud objektide prototüüpidele uute meetodite lisamisega?

139

/** * Implementige funktsiooni sumPromises, mis * võtab vastu lubadused argumentidena ja * tagastab nende tulemuste summa. * * Funktsioon võib võtta mistahes arvu argumente. * Võite kasutada mis tahes lubaduste API-d. */ // Kood siin // Näide kasutamisest const promise1 = Promise.resolve(1); const promise2 = Promise.resolve(2); sumPromises(promise1, promise2).then(console.log); // 3

138

/** * Teostage runOnce pakendamise funktsioon, mis * võtab funktsiooni ja tagastab uue funktsiooni. Uus * funktsioon saab olla kutsutud ainult üks kord, kõik * järgnevad kutsed tagastavad undefined. * * Pakitud funktsioon võib võtta argumente * ja tagastada tulemuse. */ function runOnce(fn) { // teie kood } const logHello = (name) => { console.log(`tere, ${name}!`) }; const logHelloOnce = runOnce(logHello); console.clear(); logHelloOnce('Oleg'); // 'tere, Oleg!' logHelloOnce('Olga'); // undefined

136

/* Vajadzētu uzrakstīt funkciju, kas aprēķina visu skaitlisko vērtību summu masīvā. Derīgas skaitliskās vērtības ir arī virknes, kas sākas ar cipariem. Šajā gadījumā jāizmanto šī sākuma ciparu secība kā skaitliskā vērtība. Masīvs var saturēt jebkāda veida datus un nebūt vienkāršs. **Nav atļauts izmantot iebūvētās metodes kā .flat, .flatMap** */ function sum(arr) { // ... } console.log(sum([1, 'x', '2x', ['3', ['x2', '5']]]));

136

[nimi] küsis: Kui kaua aega võttis mängija MVP-versiooni rakendamine?

135

/** * `asyncAuth(callback)` funktsioon võtab vastu callbacki, kuhu * võib edastada vea (esimene argument) ja andmeid * backendist (teine argument). * asyncAuth((error, data) => {}); * * Teil on vaja rakendada funktsioon `auth()`, * mis kutsub `asyncAuth()`, kuid tagastab Promise. * * @returns {Promise} */ function auth() { return new Promise((resolve, reject) => { asyncAuth((error, data) => { if (error) { reject(error) } else { resolve(data) } }); }) } /** * `tryAuth()` funktsioon kasutab `auth()` ja, kui tekib viga, * teeb N täiendavat katset. * Kui kõik katsed ebaõnnestuvad, tagastab viimase vea. * * @returns {Promise} */ function tryAuth(n) { }

135

/** * Kolm koodilõiku on antud. Tuleb kirjutada iga console.log tulemused. */ var n = 1; function F(n) { n = 3; } F(n); console.log(n); var obj = { a: 1 }; function F1(o) { o.a = 5; } F1(obj); console.log(obj); var obj = { a: 1 }; function F2(o) { o = { hello: 1 }; } F2(obj); console.log(obj);

133

Millised ES6 standardi uuendused on kasutusel kirjutatud koodis? Mis on arguments objekt ja kuidas see erineb rest-parameetritest?

132

Kuidas teisendada arguments massiiviks vanamoodi (ES5), ilma Array.from ja spread-operaatorita?

132

Kas saaksite rääkida arhitektuursetest lähenemistest, mida te projektis kasutasite? Kas te olete tuttav Feature-Sliced Design (FSD) kontseptsiooniga?

131

[nimi] küsis: Kas oled kunagi ise kirjutanud täiendavaid töid pipeline'is?

130

[nimi] küsis: Kas oled kunagi töötanud teenuste kiiruse näitajate optimeerimisel?

130

[nimi] küsis: Kuidas üldiselt organiseeriti töö konkreetse ülesande kallal: kes selle tõi ja ette valmistas, kuidas toimus kinnitamise protsess, millised küsimused tekkisid realiseerimise käigus ja kuidas te neid lahendasite?

128

Mis juhtub, jei po sėkmingo funkcijos vykdymo laiko limitas nebus išvalytas? Kaip tai ištaisyti ir kuri pažado metodas tiktų laiko limitui išvalyti bet kokiu atveju (sėkmės ir klaidos)?

128

Rakenda asyncAuth funktsiooni koos tagasiside liidesega, mis tagastab Promise. Seejärel rakenda tryAuth(n) funktsioon, mis kasutab asyncAuth ja vea korral teeb n täiendavat katset. Kui kõik katsed ebaõnnestuvad, tagastab viimase vea.

128

/** * `asyncAuth(callback)` funktsioon võtab vastu callbacki, kuhu * võib edastada vea (kuna esimene argument) ja andmeid * backendist (kuna teine argument). * asyncAuth((error, data) => {}); * * Teil tuleb rakendada funktsioon `auth()`, * mis kutsub `asyncAuth()`, kuid tagastab Promise. * * @returns {Promise} */ function auth() { // asyncAuth((error, data) => {}); } /** * `tryAuth()` funktsioon kasutab `auth()` ja, juhul kui viga, * teeb N täiendavat katset. * Kui kõik katsed ebaõnnestuvad, tagastab viimase vea. * * @returns {Promise} */ function tryAuth(n) { }

128

Rakenda withTimeout funktsiooni, mis võtab funktsiooni ja aja (millisekundites) ning tagastab uue funktsiooni. Kui algne funktsioon ei täida määratud aja jooksul, peab lubadus olema tagasi lükatud.

126
/7