Precizare: aplicația era desktop în browser sau nativă?
Frontend
Vorbește-mi despre ultimul tău proiect: cu ce te-ai ocupat, care au fost realizările cheie și contribuția ta?
Din ce părți poate fi împărțit un request HTTP?
Ai lucrat cu WebSocket, Server-Sent Events, long polling? Povestește despre ele.
Ce alte metode de solicitare HTTP există în afară de GET? Cum se numesc?
Cum funcționează în interior un tabel hash (HashMap)?
Știi despre diferitele versiuni ale protocolului HTTP (HTTP/1, HTTP/2, HTTP/3)? Care este diferența dintre ele?
Care sunt dezavantajele FSD? Când nu l-ai implementa?
De ce se execută mai întâi toate microtask-urile și apoi macrotask-urile? De ce nu invers?
Cum ați măsurat accelerarea onboarding-ului noilor dezvoltatori cu 30-40%?
Ce nu vrei în proiect?
Ai fost proprietar de funcționalități, ai proiectat arhitectura aplicației și panourile — ce ți-a lipsit la locul actual de muncă?
Ce vrei de la noul loc de muncă? De ce ai nevoie pentru a te dezvolta?
În legătură cu ultimul tău loc de muncă, unde ai lucrat trei ani și jumătate, scrie că ești responsabil pentru arhitectura frontend și soluții tehnice. Este aceasta rolul tău formal?
Exercițiu în JavaScript: determinarea ordinii de afișare în consolă pentru un cod care utilizează setTimeout și Promise (micro și macro sarcini).
Care este complexitatea (Big O) a metodei unsubscribe în implementarea ta?
Cunoști pattern-ul EventEmitter? Implementează o clasă cu metodele subscribe, unsubscribe și fire.
Cum au îmbunătățit exact performanța paginilor grele? Ce anume încetinea randarea? Cum au măsurat — de la 5 secunde la 150-250 milisecunde?
Ce se întâmplă atunci când un tabel hash se umple și nu mai pot fi adăugați noi elemente (rehashing)?
Pachetul avea 1,5 megabytes, a devenit între 700 și 800 kilobytes. Cum au redus exact pachetul? Cum ai începe acum să optimizezi un pachet de 2 megabytes?