/** * Izpildiet funkciju sumPromises, kas * pieņem solījumus kā argumentus un * atgriež to rezultātu summu. * * Funkcija var pieņemt jebkuru argumentu skaitu. * Jebkuru solījumu API var izmantot. */ // Šeit rakstiet kodu // Piemērs lietošanai const promise1 = Promise.resolve(1); const promise2 = Promise.resolve(2); sumPromises(promise1, promise2).then(console.log); // 3
Frontend
/* Nepieciešams īstenot metodi intersection, kas paplašina standarta kopu (Set) metodes. Šī metode pieņem citu kopu kā parametru un atgriež jaunu kopu, kas ir sākotnējās un nodotās kopas krustošanās, t.i., satur tikai tās elementus, kas ir abās kopās. */ // jūsu kods const set1 = new Set([1, 2, 3, 4]); const set2 = new Set([3, 4, 5, 6, 7, 8]); console.log(...set1.intersection(set2)) // 3 4 --- Set.prototype.intersection = function (set2) { const result = new Set(); for(const value of this) { if (set2.has(value)) result.add(value); } return result; } const set1 = new Set([1, 2, 3, 4]); const set2 = new Set([3, 4, 5, 6, 7, 8]); console.log(...set1.intersection(set2)) // 3 4
Kādi ir rekursīvās koka apmeklējuma ierobežojumi? Kā atšķiras dziļuma (DFS) un platuma (BFS) apmeklējums? Kā var realizēt koka apmeklējumu bez rekursijas?
Kā vēl var iegūt skaitlisko vērtību no this (izņemot Number(this))?
Izskaidrojiet, kas notiks ar Promise apvalks, ja asyncCall kļūdaini izsauks nodoto callback vairākas reizes: vispirms ar kļūdu, tad ar datiem un pēc tam atkal ar kļūdu.
/** * Izpildiet funkciju compose, kas pieņem * mainīgu funkciju skaitu un atgriež jaunu funkciju. * Katras funkcijas rezultāts tiek nodots nākamajai. */ // Šeit kods const square = (x) => x * x; const times2 = (x) => x * 2; const sum = (a, b) => a + b; console.clear(); console.log(compose(square, times2)(2) === square(times2(2))); console.log(compose(square, times2, sum)(3, 4) === square(times2(sum(3, 4))));
Kā var pārvērst pseudo-masīvu arguments par īstu masīvu? Norādiet vairākus veidus.
Kādus citus Promise API metodes pazīsti, izņemot Promise.all?
Kur reālajā lietojumprogrammā varētu būt noderīga callLimit funkcija ar iespēju atiestatīt skaitītāju?
Kāda ir atšķirība starp pārbaudi 'key in result' un 'result.hasOwnProperty(key)'?
Izpildiet funkciju sumPromises, kas pieņem solījumus kā argumentus un atgriež to rezultātu summu. Funkcija var pieņemt jebkuru argumentu skaitu, var izmantot jebkādas solījumu API.
Kāpēc sleep izpildes laiks nav precīzi 1000 un 2000 milisekundes, bet nedaudz vairāk? Kas ietek kavēšanos?
9. Kopēšana Testa laikā profesors Floyd pamanīja, ka daži studenti apmainās ar piezīmēm. Sākumā viņš vēlējās visiem uzlikt divniekus, bet profesors bija laipns, un nolēma studentus sadalīt divās grupās: tiem, kas ļauj kopēt, un tikai pirmajai grupai uzlikt divniekus. Professors ir reģistrējis visas studentu pārus, kas apmainījās ar piezīmēm. Ir jānoskaidro, vai ir iespējams studentus sadalīt divās grupās tā, lai katra piezīmju apmaiņa notiktu no viena grupas studenta uz otra grupas studentu. Ievades formāts Pirmā rindā ir divi skaitļi N un M — studentu skaits un studentu pāru skaits, kas apmainījās ar piezīmēm (1 ≤ N ≤ 10^2, 0 ≤ M ≤ N(N-1)/2). Tālāk, M rindās ir aprakstīti studentu pāri: divi skaitļi, kas atbilst studentu numuriem, kas apmainījās ar piezīmēm (studentu numerācija sākas no 1, katrs pāris ir uzskaitīts ne vairāk kā vienu reizi). Izvades formāts Ir jāizdrukā profesora Floyd uzdevuma atbilde. Ja ir iespējams studentus sadalīt divās grupās, rakstiet YES; citādi, NO.
[vārds] jautāja: Vai izpildītāji paši skaidroja līgumus paralēlas attīstības gadījumā?
Nosakiet, vai rinda ir 'pangramma' — rinda, kas satur katru alfabēta burtu vismaz vienu reizi.
Kāpēc tiek izmantots Array.prototype.slice.call(arguments)? Kā darbojas call un apply?
/** * Implementējiet funkciju isMonotonic, kas pieņem * skaitļu masīvu un nosaka, vai tas ir * monotonisks (nepalielinās vai nemazinās). * * @param {Array<number>} numbers - skaitļu masīvs * @return {boolean} - true, ja masīvs ir monotonisks, citādi false */ function isMonotonic(numbers) { // jūsu kods šeit }
Pastāsti par savu pašreizējo darba vietu un projektu
Pārrakstiet funkciju strjoin ES5 bez rest operatora
Dota sinhroniska funkcija un laiks milisekundēs. Jāatgriež šīs funkcijas jauna versija, kuras izpilde ir ierobežota ar norēķināto laiku. Ja funkcija izpildās noteiktajā laikā, solījums tiek izpildīts ar iegūtajiem datiem. Ja nē, solījums tiek noraidīts ar virkni 'time limit exceeded'.