Расскажите про клиент-серверную архитектуру
Что проверяют
Понимаете ли вы разделение ответственности и можете ли объяснить, где что происходит. Для тестировщика важно ещё и то, как это влияет на локализацию дефекта.
Как отвечать
Клиент отправляет запрос, сервер обрабатывает и отвечает. Клиент отвечает за представление и взаимодействие с пользователем, сервер за данные, бизнес-правила и доступ. Разделение позволяет менять и масштабировать части независимо и держать один сервер для веба, мобильных приложений и интеграций.
Типичный путь запроса: браузер, DNS, балансировщик, веб-сервер или обратный прокси, приложение, база и кэш, иногда очередь и внешние сервисы.
Полезно назвать варианты: тонкий клиент (вся логика на сервере, страница приходит готовой), толстый клиент (одностраничное приложение, сервер отдаёт данные), трёхуровневая схема (представление, логика, хранение).
И то, ради чего вопрос задают тестировщику: разделение подсказывает, где искать причину. Если ответ сервера в Network корректный, а на экране не то, проблема на клиенте. Если ответ уже неверный, дальше клиент не смотрим. Если запрос вообще не ушёл, дело в клиентской валидации или в обработчике.
Стоит упомянуть и то, что проверять на каждой стороне: клиентская валидация не заменяет серверную, потому что запрос можно отправить в обход интерфейса; авторизация проверяется на сервере, скрытая кнопка защитой не является.
Где спотыкаются
Описывают только «клиент шлёт, сервер отвечает» без слоёв между ними.
Не могут объяснить, как отличить дефект клиента от дефекта сервера.
Считают клиентскую валидацию достаточной.
Не упоминают состояние: где живёт сессия и почему это влияет на масштабирование.