Урок 7. Интеграции и архитектура
В этом уроке ты разберешься с тем, по каким темам по архитектуре и интеграциям спрашивает интервьюер. Автор курса: Владислав Князев, Senior System Analyst с опытом в IT с 2015 года и нанимающий тимлид (ex. Альфа, Сбер, ВТБ) Ссылка на телеграм канал автора: https://t.me/+LwE_dwlx8OhkY2Ey
Ниже представлены базовые вопросы по интеграциям и архитектуре, на которые нужно уметь отвечать аналитику. Причем данные вопросы могут спросить абсолютно на любом грейде: что на джуна, что на сеньора. Но глубина ответа будет отличаться. Именно поэтому под блоком вопросов я приложу материалы для углубленного изучения, а не ссылки с первой страницы гугла, которые вы итак сможете найти. Блок вопросов: 1. Что содержится в XML? 2. Что такое XSD? Чем sequence отличается от choice в XSD? 3. Что такое пространство имен в XML? 4. Что такое WSDL? 5. Из чего состоит сообщение в SOAP? 6. Что содержит HEADER в ответе REST? 7. Какие методы REST вы знаете? 8. Что содержит URL в REST запросе? 9. Как проверить, что сообщение брокера получено в полном объеме? 10. В чем суть CAP-теоремы? 11. Что такое stateless и stateful, если говорить про сервисы? Rest – это какие сервисы? Что значит stateless сервисы? 12. Чем корпоративная шина отличается от ETL – инструмента? 13. Чем брокер сообщений отличается от корпоративной шины? 14. Есть некий UI, нужно написать к нему веб-сервис. Опишите вашу постановку – что в ней будет? 15. Как брокер сообщений гарантирует доставку сообщений? 16. Клиент читает в Kafka два последних сообщения. Как тому же клиенту заново прочитать эти два последние сообщения? 17. Опишите способы снижения нагрузки на веб сервис. 18. Есть четыре системы, участвующие в исполнении заказа клиента на выдачу карты: форма заявки на выдачу карты, скоринг, печать карты, логистика. Опишите, как вы их интегрируете между собой. 19. Что такое Хореография и Оркестрация? 20. Какие достоинства и недостатки микросервисов вы знаете? 21. Расскажите про токен-авторизацию в микросервисах. 22. По какой логике выделяют микросервисную архитектуры? Какие знаешь подходы? 23. Какие типы интеграций знаешь? Какие знаешь межсистемные помимо API? 24. Работал с очередями и шинами данных? В чем свойства и особенности такой интеграциями? 25. Из каких компонентов состоит шина данных внутри? 26. Какие брокеры знаешь? Какие когда лучше использовать? 27. С какими типами архитектур работаешь? Какие архитектурные паттерны используются? Какие знаешь? 28. Какие достоинства и недостатки микросервисной архитектуры? 29. Что такое идемпотентность? Как сделать метод POST идемпотентным? 30. Какие коды ответов HTTP знаешь? 31. Как обеспечить версионирование API? Материалы: 0. Текстовый обзор всех популярных технологий (чтобы не гуглить по каждому из вопросов выше): https://my-js.org/docs/cheatsheet/sys...
Бесплатный курс по документированию REST API: https://starkovden.github.io/index.html.
Лучшее из бесплатных текстовых курсов по ресту. Автор курса: Том Джонсон, тех пис из Амазона. 2. Все о REST API: • Введение в REST API за 7 минут Лучшее из бесплатных видео курсов по ресту. Автор курса: ютуб-канал Listen IT. 3. Проектирование веб-API: https://www.ozon.ru/product/proektiro...
Одна из лучших книг по вдумчивому проектированию API. Расписанная методология, вкратце описанная тут, мне прям очень зашла именно для понимания, а как вообще проектирование заниматься: https://habr.com/ru/companies/geekfam...
4. Основы архитектуры ПО: инженерный подход. Мастхев подкаст для тех, кто хочет глубже разбираться в архитектуре: • Основы архитектуры программного обеспечени... 5. Как подготовиться и пройти System Design Interview: • Как подготовиться и пройти System Design I... Данные материалы займут вам не менее 50 часов для изучения. Но как я не раз говорил: волшебных пилюль и серебряных пуль для подготовки к собеседованию не существует. Чем компания и проект, на который вас собеседуют, более технологичные, тем более углубленные вопросы вам будут задавать. Senior системного аналитика на front слой в банк Точка будут гонять по микрофронтендам и нюансам реализации аутентификации, когда как такого же сеньорного аналитика в ВТБ максимум могут спросить плюсы и минусы микросервисной архитектуры, а далее только детали проекта обсуждать (именно так ваш автор попал в ВТБ🙂). Чем больше вы сможете поглотить и переварить, тем будет лучше. ---- Домашние задание: 1. Спроектировать API под определенную фичу/процесс. 2. Подробно описать один из методов API. Шаблон описания на гуглдоке, раздел 5 НЕ заполняем. 3. Решить архитектурный кейс. Решение описать текстом или в удобной нотации. Контекст: у нас есть мультирегиональный интернет-магазин, и мы хотим организовать хранение данных для поддержки локализации на нескольких языках. Ваша задача как аналитика и архитектора определить, как мы будем хранить такие данные и отдавать их на фронт.