Специализация
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 в телеграм
Почему Хук useMemo в React не используется для замены shouldComponentUpdate?
Хук useMemo используется для оптимизации производительности, запоминая результат вычисления и избегая его повторного выполнения при неизменных зависимостях. Однако он не предназначен для управления рендерингом компонентов, как это делает shouldComponentUpdate, который отвечает за решение о необходимости обновления компонента.
В чем разница между FixedUpdate и Update в Unity, и когда использовать каждую из функций?
FixedUpdate используется для физики и выполняется через фиксированные интервалы времени, независимо от кадровой частоты. Update вызывается каждый кадр и используется для обновлений, не связанных с физикой, таких как обработка ввода или обновление поведения AI.
Что быстрее — CREATE или UPDATE? Почему?
По умолчанию CREATE (вставка новой записи) быстрее, чем UPDATE, так как UPDATE требует поиска существующей строки, блокировки, чтения старых данных и записи изменений, а затем возможного перемещения из‑за изменений размера. INSERT просто добавляет в конец таблицы и обновляет индексы.
Что такое SELECT FOR UPDATE и как он помогает в решении проблем параллельного доступа?
SELECT FOR UPDATE блокирует выбранные строки от изменений другими транзакциями. Это полезно при реализации очередей задач или других сценариев, где важно гарантировать эксклюзивную работу с данными.
Как на самом деле выполняется оператор UPDATE в PostgreSQL?
Оператор UPDATE в PostgreSQL на самом деле не изменяет существующие строки, а создает новые версии строк (tuple) и помечает старые как удаленные. Это реализация механизма Multi-Version Concurrency Control (MVCC). Старая версия строки сохраняется до тех пор, пока не будет удалена процессом vacuum. Каждая новая версия получает новый xmin (идентификатор транзакции создания). Такой подход позволяет обеспечить изоляцию транзакций и возможность чтения неподтвержденных данных.
Почему плохо привязывать бизнес-логику к Update-циклу Unity?
Каков порядок вызовов в жизненном цикле MonoBehaviour и что происходит при долгом Update?
Как индексы влияют на INSERT и UPDATE?
Что такое lost update и при каких условиях он возникает?
Какие издержки индексов при INSERT и UPDATE?
Рейтинг:
5
Сложность:
5
Привязка бизнес-логики к Update делает её зависимой от частоты кадров (FPS). На медленных устройствах игра будет работать медленнее, а на быстрых — слишком быстро, что ломает баланс. Такой код сложно тестировать и отлаживать, так как его поведение нестабильно и недетерминировано.
Рейтинг:
5
Сложность:
5
Unity вызывает методы MonoBehaviour в строго определённом порядке: Awake → OnEnable → Start → Update → LateUpdate → OnDisable → OnDestroy. Если Update выполняется слишком долго, кадр растягивается, FPS падает, physics может десинхронизироваться, а входные события начнут запаздывать. Долгий Update блокирует весь главный поток, поэтому важно оптимизировать логику и избегать тяжёлых операций в каждом кадре.
Рейтинг:
4
Сложность:
6
Индексы ускоряют чтение, но замедляют операции записи.
При INSERT и UPDATE индекс нужно обновлять.
Чем больше индексов у таблицы, тем выше накладные расходы.
Это влияет на производительность записи.
Индексы должны добавляться осознанно.
Рейтинг:
4
Сложность:
6
Lost update — это ситуация, когда одна транзакция перезаписывает изменения другой, не учитывая их. Это происходит, когда несколько транзакций читают одно значение и затем записывают новое. Если нет механизма блокировок или версионирования, одно обновление теряется. Такая проблема возникает при низких уровнях изоляции.
Рейтинг:
5
Сложность:
6
Индексы ускоряют чтение, но замедляют записи. При INSERT и UPDATE база должна обновлять не только таблицу, но и все связанные индексы. Чем больше индексов — тем выше накладные расходы. Это особенно заметно при массовых операциях записи.
Рейтинг:
5
Сложность:
7
Рейтинг:
5
Сложность:
1
Рейтинг:
2
Сложность:
6
Рейтинг:
1
Сложность:
8
Рейтинг:
3
Сложность:
8