Специализация
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 в телеграм
Что такое Distributive Conditional Types в TypeScript?
Distributive Conditional Types — это условные типы, которые автоматически распределяются по элементам union-типа. Это мощный механизм для трансформации типов в более гибкие и детализированные конструкции.
Что такое race condition и как его ловить в Go?
Race condition возникает, когда несколько горутин одновременно читают и пишут в одну переменную. Ловится с помощью go run -race, решается через мьютексы, атомики или каналы.
В чём разница между race condition и data race?
Race condition — это общая проблема, когда поведение программы зависит от порядка выполнения потоков. Data race — это конкретный тип race condition, когда несколько потоков одновременно обращаются к одной памяти, и хотя бы один из доступов является записью.
Что такое Race Condition? Приведи пример.
Race Condition (состояние гонки) — это ошибка проектирования, при которой корректность работы программы зависит от относительной временной последовательности или порядка выполнения действий несколькими потоками. В отличие от Data Race, это более высокоуровневая логическая ошибка, которая может возникать даже при правильной синхронизации доступа к данным.
В чем разница между Data Race и Race Condition?
Data Race — это конкретная низкоуровневая проблема несинхронизированного доступа к памяти на уровне процессора и кэшей. Race Condition — это более широкая высокоуровневая логическая ошибка, при которой результат работы программы зависит от непредсказуемого порядка выполнения потоков. Data Race является одной из возможных причин возникновения Race Condition, но они не тождественны.
Где могут быть полезны Conditional Types?
Какие проблемы решает борьба с race conditions, и какими средствами это достигается?
Какие баги могут возникать из-за race conditions и как их отлаживать?
Что делает @ConditionalOnMissingBean?
Что такое race condition при запросах?
Рейтинг:
4
Сложность:
8
Conditional Types (условные типы) в TypeScript позволяют определять типы, которые выбираются на основе условия, проверяющего другие типы. Они чрезвычайно полезны для создания общих (generic) утилит, которые динамически адаптируются к переданным им типам. Классические примеры — это типы Exclude<T, U>, Extract<T, U>, NonNullable<T>, а также для определения типов возвращаемого значения функций или типов свойств в глубоко вложенных структурах.
Рейтинг:
4
Сложность:
6
Race condition — это ситуация, когда результат работы программы зависит от порядка выполнения потоков или операций, и этот порядок не контролируется. Из-за этого возможны редкие и трудно воспроизводимые баги: потеря данных, некорректные значения, несогласованные состояния. Борьба с race conditions включает использование примитивов синхронизации (lock, mutex, semaphore, event), иммутабельных структур данных и очередей сообщений. Также помогают архитектурные подходы: разделение данных на независимые области, отказ от shared state, использование транзакций в базе данных. Цель — сделать так, чтобы параллельный доступ к данным был предсказуемым и безопасным.
Рейтинг:
4
Сложность:
9
Race condition возникает, когда несколько потоков одновременно работают с одними данными. Итог зависит от порядка выполнения кода. Такие баги сложно воспроизводить. Они могут приводить к крашам и некорректному состоянию игры. Для отладки используются логи и синхронизация.
Рейтинг:
4
Сложность:
6
@ConditionalOnMissingBean указывает Spring создавать бин только если в контексте ещё нет бина нужного типа. Аннотация активно используется в автоконфигурациях Spring Boot. Она позволяет переопределять стандартные бины своими реализациями. Это делает конфигурацию гибкой и расширяемой без изменения фреймворка.
Рейтинг:
4
Сложность:
7
Race condition — это ситуация, когда несколько запросов выполняются параллельно, и результат более медленного запроса перезаписывает результат более быстрого. В итоге состояние приложения может оказаться некорректным. Это часто происходит при быстрых изменениях параметров запроса. Проблема связана не со скоростью сети, а с порядком завершения запросов.
Рейтинг:
4
Сложность:
8
Рейтинг:
5
Сложность:
5
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
7