✍️Решение задачки на middle+/senior позицию системного аналитика, которую дают в бигтехах, а особенно в Сбере, ВТБ и Тинькофф
🤓Алгоритм решения подобных задач следующий:
1️⃣ Обязательно задаем уточняющие вопросы, так сказать мини сбор требований.
2️⃣ Выделяем необходимые сервисы. Можно пользоваться этим паттерном
3️⃣ Проектируем сетевое взаимодействие и последовательность вызовов.
В чем же подвох? Что хочет услышать от вас собеседующий?
Необходимо использовать потоковую передачу данных для процесса поиска водителя и мониторинга статуса поездки, сеньоры помидоры должны понимать, как работает потоковая передача данных
Решение:
1️⃣ С помощью вопросов узнаем, что необходимо указать адреса отправки и назначения, заказать такси, произвести оплату, получать уведомления при изменении статусов поездки в реальном времени
2️⃣ Далее декомпозируем по микросервисам. У меня получилось:
Обязательно стоит указать, какой паттерн взаимодействия сервисов вы планируете использовать: хореографию или оркестрацию
3️⃣ Тут все стандартно, классическое взаимодействие сервисов по REST, за исключение взаимодействия между сервисом создания заказов и сервисом поиска водителей. Тут у нас отлично подходит потоковое соединение по вебсокету
Обычно того объема проектирования, который я указал на скрине хватает для собеса
Кстати, много таких задач с собесов разбираю на своем обучении
#разборы_собесов_и_задач@analyst_academy
Задача: спроектируй сервис для заказа такси, оформи в виде диаграммы последовательности
🤓Алгоритм решения подобных задач следующий:
1️⃣ Обязательно задаем уточняющие вопросы, так сказать мини сбор требований.
2️⃣ Выделяем необходимые сервисы. Можно пользоваться этим паттерном
3️⃣ Проектируем сетевое взаимодействие и последовательность вызовов.
В чем же подвох? Что хочет услышать от вас собеседующий?
Необходимо использовать потоковую передачу данных для процесса поиска водителя и мониторинга статуса поездки, сеньоры помидоры должны понимать, как работает потоковая передача данных
Решение:
1️⃣ С помощью вопросов узнаем, что необходимо указать адреса отправки и назначения, заказать такси, произвести оплату, получать уведомления при изменении статусов поездки в реальном времени
2️⃣ Далее декомпозируем по микросервисам. У меня получилось:
сервис подсказок адресов
сервис создания заказов
сервис оплаты
сервис уведомлений
сервис поиска водителей и мониторинга статуса поездки
Обязательно стоит указать, какой паттерн взаимодействия сервисов вы планируете использовать: хореографию или оркестрацию
3️⃣ Тут все стандартно, классическое взаимодействие сервисов по REST, за исключение взаимодействия между сервисом создания заказов и сервисом поиска водителей. Тут у нас отлично подходит потоковое соединение по вебсокету
Обычно того объема проектирования, который я указал на скрине хватает для собеса
Кстати, много таких задач с собесов разбираю на своем обучении
#разборы_собесов_и_задач@analyst_academy