Sobes.tech

System Analyst

Расскажите, как взаимодействовали сервисы между вашими проектами.

184

Практическая задача: Единая платформа уведомлений (Notification Platform) Контекст В компании существует 3 разрозненные системы, которые отправляют уведомления пользователям: 1. CRM — отправляет e-mail и push-уведомления о заказах. 2. Support Portal — отправляет сообщения о тикетах в Telegram-бот. 3. Security System — генерирует SMS-оповещения о подозрительных входах. Каждая система реализует логику по-своему: * собственные шаблоны, хардкод адресатов; * нет централизованной истории уведомлений; * пользователи жалуются на дубли и задержки; * нет единого SLA, метрик и центра управления. Цель Спроектировать новую Notification Platform, которая: * агрегирует события из разных источников (CRM, Support, Security), * маршрутизирует их по типу и каналу (email, SMS, Telegram, push), * обеспечивает единообразие шаблонов, логирование и наблюдаемость, * поддерживает SLA (p95 ≤ 3 сек на доставку), * допускает масштабирование и расширение каналов в будущем. Задача для кандидата 1. Определите функциональные требования системы. 2. Опишите нефункциональные требования (надёжность, производительность, обработка ошибок). 3. Составьте контекстную диаграмму (C4 Level 2). 4. Добавить схему sequence-диаграмму. Например отправка сообщения из CRM.

184

Зачем использовать gRPC, если есть REST? В чём его суть?

184

Насколько подробно задачи приходили описанными?

Middle+
184

Как вы собираете бизнес-требования?

184

Логическая задача про арбуз: арбуз весит 10 кг и на 99% состоит из жидкости, после усыхания жидкости стало 98%. Сколько теперь весит арбуз?

184

Где обычно прописывают версию API?

Middle
184

Как была реализована интеграция между системами? Опишите технические детали

Middle
184

Разве предложенные схемы соответствуют нотации BPMN?

Middle+
184

Спроектируйте ER-диаграмму для онлайн книжного магазина. Учтите, что книга может содержать несколько произведений разных авторов, произведение может быть в разных книгах, нужна возможность поиска по ключевым словам.

Middle
184

Что такое идемпотентность? Какие HTTP-методы идемпотентны?

Middle
184

Вы работали на проектах, которые используются внутри компании, то есть это внутренние проекты?

184

Какие были синхронные и асинхронные интеграции? В каких случаях какие применяются? В чем опасность синхронного взаимодействия?

184

Какие вопросы ты задашь заказчику за 1-1,5 часа перед его уходом в отпуск на 3 недели, если есть срочная фича?

Middle
184

Какие виды архитектуры ПО ты знаешь?

Middle+
184

Правильно понимаю, что ты был фуллстеком в анализе — то есть не было разделения на системного и бизнес-аналитика, или было?

Senior
184

CREATE OR ALTER PROCEDURE dif.get_request_to_cancel_not_confirmed_delivery AS BEGIN SET NOCOUNT ON; declare @delivery_id bigint , @request_queue_id bigint , @request_id bigint , @contents varchar(max) select top 1 @delivery_id = od.delivery_id , @request_queue_id = null , @request_id = odr.request_id , @contents = cn.contents from opsapi.request rq join ops.contents cn on cn.contents_uid = rq.contents_uid join dif.ops_delivery_request odr on odr.request_id = rq.request_id join dif.ops_delivery od on od.delivery_id = odr.delivery_id where 1 = 1 and rq.state_code = 200 and rq.scheme_name = 'исх:опс.лк.отмена.слота.ффд' and od.state_code = 257 order by rq.request_id update opsapi.request set state_code = 202 , state_name = opsapi.get_state_name(202) , state_note = null , state_datetime = getdate() , updated_at = getdate() where request_id = @request_id select @request_queue_id request_queue_id, @request_id request_id, @contents contents END GO

184

С какими интеграциями у вас был опыт?

184
/138