Специализация
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 в телеграм
Что такое Progressive Enhancement и Graceful Degradation? Как HTML может поддерживать оба подхода?
Progressive Enhancement и Graceful Degradation — это два подхода к веб-разработке, направленные на создание адаптивных и доступных веб-приложений.
Progressive Enhancement: Старт с базовой версии и добавление улучшений для современных браузеров.
Graceful Degradation: Старт с полной версии и адаптация для старых браузеров.
Как в Go реализовать graceful shutdown для сервиса, у которого есть HTTP-сервер и фоновые воркеры?
Используют context и системные сигналы (os.Signal). При SIGTERM вызывается server.Shutdown(ctx), а воркерам передаётся отменённый контекст, чтобы завершить работу.
Что такое race condition и как его ловить в Go?
Race condition возникает, когда несколько горутин одновременно читают и пишут в одну переменную. Ловится с помощью go run -race, решается через мьютексы, атомики или каналы.
Как реализовать graceful shutdown (defer, контекст, обработка ошибок в группах горутин)?
Для graceful shutdown используют:
context.Context для отмены операций.
sync.WaitGroup для ожидания завершения горутин.
Обработку сигналов ОС (os.Interrupt).
В чем разница между Data Race и Race Condition?
Data Race — это конкретная низкоуровневая проблема несинхронизированного доступа к памяти на уровне процессора и кэшей. Race Condition — это более широкая высокоуровневая логическая ошибка, при которой результат работы программы зависит от непредсказуемого порядка выполнения потоков. Data Race является одной из возможных причин возникновения Race Condition, но они не тождественны.
Что такое Race Condition? Приведи пример.
Что такое Data Race? Приведи пример
Что такое Traceability Matrix?
В чём разница между race condition и data race?
Как вы работаете с матрицей трассируемости требований (traceability matrix)?
Рейтинг:
2
Сложность:
7
Race Condition (состояние гонки) — это ошибка проектирования, при которой корректность работы программы зависит от относительной временной последовательности или порядка выполнения действий несколькими потоками. В отличие от Data Race, это более высокоуровневая логическая ошибка, которая может возникать даже при правильной синхронизации доступа к данным.
Рейтинг:
2
Сложность:
7
Data Race (гонка данных) возникает, когда два или более потока обращаются к одной и той же области памяти без надлежащей синхронизации, и хотя бы один из этих потоков выполняет запись. Результат выполнения программы становится непредсказуемым и зависит от случайного порядка выполнения потоков. Это низкоуровневая ошибка параллелизма.
Рейтинг:
2
Сложность:
6
Traceability Matrix — это таблица, показывающая, какие тесты покрывают каждое требование. Она помогает убедиться, что все функциональные и нефункциональные требования проверены, и ни один из них не пропущен.
Рейтинг:
2
Сложность:
7
Race condition — это общая проблема, когда поведение программы зависит от порядка выполнения потоков. Data race — это конкретный тип race condition, когда несколько потоков одновременно обращаются к одной памяти, и хотя бы один из доступов является записью.
Рейтинг:
3
Сложность:
5
Матрица трассируемости — это таблица, которая связывает требования друг с другом и с другими артефактами проекта. Я работаю с ней, чтобы убедиться, что каждое бизнес-требование детализировано в функциональных требованиях, каждое функциональное требование покрыто тест-кейсами, а каждое изменение в коде (коммит) или задача в трекере могут быть отслежены до исходного требования. Это помогает ничего не упустить, оценивать влияние изменений и отчитываться о покрытии.
Рейтинг:
2
Сложность:
5
Рейтинг:
4
Сложность:
7
Рейтинг:
5
Сложность:
5
Рейтинг:
1
Сложность:
8
Рейтинг:
2
Сложность:
7