Бэкэнд Flashcards

Все о бэкэнд процессах и подкапотной работе сайтов

1
Q

Что такое клиент-серверная архитектура?

A

Клиент-серверная архитектура представляет собой модель взаимодействия между программными компонентами, где один компонент (клиент) обращается к другому компоненту (серверу) для получения данных.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Что такое API?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Из чего состоит запрос на сервере?

A

Метод запроса, URL, заголовки, тело запроса, параметры запроса, куки.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Какие http методы могут быть?

A

Основные методы: GET, POST, PUT, DELETE, PATCH.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Что такое идемпотентные методы?

A

Это методы, которые либо не изменяют состояние в базе данных, либо изменяют состояние только при первом запросе. Идемпотентные методы: GET, PUT, DELETE.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Из чего состоит ответ на сервере?

A

Статусная строка, заголовки ответа, тело ответа.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Что такое HTTP?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Разница между HTTP и HTTPS?

A

HTTP: данные не шифруются, порт 80. HTTPS: данные шифруются, порт 443, используются сертификаты.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Какие безопасные HTTP методы знаешь?

A

GET, HEAD, OPTIONS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Из чего состоит HTTP запрос?

A

Стартовая строка (метод, путь, версия протокола), заголовки, тело сообщения.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Какие заголовки HTTP знаешь?

A

Accept, Authorization, Cache-Control, Content-Type, User-Agent, Set-Cookie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

В чём разница между PUT, POST и PATCH?

A

PUT: заменяет ресурс (идемпотентен). POST: создает ресурс (неидемпотентен). PATCH: частично обновляет ресурс (неидемпотентен).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Что такое запрос на сервер?

A

Способ взаимодействия клиента с сервером через API для выполнения действий.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Дай 3 объяснения что такое клиент-сервер.

A
  1. Архитектура: клиенты запрашивают услуги у сервера. 2. Взаимодействие: обмен запросами и ответами. 3. Функциональность: клиенты — интерфейс, серверы — бизнес-логика.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

В чем разница между GET и POST?

A

GET: получение данных через URL. POST: отправка данных в теле запроса. GET ограничен длиной URL, POST — нет.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Как использовать кафку?

A

Тестировщик проверяет валидность сообщений в топиках Kafka.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Как тестировать API?

A
  1. Использовать Postman. 2. Проверять статусные коды. 3. Валидировать данные. 4. Тестировать граничные условия.
18
Q

Как тестировать бэк?

A
  1. Тестирование API. 2. Проверка бизнес-логики. 3. Интеграция с БД. 4. Тестирование безопасности.
19
Q

Где можно посмотреть логи сервера?

A
  1. Kubernetes Pods. 2. Kibana (визуализация через Elasticsearch).
20
Q

Как протестировать форму поиска?

A
  1. Проверить корректность результатов. 2. SQL-инъекции. 3. Производительность. 4. Отображение на мобильных устройствах.
21
Q

Что можно делать в Postman?

A

Отправлять HTTP-запросы, создавать коллекции, писать автотесты, настраивать переменные окружения.

22
Q

Разница между коллекцией и окружением?

A

Коллекция: группа запросов. Окружение: набор переменных (например, {{base_url}}).

23
Q

Что такое булевое значение?

A

Логическое значение: true или false.

24
Q

Что такое JSON?

A

Текстовый формат для обмена данными в виде пар ключ-значение (пример: {“name”: “John”}).

25
Q

Есть ли тело у GET запроса?

A

Нет. Сервер может игнорировать тело GET-запроса или вернуть ошибку.

26
Q

Где можно посмотреть логи и для чего?

A

DevTools, Kubernetes, Kibana. Для локализации ошибок и проверки корректности работы.

27
Q

Как вызывается API?

A

Напрямую (Postman, код) или косвенно (через GUI, например, кнопку в интерфейсе).

28
Q

SOAP vs REST (различия)?

A

SOAP: XML, строгие стандарты. REST: JSON/XML, гибкость, использование HTTP-методов.

29
Q

Принципы REST?

A

Клиент-сервер, stateless, кэширование, единый интерфейс, многоуровневая система.

30
Q

По каким методам работает REST?

A

GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS.

31
Q

Расскажи про безопасные и идемпотентные методы.

A

Безопасные: GET, HEAD, OPTIONS. Идемпотентные: GET, PUT, DELETE.

32
Q

Какие статус коды знаешь?

A

200 OK, 201 Created, 400 Bad Request, 401 Unauthorized, 500 Internal Server Error.

33
Q

Структура HTTP запроса и ответа?

A

Запрос: стартовая строка, заголовки, тело. Ответ: статусная строка, заголовки, тело.

34
Q

Что такое Restful?

A

API, соответствующее принципам REST: единый интерфейс, использование HTTP-методов, stateless.

35
Q

Что происходит при вводе URL в браузере?

A

DNS-запрос → TCP-соединение → HTTP-запрос → обработка → отрисовка страницы.

36
Q

Где передаются пароль и логин?

A

В заголовке Authorization (например, Basic Auth) или теле POST-запроса.

37
Q

Как тестировать форму авторизации?

A
  1. Валидация логина/пароля. 2. Проверка SQL/XSS-инъекций. 3. Сообщения об ошибках. 4. Шифрование.
38
Q

Как протестировать безопасность сайта?

A
  1. Проверка HTTPS. 2. Тесты на SQL-инъекции и XSS. 3. Анализ заголовков CORS.
39
Q

При GET-запросе отображается белое окно. Что делать?

A
  1. Проверить DevTools. 2. Очистить кэш. 3. Проверить CORS. 4. Анализировать логи сервера.
40
Q

Отличия POST, PUT, PATCH?

A

POST: создание. PUT: полное обновление. PATCH: частичное обновление.