Перейти к основному содержимому

Чек-лист самопроверки

Разработчику Аналитику Тестировщику
Архитектору Инженеру

Чек-лист самопроверки

  1. Понимаю ли я, что такое реляционная модель данных и чем она отличается от других моделей?
  2. Могу ли я объяснить разницу между DDL, DML, DCL и TCL в SQL?
  3. Знаю ли я основные типы данных в SQL и когда какой использовать?
  4. Умею ли я писать запросы с использованием SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY?
  5. Понимаю ли я разницу между INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL OUTER JOIN?
  6. Могу ли я правильно использовать агрегатные функции: COUNT, SUM, AVG, MIN, MAX?
  7. Знаю ли я, как работает NULL в SQL и как с ним обращаться?
  8. Умею ли я писать подзапросы в WHERE, FROM и SELECT?
  9. Понимаю ли я, что такое первичный ключ и зачем он нужен?
  10. Знаю ли я, что такое внешний ключ и как он обеспечивает ссылочную целостность?
  11. Могу ли я создавать таблицы с помощью CREATE TABLE с указанием ограничений?
  12. Умею ли я изменять структуру таблицы с помощью ALTER TABLE?
  13. Знаю ли я, как работают уникальные ограничения (UNIQUE)?
  14. Понимаю ли я, как работают ограничения CHECK?
  15. Могу ли я объяснить, что такое нормализация и зачем она нужна?
  16. Знаю ли я, какие есть формы нормализации и когда их применять?
  17. Умею ли я писать запросы с использованием UNION и UNION ALL?
  18. Понимаю ли я разницу между UNION и JOIN?
  19. Могу ли я использовать оконные функции: ROW_NUMBER(), RANK(), DENSE_RANK(), LEAD(), LAG()?
  20. Знаю ли я, как работают общие табличные выражения (CTE) и рекурсивные CTE?
  21. Умею ли я писать рекурсивные запросы для обхода иерархий (например, оргструктуры)?
  22. Понимаю ли я, что такое транзакция и какие у неё свойства (ACID)?
  23. Знаю ли я команды BEGIN, COMMIT, ROLLBACK и SAVEPOINT?
  24. Могу ли я объяснить уровни изоляции транзакций и их влияние на конкурентность?
  25. Умею ли я создавать и использовать представления (VIEW)?
  26. Знаю ли я, что такое материализованное представление и чем оно отличается от обычного?
  27. Понимаю ли я, как работают индексы и когда их стоит создавать?
  28. Могу ли я объяснить разницу между кластеризованным и некластеризованным индексом?
  29. Знаю ли я, как анализировать план выполнения запроса (EXPLAIN / EXECUTION PLAN)?
  30. Умею ли я оптимизировать медленные запросы на основе плана выполнения?
  31. Понимаю ли я, что такое кардинальность и селективность индекса?
  32. Могу ли я писать запросы с использованием EXISTS и NOT EXISTS?
  33. Знаю ли я разницу между IN и EXISTS и когда что использовать?
  34. Умею ли я работать с датами и временем в SQL (DATE, TIMESTAMP, INTERVAL)?
  35. Понимаю ли я, как работают строковые функции: CONCAT, SUBSTRING, TRIM, UPPER, LOWER?
  36. Могу ли я использовать CASE-выражения для условной логики в запросах?
  37. Знаю ли я, как работают хранимые процедуры и функции?
  38. Умею ли я создавать и вызывать хранимые процедуры?
  39. Понимаю ли я, что такое триггер и в каких случаях его стоит использовать?
  40. Знаю ли я, как управлять пользователями и привилегиями (GRANT, REVOKE)?
  41. Могу ли я объяснить, что такое партиционирование таблиц и зачем оно нужно?
  42. Понимаю ли я, как работает блокировка строк и таблиц при конкурентном доступе?
  43. Знаю ли я, что такое взаимоблокировка (deadlock) и как её избежать?
  44. Умею ли я писать пагинацию с помощью LIMIT/OFFSET или ROW_NUMBER()?
  45. Понимаю ли я, почему OFFSET неэффективен при глубокой пагинации?
  46. Знаю ли я альтернативы OFFSET для курсорной пагинации?
  47. Могу ли я объяснить разницу между суррогатным и естественным ключом?
  48. Понимаю ли я, когда лучше денормализовать данные для производительности?
  49. Знаю ли я основные различия в диалектах SQL (PostgreSQL, MySQL, SQL Server, Oracle)?
  50. Могу ли я обосновать выбор реляционной СУБД для заданного бизнес-сценария?
Освоение главы0%