Какие знаешь виды запросов
Разбор вопроса «Какие знаешь виды запросов» для Frontend Developer: что проверяет интервьюер, ключевые тезисы, практические примеры и частые ошибки.
Вопрос
Какие знаешь виды запросов
Профессия
Frontend Developer
Что хочет услышать интервьюер
Интервьюер хочет убедиться, что кандидат понимает различные механизмы взаимодействия клиента и сервера, может объяснить их различия и практическое применение в реальных проектах.
Ключевые тезисы
- HTTP-запросы: GET (получение данных), POST (отправка данных), PUT/PATCH (обновление), DELETE (удаление), HEAD (заголовки без тела)
- GraphQL-запросы: Query (чтение), Mutation (изменение данных), Subscription (реактивные обновления)
- WebSocket: двустороннее взаимодействие в реальном времени
- Fetch API vs XMLHttpRequest: современный и legacy подходы к AJAX
Подробный ответ
Веб-разработка использует несколько типов запросов для обмена данными между клиентом и сервером. Основные группы: HTTP-методы (RESTful подход), GraphQL-операции, WebSocket-соединения и AJAX-технологии. HTTP-запросы включают GET для получения данных (например, загрузка страницы), POST для отправки (форма логина), PUT/PATCH для обновления (PUT требует полной замены, PATCH - частичной), DELETE для удаления ресурсов. GraphQL предлагает Query для чтения (аналог GET), Mutation для изменений (POST/PUT/DELETE) и Subscription для реального времени (чат). WebSocket создает постоянное соединение для двусторонней связи (онлайн-игры). Fetch API - современная замена XMLHttpRequest с промисами и более чистым синтаксисом.
Практические примеры
Пример 1
Пример GET-запроса через Fetch API: fetch('https://api.example.com/data').then(response => response.json())Пример 2
GraphQL Mutation для добавления комментария: mutation { addComment(text: "Hello") { id } }Пример 3
WebSocket-подключение: const socket = new WebSocket('wss://echo.websocket.org')
Частые ошибки
- Путаница между PUT (полная замена ресурса) и PATCH (частичное обновление)
- Игнорирование обработки ошибок в Fetch API (отсутствие .catch())
- Использование GET для sensitive-данных (пароли в URL)
Связанные темы
- REST vs GraphQL архитектура
- CORS и безопасность запросов
- Состояния HTTP (коды ответов)
- JWT-авторизация в запросах
Follow-up вопросы
В чем основное отличие между PUT и PATCH?
Уровень: intermediate
PUT заменяет весь ресурс целиком, а PATCH обновляет только указанные поля ресурса.
Какие преимущества GraphQL перед REST?
Уровень: intermediate
GraphQL позволяет клиенту запрашивать только нужные данные, избегая избыточных запросов и проблем с избыточным или недостаточным получением данных.
В каких случаях используют WebSocket?
Уровень: basic
WebSocket используется для двустороннего взаимодействия в реальном времени, например, в чатах, онлайн-играх или приложениях с мгновенными уведомлениями.
Чем Fetch API отличается от XMLHttpRequest?
Уровень: basic
Fetch API — это современный подход к AJAX, использующий промисы и более простой синтаксис, тогда как XMLHttpRequest — это устаревший метод, основанный на колбэках.
Как работает подписка (Subscription) в GraphQL?
Уровень: advanced
Subscription позволяет клиенту получать обновления данных в реальном времени через механизм подписки, например, используя WebSocket или другие протоколы.
В чем разница между POST и PUT
Разбор вопроса «В чем разница между POST и PUT» для Frontend Developer: что проверяет интервьюер, ключевые тезисы, практические примеры и частые ошибки.
Какие знаешь заголовки в HTTP запросе
Разбор вопроса «Какие знаешь заголовки в HTTP запросе» для Frontend Developer: что проверяет интервьюер, ключевые тезисы, практические примеры и частые ошибки.