Frontend
Care este diferența dintre randare și pictare? Cum se numește procesul de comparare a arborelui DOM virtual și real?
const { foo: [bar], bar: [{ baz: foo }] } = { foo: [1], bar: [{ baz: 3 }] } console.log(bar) // 1 console.log(foo) // 3
Ce este pseudo-array-ul arguments? Cu ce se deosebește de un array obișnuit?
Ce modele de dezvoltare folosiți (DRY, SOLID, GRASP, modele de design)?
Ai gestionat situația în care indexOf returnează -1 atunci când îl folosești în removeItem?
Ce este mai bine să folosiți pentru un comutator cu două stări (pornit/oprit): toggle sau checkbox?
Dacă TLS criptează traficul, dar un atacator intercepta pachetul și îl trimite din nou către server (atac de replay), de ce nu va funcționa? Ce se întâmplă pas cu pas în timpul stabilirii unei conexiuni TLS?
Care sunt principiile de bază ale OOP? Vorbește despre principiile SOLID în propriile tale cuvinte.
Ce abordări sau biblioteci ai folosit pentru a optimiza dimensiunea pachetului?
Ce format de lucru preferați — hibrid sau de la distanță?
Ce este useContext și de ce nu ar trebui să fie folosit în loc de Redux/Zustand?
Cine ar trebui, în general, să ia decizia de amânare a lansării?
Vorbește despre FSD (Feature-Sliced Design) — care au fost înțelegerile în echipă
Funcția toggleInput nu se execută înainte de aceasta?
Spune-mi mai multe despre proiectul din Цифриум: de care module erau responsabili, cum a fost structurată funcția — unde se aflau endpoint-urile, modelele, logica de afaceri, abonamentele?
Folosești agenți AI, cum ar fi Cursor? Cum este reglementat/permis utilizarea instrumentelor AI în proiect?
Aveți experiență în scrierea propriilor biblioteci UI sau biblioteci de componente?
[nume] a întrebat: povestiți-ne despre experiența și background-ul dvs. profesional.
Există două endpoint-uri: obținerea listei de utilizatori și obținerea unui utilizator după ID. Cum organizezi tipizarea răspunsurilor și modul de lucru cu aceste API-uri?
/** * Se presupune un array de puncte cu coordonate întregi (x, y). * Determinați dacă există o linie verticală, * care împarte punctele în două seturi simetrice față de această linie. * Notă: Pentru comoditate, punctul poate fi reprezentat nu ca un array [x, y], ci ca un obiect {x, y}. */ isVertSym([[0, 0], [0, 0], [1, 1], [2, 2], [3, 1], [4, 0], [4, 0]]) // true isVertSym([[0, 0], [0, 0], [1, 1], [2, 2], [3, 1], [4, 0]]) // false isVertSym([]) // true isVertSym([[0, 0]]) // true isVertSym([[0, 0], [10, 0]]) // true isVertSym([[0, 0], [11, 1]]) // false isVertSym([[0, 0], [1, 0], [3, 0]]) // false function isVertSym(list) { // cod aici }