BA & SA | 10000 Interview questions
10.2K subscribers
175 photos
14 videos
346 links
Вопросы и задачи, которые задают на собеседованиях на позицию Бизнес и Системного аналитика. По вопросам сотрудничества- @DeliveryManager7
Download Telegram
👩‍🏫Объяснение:
gRPC использует бинарный формат Protocol Buffers (protobuf) и HTTP/2, а не текстовый JSON/XML поверх HTTP/1.1
📚 Объяснение: Это основное технологическое отличие, определяющее выбор протокола.
* REST (Representational State Transfer): Чаще использует текстовые форматы (JSON/XML) и стандарт HTTP/1.1, что человекочитаемо, но может быть менее эффективно по размеру и скорости.
* gRPC (Google Remote Procedure Call): Использует бинарный формат protobuf, который компактнее и быстрее сериализуется/десериализуется, а также транспортный протокол HTTP/2, поддерживающий мультиплексирование запросов и уменьшающий задержки.
gRPC отлично поддерживает аутентификацию, оба типа взаимодействия (синхронное и асинхронное) и, что важно, потоковую передачу данных.
№4600 категория вопросов: #INTEGRATION
👩‍🏫Объяснение:
Хотя Shared Database кажется простым решением (вариант C верен как факт, но это преимущество, а не недостаток), он приводит к серьезным архитектурным проблемам:
* Связанность (Coupling): Все системы жестко зависят от одной схемы данных. Изменение таблицы или колонки может сломать несколько систем одновременно.
* Нарушение инкапсуляции: Каждая система имеет прямой доступ к внутренним данным других, что противоречит принципам модульного дизайна.
* Сложность поддержки: Трудно определить, какая система и когда изменила данные, что приводит к сложностям в отладке и обеспечении целостности.
Поэтому данный паттерн считается антипаттерном для интеграции сервисов в современных распределенных системах.
№4601 категория вопросов: #INTEGRATION
👩‍🏫Объяснение:
Паттерн Адаптер (Adapter) является одним из ключевых интеграционных паттернов. Он действует как «переходник» или «прослойка» между двумя системами, которые несовместимы на уровне своих API, форматов данных или протоколов.
* Пример: Старая система отправляет данные в фиксированном текстовом формате по FTP, а новая система ожидает JSON через REST API. Адаптер будет слушать FTP, парсить текстовый формат, преобразовывать его в JSON и вызывать REST-эндпоинт новой системы.
Его задача — обеспечить совместимость без изменения кода самих интегрируемых систем. Остальные варианты — задачи других инструментов или паттернов.
№4602 категория вопросов: #INTEGRATION
👩‍🏫Объяснение:
В контексте интеграции множество сервисов должны работать вместе. Практики CI/CD критически важны для:
* Continuous Integration: Автоматическая сборка и прогон интеграционных тестов при каждом изменении кода. Это быстро выявляет поломки взаимодействия между сервисами.
* Continuous Delivery/Deployment: Автоматическое и предсказуемое развертывание протестированных изменений в различные среды (тестовые, продуктивные). Это минимизирует риски при обновлении отдельных компонентов сложной интегрированной системы.
Таким образом, CI/CD создает безопасный «конвейер» для эволюции интеграций, а не заменяет необходимость тестирования (варианты A и D неверны) и уходит от чисто ручных процессов (вариант B).
№4603 категория вопросов: #INTEGRATION
👩‍🏫Объяснение:
SOAP — это протокол с жесткой спецификацией, что в некоторых корпоративных и финансовых контекстах является преимуществом, а не недостатком.
* WSDL — машинно-читаемый контракт, по которому можно автоматически генерировать клиентский код.
* *WS-* стандарты* предоставляют готовые, стандартизированные решения для сложных требований безопасности, транзакций, надежной доставки.
REST (как архитектурный стиль) более гибкий и легковесный, лучше подходит для публичных API и веб-сервисов (вариант A). Кэширование (вариант D) — это сильная сторона REST. Вариант C описывает типичный сценарий для REST.
№4604 категория вопросов: #INTEGRATION
👩‍🏫Объяснение:
Идемпотентность — критически важное свойство для надежных интеграций, особенно в распределенных системах, где возможны повторные отправки запросов из-за сетевых сбоев или таймаутов.
* Пример: Операция PUT /orders/{id}/status с телом {"status": "CANCELLED"} должна быть идемпотентной. Сколько бы раз клиент ни отправил этот запрос (с одним и тем же id и телом), заказ должен оказаться в состоянии CANCELLED, а не переходить в какое-либо другое состояние или вызывать ошибку после первого применения.
Это позволяет безопасно повторять запросы, не опасаясь побочных эффектов (например, списания денег дважды). HTTP-методы GET, PUT, DELETE по спецификации должны быть идемпотентными, в отличие от POST.
№4605 категория вопросов: #INTEGRATION
👩‍🏫Объяснение:
Graceful Degradation — это дизайн-принцип, направленный на обеспечение отказоустойчивости. Система спроектирована так, чтобы при сбое одной из её зависимостей (например, внешнего API прогноза погоды или рекомендательного сервиса) основные функции (например, оформление заказа в интернет-магазине) продолжали работать, а дополнительный функционал (показать прогноз погоды для доставки) временно отключался или показывался в упрощенном виде (например, из старого кэша).
Это противоположность подходу «единая точка отказа», когда крах одной зависимости обрушивает всю систему (вариант A). Варианты C и D описывают другие аспекты отказоустойчивости и DR (Disaster Recovery).
🤔1
№4606 категория вопросов: #INTEGRATION