Frontend
Какво е операторът 'as' в TypeScript и какви са неговите предимства и недостатъци?
Разкажи ми за критичните етапи на рендериране на браузъра
Работили ли сте с архитектурни подходи като FSD (Feature-Sliced Design)?
Как решаваш проблема с оптимизацията на зареждането на изображения за различни резолюции на екрана?
Задача за конкатенация на низове в JavaScript: какво ще се покаже на екрана и защо? (пример с оператора + и низове/числа)
Как да оптимизираме повторните рендери в React? Разкажете за React.memo, useCallback, useMemo.
Как може да се реши задачата withTimeout алтернативно чрез Promise.race? Какво е Promise.race, как се различава от Promise.all?
Какви атрибути има тагът form?
Защо мислиш да напуснеш текущата си работа?
В кой град си? Готов ли си да се преместиш? Какво мислиш за Hybrid?
Какви са XSS атаките?
Знания за бази данни и работа с API
Разкажи за опита си с Node.js, като използваш като пример някой проект, по който си работил, какво точно си разработвал в него.
Защо въведоха Composition API във Vue 3? Какви са предимствата пред Options API?
Трябваше ли да настроите ESLint и Prettier така, че да не си противоречат?
Разкажи за Promise: статуси, статични методи (all, allSettled, any, race).
Вземете данни за книги и техните автори. Показвайте данните в страницирана списък по 10 книги на страница в формат: <заглавие на книгата> - <автор> api: [линк] спецификация: [линк] ако swagger не се отваря, в корена 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('[линк]') .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>Зареждане...</p>} <ul> {currentBooks.map((book, index) => ( <li key={index}>{book.title} - {book.author}</li> ))} </ul> <div> <button disabled={page === 1} onClick={() => setPage(page - 1)}> Назад </button> <button disabled={page === totalPage} onClick={() => setPage(page + 1)}> Напред </button> </div> </div> ); } Коригирайте грешките и реализирайте страницирано показване на списък с книги с автори.
Как да решим проблема с общото състояние isOpen за няколко възела? Има ли още по-красив вариант?
Какви проекти трябваше да проектирате — от нулата или големи архитектурни блокове?
Как ще работи репликацията на базата данни (master-slave)? Как ще насочва load balancer-ът заявките към различни сървъри с различни бази данни?