Чем REST отличается от SOAP: как отвечать на собеседовании (см на 1,5х)😘
https://kinescope.io/no8bNw138jW6yAxLkGxRMa
Давайте разберем один из основных вопросов на собеседованиях: «Чем REST отличается от SOAP?». Мы рассмотрим, как лучше отвечать на этот вопрос кандидатам с разным уровнем подготовки: тем, у кого уже есть коммерческий опыт, и тем, у кого его нет (например, вы были в декрете, был долгий перерыв в карьере или вы только решили войти в сферу тестирования).
Этот вопрос могут задать любому кандидату, поэтому важно быть к нему готовым.
Ответ для кандидата без коммерческого опыта
Если у вас нет коммерческого опыта, лучше начать с теоретических основ. Главное, что нужно донести — это фундаментальное различие:
SOAP — это протокол.
REST — это архитектурный стиль.
После этого можно углубиться в детали, сравнив их по ключевым параметрам.
SOAP (Simple Object Access Protocol)
Это протокол обмена структурированными сообщениями, который используется для реализации веб-сервисов. Он считается несколько устаревающим, но все еще широко применяется в унаследованных системах, особенно в финтехе, государственных учреждениях и для обработки транзакций. Например, его частично использует PayPal.
Формат сообщений: Строго XML. Сообщения имеют четкую структуру.
Протоколы передачи: SOAP может использовать не только HTTP, но и другие протоколы, такие как SMTP (для почты) и FTP (для файлов).
HTTP-методы: При использовании HTTP, как правило, все операции отправляются через метод POST.
Описание сервиса: Для описания веб-сервисов и методов доступа к ним используется язык WSDL (Web Services Description Language), который также основан на XML.
Преимущества: Встроенные стандарты безопасности (WS-Security), поддержка сложных транзакций, стандартизация, что хорошо подходит для B2B-взаимодействий.
REST (Representational State Transfer)
Это архитектурный стиль, который широко используется для создания масштабируемых и простых в использовании веб-сервисов. Большинство современных API, с которыми вы столкнетесь (например, у Ozon, Wildberries, NASA), построены по принципам REST.
Формат сообщений: Гибкий. Чаще всего используется JSON, но также поддерживаются XML, HTML, обычный текст и другие форматы. Все они хорошо отображаются в инструментах вроде Postman.
Протокол передачи: Работает исключительно поверх протокола HTTP.
HTTP-методы:
GET — для получения данных.
POST — для создания данных.
PUT / PATCH — для обновления данных.
DELETE — для удаления данных.
Описание сервиса: Для описания REST API чаще всего используется спецификация OpenAPI (ранее известная как Swagger).
Ответ для кандидата с коммерческим опытом
Если у вас есть коммерческий опыт, не начинайте с сухих определений. Начните с вашего опыта - это ценится гораздо выше.
Например, можно сказать так:
«Начинал(а) я свою работу с API именно с SOAP. На проекте [название компании, например, DHL] мы тестировали взаимодействие между двумя сервисами, которое было реализовано через SOAP API. Однако основной объем моего опыта за последние годы связан с REST API. На текущем и прошлых проектах я углубленно тестировал(а) REST-сервисы, работая с различными HTTP-методами, форматами данных и авторизацией».
Если у вас есть коммерческий опыт в тестировании, но вы не работали с API, можно сказать иначе:
«Хотя на прошлых проектах я в основном занимался(ась) тестированием фронтенда, я самостоятельно изучал(а) бэкенд и прошел(ла) практический курс по тестированию API. Меня очень заинтересовала эта тема, и я хочу развиваться именно в этом направлении. Я хорошо разобрался(разобралась) в принципах REST, работе с Postman и готов(а) применить эти знания на практике».
Такой подход сразу демонстрирует вашу вовлеченность и опыт. После этого интервьюер, скорее всего, начнет задавать более глубокие вопросы, связанные с REST
Больше полезных разборов у @protestinginfo на:
Онлайн‑курсе по подготовке к собеседованиям и тестам по тестированию ПО 180 дней
По-отдельности программы:
🎓 Онлайн-вебинары по вопросам с собеседований
🧪 API, интеграции, SQL