De ce au apărut promisiunile dacă asincronicitatea putea fi organizată cu ajutorul generatorilor? Ce era incomod în abordarea callback?
Frontend
La ce lucrați în prezent?
În ce cazuri va intra execuția fetch în catch? Cum se determină dacă cererea a fost reușită sau nu, și de unde provine starea HTTP?
Ce știi despre ordinea de conectare și executare a scripturilor: script obișnuit, async și defer?
Ce este CORS și care sunt opțiunile pentru rezolvarea problemelor de cereri între domenii?
Care sunt modalitățile de a ocoli abonații stocați într-un Set?
Tipa funcția de transformare a array-ului în TypeScript: definește tipurile generice necesare pentru tipul elementelor array-ului sursă și tipul rezultatului.
Implementați o funcție memo(fn, lifetime) care returnează o funcție nouă și cachează rezultatul funcției originale fără argumente pentru o durată de viață specificată în milisecunde. Ar trebui să cacheze doar ultimul rezultat, fără chei și Map; o apelare repetată în interiorul duratei de viață ar trebui să returneze rezultatul cache-uit.
Implementați o clasă în TypeScript urmând modelul 'Observer': stochează date într-un obiect, permite abonarea și dezabonarea prin subscribe/unsubscribe și notifică abonații la schimbarea datelor prin atribuire. Includeți getter și setter; valoarea inițială trebuie să fie un obiect gol.
Descrieți etapele de randare a paginii în browser: DOM, CSSOM, arborele de randare, layout/reflow, repaint și compositing. Care proprietăți sunt preferabile pentru animație și de ce?
Implementați o coadă de sarcini asincrone cu limită de concurență: sarcinile sunt mai întâi adăugate în coadă, apoi începute de metoda loop; nu trebuie să ruleze simultan mai mult de un anumit număr de sarcini. Când toate sarcinile din coadă și cele în curs de execuție sunt finalizate, anunțați despre finalizarea cozii.
Implementați o funcție care încearcă de mai multe ori solicitările fetch în caz de eșec. Ce ar trebui să se întâmple după epuizarea încercărilor?
Ce se întâmplă în browser după introducerea unei adrese URL?
Cum poate fi implementată o coadă de sarcini folosind promisiuni fără steaguri și contoare? Ce este un worker în contextul unei astfel de cozi?