Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Как работают шаблонные литеральные типы (template literal types) в TypeScript?
Шаблонные литеральные типы позволяют создавать новые строковые типы с использованием шаблонных строк. Это мощный инструмент для создания более точных и динамических строковых типов, например, для создания строго типизированных маршрутов или переменных.
Что такое attr_reader, attr_writer, attr_accessor и зачем они?
attr_reader создает геттер, attr_writer — сеттер, а attr_accessor — оба метода. Они позволяют упрощенно создавать методы для работы с переменными экземпляра.
В чем различие между .iter() и .into_iter() в Rust?
.iter() создает итератор, который заимствует элементы коллекции, не забирая их. .into_iter() забирает владение коллекцией и перемещает элементы из неё.
Опишите основные фазы STLC? Дайте определение Entry и Exit Criteria.
STLC (Software Testing Life Cycle) включает несколько этапов: планирование, анализ, проектирование, выполнение тестов, завершение. Каждый этап имеет свои критерии входа (Entry Criteria) и выхода (Exit Criteria), которые определяют, когда начинать и заканчивать этап.
Какие примитивы синхронизации вы знаете кроме lock (например, ReaderWriterLockSlim, Mutex)?
Основные примитивы:
Monitor (база для lock),
Mutex (межпроцессная блокировка),
Semaphore/SemaphoreSlim (ограничение параллельного доступа),
ReaderWriterLockSlim (оптимизация для частого чтения),
AutoResetEvent/ManualResetEvent (сигнализация между потоками),
Barrier (синхронизация этапов).
Что такое критерий приемки (acceptance criteria)?
Для чего применяется Criteria API?
В чем отличие удаления элементов через Iterator и через Stream?
Как правильно реализовать модель “one writer – many readers” в Go?
Что такое template literals и зачем они нужны?
Рейтинг:
5
Сложность:
4
Критерии приемки (Acceptance Criteria, AC) — это четкий список условий, которые должны быть выполнены, чтобы задача или пользовательская история считались завершенными и работающими правильно. Они служат «контрактом» между заказчиком (или владельцем продукта) и командой разработки. AC помогают избежать недопонимания, дают разработчикам ясную цель для реализации, а тестировщикам — четкий чек-лист для проверки. Обычно они формулируются в виде конкретных сценариев, которые можно объективно проверить.
Рейтинг:
4
Сложность:
6
Criteria API используется для построения динамических запросов к базе данных. Запросы собираются программно, а не строками. Это снижает риск ошибок в именах полей и упрощает рефакторинг. Criteria API особенно полезен, когда условия запроса заранее неизвестны. Однако код получается более многословным, чем JPQL.
Рейтинг:
4
Сложность:
6
Iterator позволяет удалять элементы из исходной коллекции.Stream не предназначен для модификации источника данных.
При работе со Stream обычно создаётся новая коллекция.
Удаление через Iterator происходит безопасно и пошагово.Stream ориентирован на преобразование данных, а не на их изменение.
Рейтинг:
4
Сложность:
6
Чаще всего используется sync.RWMutex, где записи блокируют всех, а чтения могут выполняться параллельно. В некоторых случаях лучше подходит модель через канал и single goroutine writer.
Рейтинг:
4
Сложность:
3
Template literals — это строки в обратных кавычках (`), которые поддерживают интерполяцию выражений и многострочный текст. Они позволяют вставлять переменные и выражения прямо в строку через ${}. Это делает код короче и читабельнее по сравнению с конкатенацией. Также они удобны для HTML-шаблонов и логирования.
Рейтинг:
4
Сложность:
7
Рейтинг:
3
Сложность:
5
Рейтинг:
3
Сложность:
5
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
5