GetAnalyst - Навыки • Системный анализ • Бизнес-анализ – Telegram
GetAnalyst - Навыки • Системный анализ • Бизнес-анализ
19.5K subscribers
2.09K photos
75 videos
206 files
1.19K links
Разбор задач на проектирование систем 🚀 Канал для системных аналитиков, бизнес-аналитиков, тестировщиков и менеджеров проектов

Админ @getanalyst
Сайт https://getanalyst.ru
Чат t.me/getanalystchat
Начинающим в IT @getanalyststart

РКН №5013005196
Download Telegram
💫 Вопросы и ответы по REST API: собеседование на системного аналитика 💫

В новом эпизоде подкаста мы обсуждаем вопросы по REST API с собеседований на позицию системного аналитика, и разбираем ответы на них с примерами.

Эпизод рекомендуется к прослушиванию как для начинающих, так и для опытных системных аналитиков, стремящихся углубить свои знания в теме проектирования REST API и успешно проходить технические собеседования. Особенно рекомендуется, если у вас завтра техническое интервью 🙂

00:59 - О структуре выпуска и причине выбора темы.
02:25 - Что такое REST API и его отличия от RESTful.
10:10 - 6 главных принципов REST API.
15:52 - Структура запросов и ответов REST API: типы методов и отличия между ними.
23:50 - URL и URI. Структура URI запроса. Примеры.
query и path-параметры, headers, тело запроса и ответа, авторизация, коды состояний HTTP.
29:10 - Ресурс в контексте REST API. Связь объектов данных (ресурсов) REST API и БД.
31:05 - Query-параметры в запросе. Элементы пагинации в query-параметрах и body. Path-параметры.
36:28 - Что спрашивают по авторизации в API на собеседовании. Про безопасность. Заголовки запросов - Headers. Форматы сообщений в Body.
39:27 - Коды ответов HTTP, их назначения и какие знать обязательно. Вопросы с подвохами про отличия между кодами ответов HTTP в разных ситуациях.
43:40 - Отличия между POST и PUT. Идемпотентность. Получение данных через POST.
47:10 - Другие важные технические вопросы про асинхронные запросы и Webhook-и.
48:48 - Виды практических задач по REST API на собеседованиях для системных аналитиков.
54:00 - Вопросы про опыт работы с REST API. Рекомендация - используйте портфолио (личные демо-проекты).
56:48 - Заключение и рекомендации по самостоятельному освоению REST API.

Эпизод доступен в:

Apple Podcast
Яндекс.Музыка
YouTube
Telegram
Castbox
Spotify

Подписывайтесь и делитесь с коллегами! 😉
🔥51👍4
📌 Новый проект по REST API - аренда авто через приложение #RentACar 📌

Этот месяц мы посвятим проектированию REST API методов.
По итогам голосования самый большой запрос оказался на разбор связи между REST API и БД. Но этот вопрос гораздо шире. Поэтому мы также затронем его связь с бизнес-процессами, UI/UX и оптимизацией приложений.

Проект, на котором мы будем погружаться в тему - аренда автомобилей через приложение #RentACar.

👉 О проекте 👉

✔️ Приложения и пользователи:
+ мобильные и веб-приложения для клиентов.
+ веб-приложение для сотрудников и администраторов.

✔️ Бизнес-процесс:
1. Клиент выбирает даты аренды, место получения и выдачи, и ищет варианты.
1.1. Результаты можно фильтровать по классу и марке автомобиля, по цене.
1.2. Результаты можно сортировать по цене (возрастание / убывание).
2. Клиент заказывает машину через приложение и сразу вносит оплату онлайн.
2.1. Машина становится недоступна для бронирования на эти даты.
3. Клиент забирает машину из места аренды.
3.1. Сотрудник собирает персональные данные водителей - права + паспорта. Вводит вручную и загружает сканы документов;
3.2. Сотрудник подтверждает выдачу автомобиля.
4. Клиент возвращает машину в место аренды.
4.1. Сотрудник подтверждает возврат автомобиля.

