Frontend
Ce metrici Core Web Vitals cunoști și ce măsoară? Ai folosit Lighthouse?
La conectarea la un nou endpoint pentru prima dată apar erori CORS, deși totul este configurat corect pe backend. Ce trebuie făcut în această situație?
Cât de precis ai fost în evaluarea sarcinilor?
Implementați o funcție de memorare: acceptă o funcție și returnează o versiune învelită, care stochează în cache rezultatele apelurilor pe baza argumentelor.
Ce setări au cookie-urile (httpOnly, secure, expires, domain, path)?
/** * Implementați funcția compose, care acceptă * un număr variabil de funcții și returnează o nouă funcție. * Rezultatul fiecărei funcții este transmis următoarei. */ // Cod aici 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))));
Cum se poate optimiza algoritmul de intersecție?
În CV sunt indicate metrici — procentul de reducere a randărilor, creșterea performanței. Cum le-ați calculat?
Cum a fost organizat GitFlow în proiect?
Vorbiți despre o formă complexă cu peste 50 de câmpuri: cum ați construit arhitectura, dinamica și modul de lucru cu datele imbricate?
Ce sunt primitivele în JavaScript?
/* * Funcție care imită solicitarea datelor din backend. * Backend-ul are o limitare RPS și va eșua, * dacă numărul de solicitări paralele depășește MAX_PARALLEL_REQUESTS. */ function requestData(id: number): Promise<string> { parallelRequests++; if (parallelRequests > MAX_PARALLEL_REQUESTS) { throw new Error("Prea multe solicitări paralele"); } return new Promise((res) => { setTimeout(() => { parallelRequests--; return res(`${id * 2}`); }, Math.floor(Math.random() * 2000)) }); } function prepareData( ids: number[], maxParallelRequests: number, ): Promise<string[]> { /* * TODO: implementați solicitarea tuturor datelor, * folosind nu mai mult de maxParallelRequests * conexiuni paralele. */ }
Sarcină practică despre Promise (sarcina a fost anunțată, dar nu a fost dezvăluită pe deplin în transcriere).
Ce sunt genericele în TypeScript?
Cum se poate analiza JSON în mod secvențial, împărțind procesarea în bucăți, pentru a nu bloca firul principal? Prin ce se poate porni procesarea următoarei bucăți pentru a nu încetini pagina (de exemplu, requestIdleCallback, generatoare)?
Ați lucrat cu sistemul de fișiere, cameră sau alte funcționalități native în React Native?
La ce se folosește cuvântul cheie infer în TypeScript?
Vorbește despre locul tău de muncă actual: este un proiect mare, cu ce te ocupi exact în partea de frontend și în ce etapă a dezvoltării produsului ai intrat în proiect?
Privește acest cod cu SSR și clasa singleton i18n. Găsește o problemă serioasă care poate strica HTML-ul livrat utilizatorului. Cum o corectezi?
Ați implementat vreo funcție pentru salvarea stării tabelului, de exemplu, mutarea coloanelor — o păstrați pe backend, local sau în localStorage?