Frontend
Cum ai împărți starea serverului și a clientului?
Pentru ce parte a Avito ai fost responsabil: interfața mobilă sau cea web?
Cum a decurs interacțiunea cu designerii? Ce a fost mai întâi: dezvoltarea funcționalității sau designul, și cum ați acționat în cazul în care designul nu corespundea funcționalității?
Sarcină în Vue: ce va fi afișat în șablon atunci când se folosește watch fără flag-ul immediate?
console.log(1) setTimeout(() => { console.log(2) }, 10) setTimeout(() => { Promise.resolve().then(() => console.log(3)) }, 0); setTimeout(() => { console.log(4) }, 0); new Promise((_, reject) => { console.log(5) reject(6) console.log(7) }).then(() => console.log(8)) .catch(() => console.log(9)) .then(() => console.log(10)) .catch(() => console.log(11)) .then(() => console.log(12)) .then(console.log) .finally(() => console.log(13)) console.log(14)
Ce este un linter, pentru ce se folosește și ce linters populare cunoști?
Aveți CI/CD? Folosiți un analizator de cod static, cum ar fi SonarQube?
La este React? Ce probleme rezolvă? Când este redundant?
Coding Live: Implementați un mecanism de bază EventEmitter cu metodele subscribe, publish și un mecanism de dezabonare
// Este trebuie să creezi o nouă componentă RandOnce bazată pe componenta Rand, // care, atunci când este utilizată în App, // nu va actualiza numărul aleatoriu la fiecare 3 secunde, ci va afișa un număr aleatoriu doar o singură dată. // const Rand = () => <span>{Math.random()}</span>
Enumerați metodele statice Promise și explicați ce este o promisiune.
Ce este Vue Router și cum funcționează cu propriile tale cuvinte? Ce conține de obicei fișierul de configurare al routerului (fișierul index)?
Când trebuie să folosiți useMemo? Dacă se transmite un array și un primitiv către componenta copil, unde trebuie aplicat useMemo?
Poate fi depășit stiva de apeluri? Dacă da, de ce s-ar putea întâmpla acest lucru?
Descrieți experiența dvs. cu NGRX. Cum a fost implementat store-ul? S-au folosit efecte și pattern-ul fațadă?
Cum au fost implementate stilurile și versiunile separate pentru desktop și mobile: totul pe Vue sau s-au folosit implementări diferite?
Determină ordinea de afișare în consolă pentru codul cu setTimeout, Promise, then, catch, finally și diverse apeluri sincrone (exercițiu despre Event Loop).
Explicați comportamentul codului Promise JavaScript de mai jos și ce va fi afișat în consolă: ```javascript let promise = new Promise((resolve, reject) => { resolve("ok"); }) promise .then(result => `${result} one`) .then(result => `${result} two`) .then(result => {return new Error('error')}) .finally((result) => console.log('finally', result)) .catch(err => console.error(err.message)) ```
Ce sunt indicii acoperiți și cum ajută?
Cum să eviți scurgerile de memorie atunci când ștergi un element din DOM, dacă handler-ul de eveniment este stocat într-un obiect global?