Как работать с тестовыми стендами? окружения Dev, QA и Prod отличаются уровнем стабильности и правами доступа Dev предназначен для локальной разработки и быстрых изменений, поэтому часто бывает нестабильным QA…
библиотеки для рисования — API, предназначенные для создания графики с помощью canvas, SVG и WebGL изучить базовые объекты и методы, включая рисование фигур, работу с цветами и трансформациями разобраться с…
В основе лежит архитектурный принцип Separation of Concerns UI занимается отображением информации и взаимодействием с пользователем логический слой отвечает за реализацию бизнес-правил и обработку данных логику…
Область: отказоустойчивость, устойчивость системы и интеграция email Организовать циклические попытки с заранее установленным максимальным числом повторов Использовать экспоненциальный бэкофф, постепенно увеличивая…
безопасность: дополнительный уровень проверки личности пользователя 1-й фактор: обычный пароль — то, что пользователь знает 2-й фактор: предмет или устройство во владении пользователя — телефон, токен варианты второго…
Как правильно реализовать обработку исключений? область: обработка ошибок, программирование исключение — событие, из-за которого нарушается штатное выполнение программы try-catch используется для перехвата ошибок…
Паттерн, обеспечивающий наличие только одного экземпляра класса Для хранения объекта применяется статическая переменная Закрытый или приватный конструктор не позволяет создавать объект напрямую Метод доступа…
Как правильно сделать класс иммутабельным? не использовать сеттеры и методы, изменяющие состояние объявить все поля как final или константы выполнять инициализацию полей только в конструкторе клонировать ссылки на…
Как сопоставлять доменные ошибки с HTTP-кодами? Доменная ошибка описывает бизнес-логику, а HTTP-код относится к протоколу 400 (Bad Request): ошибки валидации и некорректные входные параметры 404 (Not Found):…
Как спроектировать сетевой запрос в Android? Работа с сетью в Android Выполнять запрос в асинхронном режиме с использованием Coroutines, RxJava или Callbacks Для выполнения HTTP-запросов используются библиотеки…
Как проверять асинхронный код? Ожидать завершения асинхронных операций с помощью await, callbacks или promises. Изолировать сетевые обращения, применяя моки и стабы. Проверять последовательные состояния: запуск,…