Cum se rezolvă problema solicitărilor redundante de date pe client, atunci când datele au fost deja încărcate pe server prin SSR?
Frontend
Cum se optimizează încărcarea imaginilor în cardurile vizibile în viewport? Cum se rezolvă problema condiției de cursă atunci când se schimbă rapid conținutul (de exemplu, YouTube Shorts)?
Ai menționat Docker, CI/CD, GitHub Actions, GitLab — poți explica exact ce ai făcut, ce pipeline-uri, ce era în containere?
Ce s-a folosit pentru lucrul cu formulare multidimensionale, pentru validare, ce probleme au fost întâmpinate, cum au fost testate?
Implementați validarea pe partea serverului pentru câmpurile corespunzătoare.
Cum poți cache-ui datele pe server pentru a accelera încărcarea utilizatorilor?
Cum funcționează virtualizarea listei? Cum este implementată tehnic prin JavaScript?
Cu ce framework-uri sau instrumente lucrezi? Folosești instrumente AI în munca ta?
#Formular de înscriere React 1. Explicați cum funcționează StateProvider, împărtășiți-vă gândurile cu intervievatorul. 2. Priviti /src/api/mock, explicați cum funcționează. 3. Verificați culoarea butonului SubmitButton și corectați-o. 4. Implementați validarea formularului client în componenta Signup. (\*) Țineți cont de numărul sarcinii 9. Reguli: - Câmpurile Username, Email, Password și Repeat Password trebuie să aibă cel puțin 6 caractere; - Password trebuie să se potrivească cu Repeat Password; - Validarea trebuie efectuată la clic pe butonul "SignUp"; - Câmpurile cu valori invalide trebuie marcate (props error și helperText); 6. Răspunsul API poate avea o eroare care trebuie afișată utilizatorului lângă câmpul corespunzător. 7. Asigurați-vă că componenta UserName afișează noul nume de utilizator după o trimitere reușită. 8. Implementați noul component SignupSuccess. Acesta trebuie să fie afișat în locul formularului de înregistrare. 9. Implementați validarea serverului pentru câmpurile corespunzătoare. --- Cod din mock.ts: ```typescript const fakeResponse = (userName) => ({ code: 200, user: { id: 42, userName, }, }); let a = 0; const api = { '/signup': function (userName: string, email: string, password: string) { a++; return new Promise((resolve, reject) => { setTimeout(() => { if (a % 2 === 0) { return resolve(fakeResponse(userName)); } else { return reject( new Error( `Numele de utilizator "${userName}" este deja luat. Încercați altul.` ) ); } }, 500); }); }, }; export default api; ```
Implementați tipizarea TypeScript pentru funcția customMap, care acceptă un array de orice tip și o funcție de transformare care returnează un alt tip. Funcția de transformare trebuie să accepte trei argumente (ca și callback în Array.map).
Pe pagină există un player. Este nevoie să faci astfel încât, atunci când apeși stop pe o filă, redarea să se oprească și pe altă filă. Cum ai implementa comunicarea între file?
Cum se schimbau fișierele în chat — doar printr-o solicitare POST sau existau fișiere mari?
Avem un front foarte mare în monorepo, pe care lucrează mai multe echipe diferite în același timp. Nu putem trece la micro-frontend-uri. Cum putem minimiza riscurile ca echipele diferite să afecteze munca unele altora?
Crează semnul STOP (un cerc roșu cu o bandă albă și o margine dublă) folosind doar un div și CSS (pseudo-elementele sunt permise).
Cum au fost livrate versiunile, cum au fost testate, cât de des au fost lansate?
#Formular de înscriere React 1. Explică cum funcționează StateProvider, împărtășește-ți gândurile cu intervievatorul. 2. Aruncă o privire la /src/api/mock, explică cum funcționează. 3. Verifică culoarea butonului SubmitButton și corectează-l. 4. Implementează validarea formularului client în componenta Signup. (* ) Ține cont de numărul sarcinii 9. Reguli: - Câmpurile Nume de utilizator, Email, Parolă, Repetă Parolă trebuie să aibă cel puțin 6 caractere; - Parola trebuie să se potrivească cu Repetă Parolă; - Validarea trebuie să fie efectuată la clic pe butonul "Înscrie-te"; - Câmpurile cu valori invalide trebuie marcate (props error și helperText); 6. Răspunsul API poate avea o eroare care trebuie afișată utilizatorului lângă câmpul corespunzător. 7. Asigură-te că componenta UserName afișează noul nume de utilizator după trimiterea cu succes. 8. Implementează noua componentă SignupSuccess. Aceasta trebuie să fie afișată în locul formularului de înscriere. 9. Implementează validarea serverului pentru câmpurile corespunzătoare.
Ce faci de obicei dacă simți că dezvoltarea este în curs și ești puțin în urmă față de termenele limită? Există o dată de lansare, dar înțelegi că nu vei reuși să finalizezi sarcina la timp.
Implementați funcția promiseWithResolver (promisiune întârziată), care returnează un obiect cu câmpurile resolve și promise.
Cum afli ceva nou despre programare și ce ți-a rămas în minte recent?
Uită-te la acest fragment de cod — înțelege ce face și scrie un exemplu simplu de utilizare. De asemenea, există un helper similar în lodash.