SQL для тестировщика – Telegram
SQL для тестировщика
8.6K subscribers
428 photos
16 videos
1 file
458 links
Прокачиваем SQL — must have skill для хорошего тестировщика.

От создателей @godoftesting

По всем вопросам: @godinmedia
Download Telegram
📌 Большая подборка ресурсов для практики SQL для QA, BA, DA и не только

Если вы работаете в IT или только начинаете путь в QA/BA/DA — знания SQL точно пригодятся.
Вот подборка ресурсов, где можно практиковаться, готовиться к собеседованиям и улучшать навыки работы с данными.

▫️ Практика SQL-запросов онлайн

— SQLBolt
🔗 https://sqlbolt.com

— Mode SQL Tutorial
🔗 https://mode.com/sql-tutorial

— LeetCode SQL Problems
🔗 https://leetcode.com/problemset/database

— HackerRank SQL Practice
🔗 https://www.hackerrank.com/domains/sql

— Stratascratch — SQL Practice
🔗 https://www.stratascratch.com

— DB-Fiddle
🔗 https://www.db-fiddle.com

▫️ Подготовка к техническому собеседованию по SQL

— InterviewBit — SQL Interview Questions
🔗 https://www.interviewbit.com/sql-interview-questions

— MindMajix — Top SQL Interview Questions
🔗 https://mindmajix.com/sql-interview-questions

— DataCamp — SQL Interview Questions
🔗 https://www.datacamp.com/blog/sql-interview-questions

— GeeksforGeeks — SQL Questions for Data Analyst
🔗 https://www.geeksforgeeks.org/sql-for-data-analyst-interview-questions

▫️ Симуляторы собеседований

— Pramp — SQL Interview Practice
🔗 https://www.pramp.com

— Exercism — SQL Track
🔗 https://exercism.org/tracks/sql

▫️ YouTube-каналы с практикой и разбором SQL

— Data School — SQL for Data Analysis
🔗 https://www.youtube.com/@dataschool

— Alex The Analyst — SQL Projects and Practice
🔗 https://www.youtube.com/@AlexTheAnalyst

— Programming with Mosh — SQL Tutorial
🔗 https://www.youtube.com/watch?v=HXV3zeQKqGY

▫️ Основы SQL — квизы и тесты

— W3Schools SQL Quiz
🔗 https://www.w3schools.com/sql/sql_quiz.asp

— TutorialsPoint SQL Quiz
🔗 https://www.tutorialspoint.com/sql/sql_online_quiz.htm

— GeeksforGeeks — SQL Basics Quizzes
🔗 https://www.geeksforgeeks.org/sql-quizzes

Сохраняйте подборку и делитесь с коллегами — пригодится всем, кто работает с данными.
👍71🔥1
У вас есть таблица sales с колонками country, product, amount. Как получить общий объем продаж для каждого продукта и для каждой страны, а также общую сумму продаж для всех стран и продуктов?
Anonymous Quiz
27%
A) SELECT country, product, SUM(amount) FROM sales GROUP BY CUBE(country, product);
25%
B) SELECT country, product, SUM(amount) FROM sales GROUP BY ROLLUP(country, product);
29%
C) SELECT country, product, SUM(amount) FROM sales GROUP BY GROUPING SETS(country, product, ());
19%
D) SELECT country, product, SUM(amount) FROM sales GROUP BY country, product WITH CUBE;
👍81🔥1
Работа с временными таблицами в PostgreSQL

#почитать

При создании временных таблиц в PostgreSQL изменяются до 13 таблиц системного каталога, при этом особенно сильно разрастаются pg_attribute, pg_class, pg_depend и pg_type.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🔥1
Соединяем AI и реляционную базу данных

#почитать

На статью данный текст точно не тянет, скорее это маленькая заметка. Как известно свои дети и свои идеи они всегда самые лучшие. Я давно работаю с реляционными базами и очень люблю язык SQL за его формализм, скорее всего из-за этой моей профдеформации и родилась эта мысль. На работе ко мне иногда обращались сделать выгрузку в CSV файл из базы для обучения моделей или анализа данных, и я подумал, а зачем выгружать данные, а потом иногда загружать обратно результат в базу. Почему не сделать так что бы результат запроса сразу отправлялся на обработку в AI и затем выдавался ответ на запрос. Нам всего лишь нужна SQL функция которая берет результат запроса, заворочает его в вызов к модели, а потом выдает результат. Понятно, что серебряной пули нет и данный подход не везде будет работать, например, такой подход не подразумевает асинхронность, а значит если нужна высокая производительность, то данный подход не очень подходит, с другой стороны сейчас запросы к AI не дёшевы и если вы пошлете 100 запросов в секунду, не дождавшись ответа на предыдущие то скорее всего получите ошибку. Я думаю в будущем это будет стандартная функции в базах данных.


Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🔥1
Какой оператор в MySQL позволяет получить только первые N строк результата?
Anonymous Quiz
60%
LIMIT
24%
TOP
11%
FETCH FIRST
6%
ROWNUM
👍71🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🟢 Дайджест QA 🐞 16-22 декабря

