Для чего используются базы данных
Что проверяют
Понимаете ли вы базу как рабочий инструмент тестировщика, а не как абстракцию из учебника. После общего ответа почти наверняка попросят написать запрос с JOIN или объяснить, как вы проверяете данные после действия в интерфейсе.
Как отвечать
Коротко о назначении: база хранит данные надёжно и долго, даёт многим пользователям одновременный доступ, следит за целостностью и позволяет быстро находить нужное. Управляет этим СУБД: PostgreSQL, MySQL, MS SQL Server, Oracle.
Дальше покажите, что база даёт именно вам как QA:
- проверка результата: после оформления заказа в интерфейсе убедиться, что в таблице появилась строка с верной суммой, статусом и связями;
- локализация бага: интерфейс показал не то, а в базе всё верно, значит проблема во фронтенде или API, а не в записи;
- подготовка данных: создать пользователя в нужном состоянии запросом, а не прокликивать десять экранов;
- проверка ограничений:
NOT NULL,UNIQUE, внешние ключи, поведение при дубле или удалении связанной записи; - транзакции: при ошибке в середине операции не должно остаться половины данных, это атомарность из ACID.
Хорошо назвать типы: реляционные для связанных данных со строгой схемой, документные вроде MongoDB, хранилища ключ-значение вроде Redis для кеша и сессий, колоночные вроде ClickHouse для аналитики. И инструменты, в которых вы работали: DBeaver, DataGrip, pgAdmin. Если в резюме есть SQL, будьте готовы написать SELECT с JOIN и GROUP BY прямо на собеседовании.
Где спотыкаются
Путают базу данных и СУБД или называют базой SQL. SQL это язык запросов, а не хранилище.
Говорят «NoSQL для неструктурированных данных». У документа в MongoDB есть структура, а выбор базы определяется моделью доступа и требованиями к согласованности, а не отсутствием схемы.
Пишут на общем стенде UPDATE или DELETE без WHERE и без транзакции. Правильный порядок: сначала SELECT с тем же условием, затем изменение внутри BEGIN с проверкой числа затронутых строк.