Архитектурные подходы для backend-систем Монолит: всё приложение представляет собой единый модуль; его проще разрабатывать, но сложнее масштабировать Микросервисы: автономные сервисы взаимодействуют через API, могут…
Основные виды архитектур приложений и их концепции Монолитная архитектура: все части системы объединены в одном приложении; начать разработку проще, однако масштабирование со временем усложняется Клиент-серверная…
Инструменты и методы профилирования производительности Инструменты: профилировщики CPU (perf, VTune, Chrome DevTools), профилировщики памяти (Valgrind, Heap Profiler), APM-системы (New Relic, Datadog) Методы: сэмплинг…
Какие инструменты обычно применяют для прототипирования пользовательских интерфейсов? проектирование и создание прототипов UI/UX Figma — облачный векторный редактор для совместной работы Adobe XD — анимации и…
проектирование API входит в задачи API-дизайна и разработки Swagger/OpenAPI — описание интерфейсов и автоматическая генерация документации Postman — прототипирование API-запросов и их тестирование Apiary — подготовка…
использовал архитектуру микросервисов для разделения бизнес-функций на модули выделял сервисы аутентификации, управления заказами, оплаты и уведомлений для синхронных запросов применял REST API или gRPC для гибкой и…
область: распределённые системы, messaging основные модели: At-most-once, At-least-once, Exactly-once At-most-once: сообщение доставляется 0 или 1 раз; возможна потеря, но дубликаты не возникают At-least-once:…
Нефункциональные требования при проектировании приложения качество системы: быстродействие и устойчивость к сбоям безопасность: аутентификация, авторизация и защита данных масштабируемость: работа при увеличении…
SOLID — это пять принципов ООП, которые помогают улучшать архитектуру и дизайн программного кода S (Single Responsibility): у класса должна быть только одна причина для изменения O (Open/Closed): программный компонент…
Основные принципы работы с базой данных целостность данных: соблюдение ACID (атомарность, согласованность, изоляция, долговечность) нормализация: сокращение избыточности и предотвращение аномалий безопасность:…
Какими свойствами должен обладать хороший микросервис? возможность независимо разрабатывать и развёртывать сервис ясно очерченный бизнес-контекст (bounded context) небольшой и хорошо определённый API на базе…
Концептуальное различие ER-диаграммы и диаграммы классов ER-диаграмма представляет модель данных для базы данных Диаграмма классов описывает структуру ООП/проектирования ПО ER-модель показывает сущности, их атрибуты и…