Специализация
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 в телеграм
Опишите паттерн "состояния типа" (type state pattern) в Rust
Паттерн состояния типа использует структуры для представления состояний и функции для перехода между ними. Это предотвращает ошибки, такие как некорректные переходы или доступ к недействительным состояниям.
Опишите паттерн "новый тип" (new type pattern) в Rust
Паттерн "новый тип" заключается в оборачивании существующего типа в новый, чтобы добавить поведение, ограничить доступ или изменить контекст его использования.
Что такое Outbox Pattern? Как он помогает обеспечить надежную доставку?
Outbox Pattern — это шаблон, при котором сообщения сохраняются в БД вместе с основными изменениями, а затем считываются и отправляются в брокер асинхронно. Это гарантирует, что данные и события не расходятся при сбоях.
Что такое "лингвистические паттерны" (naming patterns, code smells)?
Лингвистические паттерны — это соглашения по именованию сущностей в коде, которые улучшают читаемость (например, CamelCase для классов). Code smells — это симптомы в коде, которые указывают на потенциальные проблемы дизайна (например, длинные методы или дублирование кода).
Что такое pattern outbox?
Pattern Outbox — это подход для надежной отправки сообщений в распределенных системах. Сообщения сначала сохраняются в специальную таблицу "outbox" в той же транзакции, что и бизнес-данные. Затем отдельный процесс читает из outbox и отправляет сообщения в message broker, гарантируя exactly-once доставку.
Как можно избежать использования exceptions? Какой альтернативный подход применить? (подсказка: Result Pattern)
К какому из этих паттернов (оркестрация или хореография) чаще всего относится Saga Pattern?
Рейтинг:
4
Сложность:
6
Основная альтернатива — это Result Pattern (паттерн результата). Вместо выброса исключения метод возвращает специальный объект Result, который явно содержит информацию об успехе или неудаче операции. Этот объект можно проверить, и в случае ошибки обработать её, не тратя ресурсы на генерацию исключения. Это делает поток выполнения очевидным и эффективным.
Рейтинг:
4
Сложность:
7
Saga Pattern чаще всего относится к хореографии. В этом подходе нет центрального управляющего компонента. Каждый сервис в цепочке самостоятельно слушает события от других сервисов и решает, какое действие выполнить следующим. Это похоже на танец, где каждый участник знает свои шаги, следя за другими. Такой способ обеспечивает слабую связанность, но может быть сложнее для отслеживания общего состояния процесса.
Рейтинг:
3
Сложность:
6
Рейтинг:
3
Сложность:
7
Рейтинг:
1
Сложность:
7
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
8