Frontend
Ce este operatorul 'as' în TypeScript și care sunt avantajele și dezavantajele sale?
Vorbește despre etapele critice ale randării browserului
Ai lucrat cu abordări arhitecturale precum FSD (Feature-Sliced Design)?
Cum rezolvi problema de optimizare a încărcării imaginilor pentru diferite rezoluții ale ecranului?
Exercițiu de concatenare a șirurilor în JavaScript: ce va fi afișat pe ecran și de ce? (exemplu cu operatorul + și șiruri/numere)
Cum să optimizezi re-renderurile în React? Vorbește despre React.memo, useCallback, useMemo.
Cum se poate rezolva sarcina withTimeout într-un mod alternativ prin Promise.race? Ce este Promise.race, în ce se deosebește de Promise.all?
Ce atribute are tag-ul form?
De ce te gândești să pleci de la locul tău de muncă actual?
În ce oraș ești? Ești dispus să te muți? Ce părere ai despre Hybrid?
Ce sunt atacurile XSS?
Cunoștințe despre baze de date și lucru cu API-uri
Vorbește despre experiența ta cu Node.js, folosind ca exemplu un proiect la care ai lucrat, ce anume ai dezvoltat în el.
De ce a fost introdus API-ul de Compoziție în Vue 3? Care sunt avantajele față de API-ul Options?
Ați fost nevoit să configurați ESLint și Prettier astfel încât să nu intre în conflict?
Vorbește despre Promise: stări, metode statice (all, allSettled, any, race).
Obțineți date despre cărți și autorii lor. Afișați datele într-o listă paginată de 10 cărți pe pagină în formatul: <titlul cărții> - <autor> api: [link] specificație: [link] dacă swagger nu se deschide, în rădăcina sber-c55-books-mock-1.0.1-oas3.1-resolved.yaml const PAGE_SIZE = 10; export default function App() { const [books, setBooks] = useState([]) const [page, setPage] = useState(1); const [loading, setLoading] = useState(false) useEffect(() => { setLoading(true); fetch('[link]') .then((res) => res.json()) .then((data) => { setBooks(data); setLoading(false); }) .catch(() => setLoading(false)); }, [page]); const totalPage = Math.ceil(books.length / PAGE_SIZE); const start = (page - 1) * PAGE_SIZE; const currentBooks = books.slice(start, start + PAGE_SIZE); return ( <div className="App"> {loading && <p>Se încarcă...</p>} <ul> {currentBooks.map((book, index) => ( <li key={index}>{book.title} - {book.author}</li> ))} </ul> <div> <button disabled={page === 1} onClick={() => setPage(page - 1)}> Înapoi </button> <button disabled={page === totalPage} onClick={() => setPage(page + 1)}> Înainte </button> </div> </div> ); } Corectează erorile și implementează afișarea paginată a listei de cărți cu autori.
Cum se poate rezolva problema cu starea comună isOpen pentru mai multe noduri? Există o opțiune și mai elegantă?
Ce proiecte a fost nevoie să proiectați — de la zero sau blocuri arhitecturale mari?
Cum va funcționa replicarea bazei de date (master-slave)? Cum va direcționa load balancer-ul solicitările către diferite servere cu baze de date diferite?