✔️ Дополнительно о бизнесе и разработке:
+ есть офисы в разных городах (места, где можно взять и вернуть машину);
+ машину можно взять в одном офисе, а вернуть в другом;
+ стоимость авто зависит от дня недели и места возврата - учитывать это при настройке цен;
+ к заказам можно продавать страховки, но пока это будет вне системы;
+ клиенты могут повреждать авто, но пока это будет учитываться вне системы.


👉 В рамках работы над REST API 👉
Проектируем БД и анализируем как она влияет на методы REST API
Делаем с нуля методы POST, GET, PUT, PATCH, DELETE
Ставим задачи на разработчиков
Смотрим, как вести документацию в Postman и Swagger

Подписаны на канал?
Значит вы участвуете в проекте и получаете ваш новый опыт 🤝

Проект объявляется открытым 🎉

#RestApiGA
44🔥40👏15👍6
📚 REST API и HTTP - что нужно знать? 📚

REST API — это архитектурный стиль, использующий HTTP в качестве протокола передачи данных (или просто: основанный на протоколе HTTP).


И чтобы вы действительно поняли значение слов “архитектурный стиль”, когда мы в следующем посте будем подробнее разбирать определение REST API, я хочу рассказать про протокол HTTP.

HTTP
— это протокол прикладного уровня, используемый для передачи данных между клиентом и сервером в интернете.


🔶 Как работает HTTP?

1. Клиент отправляет запрос.
2. Сервер получает запрос.
3. Сервер обрабатывает его по запрограммированным алгоритмам и формирует ответ.
4. Сервер отправляет ответ.
5. Клиент обрабатывает ответ.

👉 Абсолютно также работает и REST API, потому что использует протокол HTTP в качестве транспорта для доставки и получения данных с сервера.



🔶 Протокол HTTP определяет правила, по которым происходит обмен данными:

▫️ Методы запроса: определяют тип действия, которое клиент хочет выполнить над ресурсом (GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD, TRACE)

▫️ Ресурсы — это данные или сущности (например, в БД), к которым можно получить доступ через URL

▫️ Статус-коды ответа: указывают на результат выполнения запроса (например, 200 OK, 404 Not Found). Полный перечень кодов HTTP тут

▫️ Формат запросов и ответов: запросы и ответы включают заголовки (headers), тело (body) и строку запроса (URL)

▫️ Кодировка данных: поддержка различных форматов данных (JSON, XML, HTML, текст) и способов сжатия (gzip)

▫️ Работа в режиме Stateless: каждый запрос обрабатывается независимо, сервер не хранит информацию о предыдущих запросах клиента

А также аутентификация, кэширование, управление сессиями и другие правила.

👉 Все перечисленные правила соответствуют принципам работы методов REST API.

👉 Структура методов HTTP и REST API полностью соответствуют.



Итого:
По сути, методы REST API являются HTTP-методами.


👉 Полная версия поста в этой
статье.



А понятие архитектурного принципа REST API разберем в следующих постах.

#RestApiGA
26👍15💯5
📚 REST API - архитектурный стиль, но не протокол 📚

REST API — это архитектурный стиль для создания веб-сервисов, основанный на протоколе HTTP.

То, что REST API основан на протоколе HTTP, означает, что все принципы работы, структура запросов и ответов, будут также применимы и для REST API.

Архитектурный стиль REST приносит для HTTP дополнительные правила и принципы, по которым должен происходить обмен данными в Интернете 👇

Главные принципы REST:
1. Строгое разделение клиента и сервера
2. Единый интерфейс
3. Без сохранения состояния (Stateless)
4. Многоуровневая система
5. Кэширование
6. Выполнение кода по запросу

В картинках к посту просто и с примерами разобрала эти принципы. Сохраняйте и пользуйтесь 🤍

Это не самая ценная в работе информация, но перечень этих принципов и их понимание могут спрашивать на собеседованиях 📚

#RestApiGA
44👍16🔥9👏1🤔1
🤩 Структура методов REST API в одной картинке 🤩

Коллеги, публикую для вас картинку-шпаргалку, которую можно использовать при проектировании методов REST API 🙌

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

А чтобы вы наглядно могли сопоставить структуру на картинке с реальными REST API, предлагаю вам посмотреть примеры открытой API-документации для интеграции с крупными сервисами:

Avito Доставка
ЦИАН

#RestApiGA
🔥249👍4