Пост в нельзяграме
Поддержите подпиской, реакцией, репостом, делитесь с коллегами, спасибо большое!🫶
Разбор частого вопроса на собеседовании:Синхронное общение:Это когда одна программа сразу ждет ответа от другой.
Пример: вы запрашиваете данные у сайта и ждете, пока он их вам вернет.
Пока ответ не будет получен, клиент не может делать другие задачи.
Асинхронное общение:Это когда программа отправляет запрос и не ждет ответа сразу. Она продолжает работать и может получить ответ позже.
Пример: отправка сообщения другу в мессенджере, вы не ждете ответа мгновенно.
То есть Клиент в момент обработки запроса может делать другие задачи. Как только обработка запроса на сервере будет завершена, то клиент должен получить информацию об этом:
Клиент сам периодически будет опрашивать сервер о готовности задачи.
Сервер сам сообщит клиенту о завершении выполнения задачи.
Использование:Синхронное общение - это когда ты отправляешь запрос и ждёшь ответа. REST-запросы, GraphQL-запросы (query/mutation), gRPC unary-вызовы, большинство SOAP-сервисов - всё это работает по принципу «запрос–ответ»: клиент стоит на месте, пока сервер не вернёт результат.
Асинхронное общение - это когда ты отправляешь запрос и идёшь дальше, не дожидаясь моментального ответа. WebSocket, GraphQL - Subscriptions, gRPC - потоки, Kafka, Webhook, SSE, long polling: здесь сервер сам пушит события, клиент получает обновления позже, а система живёт по event-driven логике.
Для тестировщика это огромная разница. В синхронном мире проверяешь статусы, таймауты, валидность ответов - всё достаточно предсказуемо. В асинхронном проверяешь сообщения, проверяешь гарантию доставки, порядок событий и то, что система корректно обрабатывает отложенные обновления.
В
программе, где есть тема разбора интеграций, будет еще больше разборов вопросов на собеседованиях.