Специализация
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 в телеграм
Объясните разницу между последовательным и параллельным выполнением асинхронных функций. Как работают Promise.all() и Promise.allSettled()?
Последовательное выполнение асинхронных функций означает, что каждая следующая функция начинается только после завершения предыдущей, тогда как параллельное выполнение позволяет нескольким функциям выполняться одновременно.
Метод Promise.all() запускает несколько промисов параллельно и возвращает результат, когда все они успешно завершатся, а Promise.allSettled() возвращает результат независимо от того, завершился ли каждый промис успехом или ошибкой.
Что такое TTL?
TTL (Time To Live) — это время, в течение которого данные считаются актуальными в кэше или маршрутизаторе. После истечения TTL данные обновляются или удаляются.
Как работает Redis и зачем использовать TTL?
Redis хранит данные в памяти, поддерживает структуры (строки, списки, хэши, множества). TTL используется для автоматического удаления ключей и управления кешем
Как выбирали TTL (Time To Live) для кэшируемых данных?
TTL (Time To Live) выбирается исходя из того, насколько критична актуальность данных. Для редко меняющихся данных (например, списка стран) можно установить большой TTL (часы или дни). Для часто меняющихся данных (курс акций, остатки на складе) TTL должен быть коротким (секунды, минуты). Цель — найти компромисс, чтобы кэш оставался полезным, но данные не были слишком устаревшими.
Как использовать диаграммы для анализа bottlenecks?
Диаграммы используются для анализа "узких мест" (bottlenecks) путем визуального выявления шагов, которые вызывают задержки. На BPMN это могут быть задачи с длительным временем выполнения, шлюзы, где скапливаются элементы, или участки с отсутствием параллелизма. На UML Sequence Diagram bottlenecks видны как длинные цепочки синхронных вызовов или участки с большим количеством сообщений между системами, что указывает на потенциальные проблемы с производительностью.
Что такое TTL и как он влияет на кэш
Чем debounce отличается от throttle?
Что такое throttle?
Как определить узкое место (bottleneck) в системе?
Рейтинг:
5
Сложность:
6
TTL — это время жизни данных в кэше. После его истечения данные автоматически удаляются. TTL помогает избегать устаревшей информации. Он также ограничивает рост памяти. Правильно выбранный TTL делает кэш предсказуемым и безопасным.
Рейтинг:
5
Сложность:
6
debounce выполняет функцию только после паузы в событиях, а throttle — не чаще одного раза за заданный интервал времени. Debounce подходит, когда важен финальный результат, а throttle — когда важна регулярность выполнения. Эти подходы решают похожие задачи, но применяются в разных сценариях. Выбор зависит от поведения, которое ожидается от интерфейса.
Рейтинг:
5
Сложность:
5
Throttle — это приём, который ограничивает частоту вызова функции. Функция выполняется не чаще заданного интервала времени. Все вызовы между интервалами игнорируются или объединяются. Это часто используется для оптимизации производительности.
Рейтинг:
5
Сложность:
6
Узкое место ищут через метрики, логи и трассировку. Сначала смотрят на общие показатели: latency, throughput, error rate. Затем проверяют загрузку CPU, память, диск и сеть. Важно изолировать компонент, где время ответа растёт быстрее всего. Без измерений определить bottleneck невозможно.
Рейтинг:
3
Сложность:
7
Рейтинг:
2
Сложность:
5
Рейтинг:
3
Сложность:
7
Рейтинг:
2
Сложность:
7
Рейтинг:
1
Сложность:
6