Разбор задачи уровня middle+/senior с собеса в Тинькофф 🏦
Задача 🎯
Алгоритм решения задач на проектирование сервисов я уже оставлял в решении подобной задачи
Сейчас разберем интересные нюансы данной задачи 👇
☝️Главная фишка данной задачи - использовать сервис-оркестратор для управления процессом создания карты
У нас есть варианта решения:
1️⃣ Если вас нашли не в дровах, то можете сразу предлагать вот такое решение (см. скрин 1)
В чем сложность? Тут мы используем парочку сеньорских приемов, которые покажут, что вы не первый день проектируете системы:
Работа с кэшом CRM системы:
Асинхронное взаимодействие через топики кафки:
2️⃣ Если вы пока что начинающий специалист, то можем сделать попроще, ведь за каждое слово надо уметь пояснить: (см. скрин 2)
Убираем кэш и кафку
Раз мы убрали кафку, то нам все равно надо как-то получить результат скоринга
Не бойтесь, если вас прервут из-за тщательного решения, чаще всего это хороший признак 😉
Отправь тому самому другу, который хочет в финтех🤩
#разборы_собесов_и_задач@analyst_academy
Задача 🎯
Спроектируйте взаимодействие сервисов для процесса создания дебетовой карты
Алгоритм решения задач на проектирование сервисов я уже оставлял в решении подобной задачи
Сейчас разберем интересные нюансы данной задачи 👇
☝️Главная фишка данной задачи - использовать сервис-оркестратор для управления процессом создания карты
У нас есть варианта решения:
1️⃣ Если вас нашли не в дровах, то можете сразу предлагать вот такое решение (см. скрин 1)
В чем сложность? Тут мы используем парочку сеньорских приемов, которые покажут, что вы не первый день проектируете системы:
Работа с кэшом CRM системы:
Для взаимодействия с CRM системой используем кэш. Делаем запрос в сервис, если есть актуальный кэш, то используем его. Если нет актуального кэша, то CRM ходит в БД, после чего мы обновляем кэш и возвращаем оркестратору инфу о клиенте
Асинхронное взаимодействие через топики кафки:
Для взаимодействия со скоринг системами (как известно, скоринг продолжается какое-то время) мы можем использовать два топика кафки:
Один для сообщений, инициирующие запросы
Второй для сообщений с результатами скоринга
2️⃣ Если вы пока что начинающий специалист, то можем сделать попроще, ведь за каждое слово надо уметь пояснить: (см. скрин 2)
Убираем кэш и кафку
Уберем кэш и кафку, чтобы упростить проектирование, оставим обычные сетевые запрос
Раз мы убрали кафку, то нам все равно надо как-то получить результат скоринга
Можно использовать
полинг
или callback вызов, возьмем полинг
Сервис управления заявками будет делать запросы с некоторой настраиваемой периодичностью в сервис скоринга до тех пор, пока скоринг не вернет какой-либо ответ по клиенту
Но у данного способа есть минус - большое количество ненужных запросов, которые как раз можно избежать с помощью использования кафки
Не бойтесь, если вас прервут из-за тщательного решения, чаще всего это хороший признак 😉
Отправь тому самому другу, который хочет в финтех🤩
#разборы_собесов_и_задач@analyst_academy