Общие вопросы
SDLC (Software Development Life Cycle) — жизненный цикл программного обеспечения.
Ключевые этапы: Планирование, Анализ, Дизайн, Реализация, Тестирование, Поддержка.
Аутентификация
— это процесс подтверждения личности пользователя.
Она отвечает на вопрос: "Является ли пользователь тем за кого себя выдает?"
Авторизация
— это процесс предоставления или отказа в доступе на основании прав и привилегий пользователя.
Она отвечает на вопрос: "Что пользователю разрешено делать?"
Работа в команде
Техники тест-дизайна
Эквивалентное разделение, анализ граничных значений, попарное тестирование, таблица принятия решений.
Расскажите подробнее про те техники, которыми действительно пользовались.Виды тестирования
Ретест: проверяет, что исправленный дефект действительно был устранен.
Уровни тестирования
Тут уместно вспомнить про пирамиду тестирования.
| Уровень тестирования | Скорость | Количество тестов |
|---|---|---|
| Модульное тестирование | Высокая | Большое |
| Интеграционное тестирование | Средняя | Среднее |
| Системное тестирование | Низкая | Минимальное |
Тестовая документация
Severity (Серьезность): оценивает техническое влияние бага на функциональность системы.
Priority (Приоритет): оценивает срочность и критичность исправления бага с точки зрения бизнеса.
Опечатка в названии компании на главной странице.
HTTP протокол
Обязательно знать:
GET, POST, PUT, DELETE, PATCH.
Опционально:
HEAD, OPTIONS, CONNECT, TRACE.
| Код | Описание |
|---|---|
| 100-199 | Информационные |
| 200-299 | Успешно |
| 300-399 | Перенаправление |
| 400-499 | Ошибка клиента |
| 500-599 | Ошибка сервера |
Да. На уровне протокола это никак не ограничено и зависит только от того, как разработчик реализовал эндпоинт.
Человек не может знать всё, в том числе интервьюер может заблуждаться. Аргументируйте ответ, если уверены в его правильности.Идемпотентные методы — это методы, вызов которых повторно с одним и тем же набором данных приведет к одному и тому же результату, без побочных эффектов для сервера.
Неидемпотентные методы влияют на состояние сервера, например, они могут изменять данные в базе данных.
| Идемпотентность | Методы |
|---|---|
| Идемпотентные | GET, HEAD, PUT, DELETE, OPTIONS, TRACE |
| Неидемпотентные | POST, PATCH |
HTTP (HyperText Transfer Protocol): Данные передаются в открытом виде, без шифрования. Любой, кто перехватит трафик между браузером и сервером, потенциально может прочитать передаваемую информацию.
HTTPS (HyperText Transfer Protocol Secure): Данные шифруются с использованием SSL/TLS (Secure Sockets Layer / Transport Layer Security). Требует наличия SSL/TLS-сертификата, подтверждающего подлинность ресурса.
Форматы данных
{
"name": "Котофей",
"age": 5
}
Не стесняйтесь задавать вопросы, если сомневаетесь, что корректно описали
JSON. Спросите интервьюера можно ли использовать онлайн валидатор для проверки (в поиске json validator). Валидатор подскажет, в каком месте была нарушена структура.
В XSD схеме (XML Schema Definition) — файле с форматом .xsd. Схема XSD определяет элементы и атрибуты, которые могут быть использованы в XML документе, типы данных и ограничения.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="cat">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="age" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Не бойтесь говорить, что не работали с XML/XSD — преимущественно на современных проектах используется JSON. Просто будьте готовы ответить на вопрос, XML — это всего лишь еще один формат записи данных.
DevTools
- Открыть DevTools
- Перейти на вкладку Application
- В левой панели выбрать Cookies
- Кликнуть на URL сайта
- Отобразится таблица с именами, значениями и другими атрибутами cookie
- Открыть DevTools
- Перейти на вкладку Network
- Отправить запрос на фронте
- Выбрать нужный запрос из списка
- Перейти на вкладку Payload
- Открыть DevTools
- Перейти на вкладку Network
- Отправить запрос на фронте
- Выбрать нужный запрос из списка
- Перейти на вкладку Response
Архитектура
Монолит — все компоненты системы объединены в единое приложение.
Микросервисы — набор независимых приложений, каждый из которых выполняет определенную функцию, вместе составляющих систему.
| Архитектура | Плюсы | Минусы |
|---|---|---|
| Монолит |
|
|
| Микросервисы |
|
|