Cum se corelează TCP și TLS? Ce problemă rezolvă TLS?
Frontend
Care sunt avantajele și dezavantajele TypeScript în comparație cu JavaScript?
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?
Cum funcționează React sub capotă? Explicați mecanismul de reconciliation, Virtual DOM, arhitectura Fiber și de ce sunt două faze (render și commit).
Evaluați următoarea implementare a autentificării: formular de login/parolă, backend-ul caută utilizatorul în baza de date (tabel: id, nume de utilizator, parolă), obține ID-ul întreg și îl scrie într-un cookie cu flag-ul HttpOnly. Ce este rău în această implementare și cum o puteți corecta?
HTTP este un protocol de ce nivel al modelului OSI? Ce se află sub el?
Spuneți ce se întâmplă din punctul de vedere al rețelei atunci când browserul solicită o pagină — de exemplu, când introduceți [link] în bara de adrese. Descrieți toate etapele de la acel moment până la obținerea codului HTML.
Cum se generează corect tokenurile de autorizare? Ce trebuie să conțină tokenul pentru a se proteja împotriva atacurilor de tip brute force?
Ce este React, de ce are nevoie și ce probleme rezolvă? Când ar trebui să folosiți React și când este suficient JavaScript pur?
Din ce este formată o cerere HTTP? Numiți părțile și blocurile principale.
Oferiți un exemplu de component funcțional defectuos care provoacă re-randări inutile și explicați cum să îl corectați.
La utilizarea HTTPS, ce părți ale cererii HTTP sunt criptate și care rămân deschise? De exemplu, URL-ul, anteturile, corpul cererii sunt criptate?
Ce altceva este necesar pe lângă adresa IP pentru a deschide o conexiune TCP?
Cum funcționează sesiunile și autorizarea? Cum după login, toate cererile ulterioare nu necesită re-autorizare?
Cum se utilizează criptarea asimetrică în TLS și pentru ce este nevoie?
Utilizatorul apasă butonul de plată de 100 de ruble, se trimite o solicitare POST către server, dar nu sosește răspuns — timeout. Cum se face ca re-trimiterea să nu ducă la o dublă facturare? Cum se rezolvă această problemă în frontend și în arhitectură?