QA Alexey Klimenko

QA Alexey Klimenko 

QA engineer, QA mentor. Практика по тестированию.

81subscribers

89posts

Showcase

7
goals1
$0 of $74 raised
На создание еще 5 мини-игр для тренировки внимания и мышления. https://aklimenkoschool.ru/trainers/

Вопросы для подготовки к собеседованию на позицию Junior QA (базы данных и SQL)

Так как на технических собеседованиях часто задают вопросы по всем областям, которые связаны с разрабатываемым продуктом, готовиться нужно в том числе и к вопросам по базам данных. 
В посте ниже собраны теоретические вопросы для подготовки к интервью, которые позволят структурировать знания в данной области и могут помочь в решении практических задач на интервью.
Список вопросов:
1. Что такое SQL и как его используют тестировщики ПО?
2. Каковы основные виды SQL-команд (DML, DDL, DCL, DQL) и для чего они предназначены?
3. В чем разница между реляционной базой данных и NoSQL базой данных (например, PostgreSQL vs MongoDB)?
4. Почему для хранения данных используют базы данных, а не текстовые файлы или таблицы Excel?
5. Что такое свойства ACID и почему они важны для реляционных баз данных?
6. Что такое первичный ключ и внешний ключ в базе данных. Зачем они нужны?
7. Что такое нормализация баз данных и зачем она применяется?
8. Что такое индекс в базе данных и как он влияет на производительность запросов?
9. В чем разница между операторами GROUP BY и HAVING в SQL?
10. Какие существуют типы JOIN в SQL и в чем различия между INNER JOIN и LEFT/RIGHT JOIN?
11. В чем разница между операторами DELETE и TRUNCATE?
12. Что такое подзапрос в SQL и когда его имеет смысл использовать?
Пример ответа на один из вопросов.

В чем разница между реляционной базой данных и NoSQL базой данных (например, PostgreSQL vs MongoDB)?

Ответ: Реляционная СУБД – это система управления базой данных, которая хранит информацию в виде связанных таблиц. Пример – PostgreSQL. Данные организованы в строки и столбцы, и между таблицами могут быть определены строгие связи (отношения) через ключи. Такая база данных использует заранее определенную схему (набор столбцов с четкими типами данных). Это обеспечивает целостность и структурированность данных: каждая запись соответствует схеме, соблюдаются ограничения (типы, длины, ключи). Реляционные БД, как правило, поддерживают язык SQL для запросов и обладают свойствами ACID для надежности транзакций.
NoSQL база данных – нереляционная база, например, MongoDB. В отличие от таблиц, MongoDB хранит данные в виде документов (обычно JSON-документы) в коллекциях. У NoSQL-баз нет жесткой схемы: разные записи (документы) в одной коллекции могут иметь разную структуру и набор полей. Это дает большую гибкость – можно легко хранить разнородные или меняющиеся данные. Кроме документно-ориентированного подхода (как в MongoDB), к NoSQL относят и другие модели: key-value хранилища, графовые базы, колоночные базы и др. Такие системы часто выбирают для высокой масштабируемости и производительности на больших объемах нестркутурированных данных. Однако отсутствие фиксированной схемы означает, что целостность данных обеспечивается на уровне приложения, а не самой базы (нет внешних ключей, ограничений и т.д.). Также многие NoSQL-базы не поддерживают полноценный SQL – у них свои механизмы запросов (например, MQL – MongoDB Query Language для MongoDB).
Сравнение на примере PostgreSQL vs MongoDB: PostgreSQL – объектно-реляционная БД, требующая определять структуру таблиц заранее. Она обеспечивает строгую схему данных и поддерживает богатый набор типов (числа, тексты, даты, булевы и даже JSON-поля), при этом гарантирует согласованность и целостность: например, можно задать внешние ключи, чтобы предотвратить «висячие» ссылки. MongoDB – NoSQL-документное хранилище, где данные хранятся в JSON-подобных документах. Структура документов гибкая – разные документы в коллекции могут иметь различные поля. Это удобно, когда данные часто изменяют свою структуру или не подходят под жесткую таблицу. Но целостность связей между сущностями должна контролироваться приложением (нет встроенных связей как в SQL).
Кроме того, реляционные БД ориентированы на ACID-транзакции и сложные SQL-запросы (включая JOIN для объединения таблиц). NoSQL-базы зачастую жертвуют полной поддержкой ACID (ради масштабируемости) и вместо SQL-запросов предлагают другие модели доступа (в MongoDB – операции поиска по ключам, фильтры по полям внутри документов, агрегирующие pipeline и пр.). На практике реляционные БД эффективны для сложных структурированных данных и аналитических запросов, где важна точность и консистентность, тогда как NoSQL используется для больших объемов данных, требующих горизонтального масштабирования, гибкой структуры или очень высокой скорости операций (например, хранение логов, JSON-данных, кэшей, данных для веб-приложений в реальном времени).
Subscription levels5

Intern

$1.48 per month
Начальный уровень поддержки. Выразить благодарность и поддержать автора.
- упоминание в титрах новых видео

Junior

$3.7 per month
Следующий уровень поддержки с большим количеством допов.
- Бонусные материалы, доступные только подписчикам:
  * ответы на тренажеры для практики по тестированию
  * шпаргалки с вопросами на собеседованиях и подробными ответами
  * гайды, мануалы, роадмапы
- Ранний доступ к новым видео

Middle

$5.2 per month
Все бонусы прошлого уровня, а также:
- доступ в закрытый Телеграм чат, где в комфортной атмосфере можно обсудить все насущные темы и задать вопросы.  А еще участники чата раньше других могут "протестировать" новинки (например, новые тренажеры).
- доступ в закрытый канал в ТГ, где я собираю различную годноту: гайды, чек-листы, материалы, статьи, полезные инструменты для QA

Senior

$14.8 per month
Все бонусы предыдущих уровней, а также:
- скидки на менторские услуги (в период действия подписки):
-- 20% на первую консультацию
-- 10% на все остальные
- разбор ваших вопросов и кейсов по тестированию – присылайте свои вопросы, я помогу с разбором и решениями (в рамках моей экспертизы)
- промокоды на мои курсы

Lead

$148 per month
Максимальный (эпический) уровень поддержки. 
Все бонусы предыдущих уровней, а также
- 1 бесплатная консультация в месяц
- заказ записи видео на определенную тему*
* в рамках компетенций автора
Go up