💀 Что происходит с рынком труда — взгляд нанимающего менеджера
🎁 Адвент-календарь для тестировщиков 2025
🎁 Как тестировать AI-приложения — бесплатный курс для QA-инженеров
🤬 Ответ на пост «Найм в IT мёртв. И мы сами его добили». Взгляд со стороны соискателя
🏛️ Археология: SUnit, прародитель JUnit
👶 Я просто хотел, чтобы дети меньше плакали, и сделал бизнес на 40 млн в год
✈️ Стамбул: лайфхаки для тех, кто собирается туда впервые

Теория
🤝 Контрактное тестирование: что (не) тестировать
💠 Квадрант тест-автоматизации: новый взгляд на ваши тесты
🙈 «Интровертный» подход в тестировании API

Практика
🗝️ Побег из стеклянной тюрьмы. iOS Jailbreak
🔦 Больше никаких «черных ящиков»: мониторим и оцениваем качество LLM-приложений с Langfuse
🐹 Axiom — тестовый фреймворк для Go, которого нам всегда не хватало
⚔️ Путь самурая, или Как «почти» в одиночку поднять полноценное тестирование продукта
🩺 Зачем и как автоматизировать Health Check тестовой среды, если вы QA
🇬🇧 Как тестировщику написать bug report на английском
🏗️ Каждому автотесту по микросервису
📸 Снепшот-тестирование SwiftUI View в legacy-проекте: обходим ограничения

Карьера
💰 Как сэкономить при сдаче ISTQB экзамена (реальный опыт + цифры)
🦁 Эффективность QA-лида и способы ее достижения
☣️ Токсичный QA. Быть или не быть?
🤖 Собеседование QA под нейросетью: когда ИИ говорит «Да»
🗺️ Roadmap.sh: дорожные карты для изучения IT
🔭 Офисный исход: почему в IT осталось лишь 5% желающих работать в офлайне

Ютубы
📹Разработка под авто: почему софт в машинах тормозит и как Google меняет правила игры 🕒 1 час 20 минут
📹 Как декомпозировать проверки и составить тест-кейсы: от теории к практике на реальных проектах 🕒 1 час 30 минут
📹 Выжить в одиночку: 20 советов и инструментов для прохождения — Анастасия Ушакова 🕒 30 минут

Вакансии
🔵Инженер выходного контроля от 140к
🔵Junior QC Engineer 60-110к
🔵AQA Java 300к
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍1🔥1
У вас есть таблица employees с колонками id, name, salary. Вам нужно разделить всех сотрудников на 4 равные группы по уровню зарплаты.
Anonymous Quiz
19%
A) SELECT name, NTILE(4) OVER (ORDER BY salary) FROM employees;
43%
B) SELECT name, RANK() OVER (PARTITION BY NTILE(4) ORDER BY salary) FROM employees;
23%
C) SELECT name, DENSE_RANK() OVER (ORDER BY salary) FROM employees;
14%
D) SELECT name FROM employees ORDER BY salary LIMIT 4;
😁9🌚2
Выбор индекса при соединении по нескольким столбцам

#почитать

Суть проблемы: имеется несколько индексов с одинаковыми ведущими столбцами, выбирается не лучший индекс, и время выполнения запроса увеличивается на порядки. Такие индексы встречаются в сложных приложениях, но чаще всего в 1С:ERP, поскольку это приложение наиболее распространено. Как это обычно бывает: после миграции приложения на СУБД PostgreSQL часть запросов начинает выполняться медленнее. Планировщик выбирает индекс, созданный по меньшему числу столбцов, время выполнения увеличивается, потому что при использовании такого индекса индексные записи указывают на строки таблицы, которые не соответствуют условиям соединения. При выборе же индекса по большему числу задействованных в запросе столбцов время выполнения существенно снижается и практически не зависит от размера таблиц.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥71👍1
У вас есть две таблицы: users и orders. Вы хотите найти всех пользователей, которые сделали более одного заказа.
Anonymous Quiz
22%
A) SELECT user_id FROM orders GROUP BY user_id HAVING COUNT(*) > 1;
20%
B) SELECT user_id FROM orders GROUP BY user_id WHERE COUNT(*) > 1;
10%
D) SELECT user_id FROM orders WHERE user_id IN (SELECT user_id FROM orders GROUP BY user_id);
🔥8