У вас есть таблица scores (player, score). Как вывести список игроков, где у игроков с одинаковым счетом одинаковый ранг, а следующий ранг не пропускает номер?
Anonymous Quiz
34%
A) SELECT player, DENSE_RANK() OVER (ORDER BY score DESC) AS rank FROM scores;
28%
B) SELECT player, RANK() OVER (ORDER BY score DESC) AS rank FROM scores;
25%
C) SELECT player, ROW_NUMBER() OVER (ORDER BY score DESC) AS rank FROM scores;
13%
D) SELECT player, NTILE(4) OVER (ORDER BY score DESC) AS rank FROM scores;
👍9
📌 Большая подборка ресурсов для практики 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
Сохраняйте подборку и делитесь с коллегами — пригодится всем, кто работает с данными.
Если вы работаете в 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
Сохраняйте подборку и делитесь с коллегами — пригодится всем, кто работает с данными.
👍8❤1🔥1
У вас есть таблица sales с колонками country, product, amount. Как получить общий объем продаж для каждого продукта и для каждой страны, а также общую сумму продаж для всех стран и продуктов?
Anonymous Quiz
26%
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);
30%
C) SELECT country, product, SUM(amount) FROM sales GROUP BY GROUPING SETS(country, product, ());
18%
D) SELECT country, product, SUM(amount) FROM sales GROUP BY country, product WITH CUBE;
👍8❤1🔥1
Работа с временными таблицами в PostgreSQL
#почитать
При создании временных таблиц в PostgreSQL изменяются до 13 таблиц системного каталога, при этом особенно сильно разрастаются pg_attribute, pg_class, pg_depend и pg_type.
⏱ Читать статью
#почитать
При создании временных таблиц в PostgreSQL изменяются до 13 таблиц системного каталога, при этом особенно сильно разрастаются pg_attribute, pg_class, pg_depend и pg_type.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🔥1
Что происходит при использовании оператора SHOW PROCESSLIST?
Anonymous Quiz
74%
Показывает список активных соединений к серверу MySQL
5%
Отображает список всех баз данных
13%
Показывает структуру таблиц в базе данных
8%
Выводит настройки сервера
👍7❤1🔥1
Соединяем AI и реляционную базу данных
#почитать
⏱ Читать статью
#почитать
На статью данный текст точно не тянет, скорее это маленькая заметка. Как известно свои дети и свои идеи они всегда самые лучшие. Я давно работаю с реляционными базами и очень люблю язык SQL за его формализм, скорее всего из-за этой моей профдеформации и родилась эта мысль. На работе ко мне иногда обращались сделать выгрузку в CSV файл из базы для обучения моделей или анализа данных, и я подумал, а зачем выгружать данные, а потом иногда загружать обратно результат в базу. Почему не сделать так что бы результат запроса сразу отправлялся на обработку в AI и затем выдавался ответ на запрос. Нам всего лишь нужна SQL функция которая берет результат запроса, заворочает его в вызов к модели, а потом выдает результат. Понятно, что серебряной пули нет и данный подход не везде будет работать, например, такой подход не подразумевает асинхронность, а значит если нужна высокая производительность, то данный подход не очень подходит, с другой стороны сейчас запросы к AI не дёшевы и если вы пошлете 100 запросов в секунду, не дождавшись ответа на предыдущие то скорее всего получите ошибку. Я думаю в будущем это будет стандартная функции в базах данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🔥1
Какой оператор в MySQL позволяет получить только первые N строк результата?
Anonymous Quiz
60%
LIMIT
24%
TOP
10%
FETCH FIRST
5%
ROWNUM
👍7❤1🔥1
Что произойдет, если в команде UNION одна из колонок будет иметь NULL?
Anonymous Quiz
7%
A) UNION будет работать некорректно.
22%
B) NULL будет считаться уникальным значением.
45%
C) NULL будет проигнорирован при объединении.
27%
D) NULL будет считаться равным другому NULL при удалении дубликатов.
👍7❤1🔥1
Forwarded from QA Live 🚩 тестирование ПО
This media is not supported in your browser
VIEW IN TELEGRAM
💀 Что происходит с рынком труда — взгляд нанимающего менеджера
🎁 Адвент-календарь для тестировщиков 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% желающих работать в офлайне
Ютубы
Вакансии
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍1🔥1
У вас есть таблица employees с колонками id, name, salary. Вам нужно разделить всех сотрудников на 4 равные группы по уровню зарплаты.
Anonymous Quiz
20%
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;
13%
D) SELECT name FROM employees ORDER BY salary LIMIT 4;
😁9🌚2
Выбор индекса при соединении по нескольким столбцам
#почитать
Суть проблемы: имеется несколько индексов с одинаковыми ведущими столбцами, выбирается не лучший индекс, и время выполнения запроса увеличивается на порядки. Такие индексы встречаются в сложных приложениях, но чаще всего в 1С:ERP, поскольку это приложение наиболее распространено. Как это обычно бывает: после миграции приложения на СУБД PostgreSQL часть запросов начинает выполняться медленнее. Планировщик выбирает индекс, созданный по меньшему числу столбцов, время выполнения увеличивается, потому что при использовании такого индекса индексные записи указывают на строки таблицы, которые не соответствуют условиям соединения. При выборе же индекса по большему числу задействованных в запросе столбцов время выполнения существенно снижается и практически не зависит от размера таблиц.
⏱ Читать статью
#почитать
Суть проблемы: имеется несколько индексов с одинаковыми ведущими столбцами, выбирается не лучший индекс, и время выполнения запроса увеличивается на порядки. Такие индексы встречаются в сложных приложениях, но чаще всего в 1С:ERP, поскольку это приложение наиболее распространено. Как это обычно бывает: после миграции приложения на СУБД PostgreSQL часть запросов начинает выполняться медленнее. Планировщик выбирает индекс, созданный по меньшему числу столбцов, время выполнения увеличивается, потому что при использовании такого индекса индексные записи указывают на строки таблицы, которые не соответствуют условиям соединения. При выборе же индекса по большему числу задействованных в запросе столбцов время выполнения существенно снижается и практически не зависит от размера таблиц.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7✍1👍1
У вас есть две таблицы: users и orders. Вы хотите найти всех пользователей, которые сделали более одного заказа.
Anonymous Quiz
24%
A) SELECT user_id FROM orders GROUP BY user_id HAVING COUNT(*) > 1;
19%
B) SELECT user_id FROM orders GROUP BY user_id WHERE COUNT(*) > 1;
48%
C) SELECT user_id FROM orders JOIN users ON users.id = orders.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
Что происходит при использовании функции LAST_INSERT_ID() в MySQL?
Anonymous Quiz
58%
Возвращает последний вставленный идентификатор для текущей сессии
12%
Возвращает максимальный ID в таблице
7%
Возвращает количество вставленных строк
23%
Возвращает идентификатор последней транзакции
🥰7🔥4👍1
Что из перечисленного НЕ является особенностью индексов типа GIN в PostgreSQL?
Anonymous Quiz
11%
Поддержка полнотекстового поиска
23%
Эффективность для массивов и JSONB
18%
Быстрое обновление при вставках и удалениях
18%
Индексация множества значений в одном столбце
13%
Использование для быстрого поиска по вложенным структурам
18%
Возможность создания частичных индексов
👍6
Forwarded from QA Live 🚩 тестирование ПО
🛠Инструменты
▫️От Jest к Vitest на backend тестах: как мы мигрировали тестовый фреймворк
▫️Создание и улучшение Page Object шаг за шагом
▫️Внедряем Testcontainers за два дня или как перестать бояться рефакторинга и начать доверять своим тестам
▫️Mock API для QA: Mockoon + ngrok
▫️FlexMock — мок без морок
▫️Apidog: выходные с инструментом, который пытается заменить Postman
▫️Универсальный автогенератор тестов API на базе Schemathesis
▫️Наблюдаемое нагрузочное тестирование: Locust + OpenTelemetry
▫️Улучшение тестов RestAssuredNet при помощи мутаций и StrykerNET
⚙️Процессы
▫️Что такое тест-покрытие?
▫️Нечёткое тестирование свойств
▫️Как попарное тестирование спасло нас ещё до первой строчки кода
▫️Как протестировать LLM и ИИ-приложение
▫️Разрабатываем тестовый стенд с автономным ИИ-агентом QA, способным заменить тестировщика в команде разработки бэкенда
▫️Эволюция QA: от ручного тестирования к TestOps
▫️Аудит QA-процессов: кто сторожит стражей
▫️Меланхолия тестировщика: почему метрики врут (Часть 1)
▫️Мышление QA: что происходит у меня в голове, когда я тестирую
▫️Искусство писать хороший баг-репорт
▫️Мы пробили новое дно: change request-ы и баг-репорты, которые никто не понимает
▫️Декарт, Поппер и баг в продакшене, или почему самый полезный предмет в моей карьере не имел отношения к ИТ
📊Рынок
▫️Что мне не нравится в текущем подходе к QAA
▫️Не junior-стек: какие технологии на самом деле требует рынок QA (анализ 2500 вакансий)
▫️Как готовиться к собеседованию с лайв-кодингом QA
▫️Полезные ресурсы для тестировщиков: подборка от специалистов Selectel
▫️Как начать тестировать внутренние покупки (In-App Purchases) на Android
▫️Тестируем железо на заводе, в РЧЦ и дома: два доклада и дискуссия с QA-инженерами
📹Посмотреть
▫️Следуй за белым кроликом ⏱️1 час
▫️Разбор технических вопросов на собеседовании QA ⏱️1 час
▫️Собеседование QA, какие этапы ⏱️30 минут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Вы хотите убедиться, что в колонке order_date никогда не будет дат, превышающих текущую. Какой тип ограничения нужно добавить к этой колонке?
Anonymous Quiz
10%
A) PRIMARY KEY
14%
B) FOREIGN KEY
71%
C) CHECK
5%
D) NOT NULL
👍10
Java.hasChosen(you)
Почему Java всё ещё №1 в автотестах?
Стас Васенков, основатель школы автотестировщиков @qa_guru, расскажет про свой мэтч с Java. Чем его зацепил этот язык и куда привёл. И куда Java может привести вас.
Приходите на открытый эфир
Что будет:
— неочевидные карьерные сценарии
— внутрянка: какой стек ждут, когда ищут автоматизатора
— кому Java уже не поможет
Не откладываем в TODO
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Выбор индекса при соединении по нескольким столбцам
#почитать
Суть проблемы: имеется несколько индексов с одинаковыми ведущими столбцами, выбирается не лучший индекс, и время выполнения запроса увеличивается на порядки. Такие индексы встречаются в сложных приложениях, но чаще всего в 1С:ERP, поскольку это приложение наиболее распространено. Как это обычно бывает: после миграции приложения на СУБД PostgreSQL часть запросов начинает выполняться медленнее. Планировщик выбирает индекс, созданный по меньшему числу столбцов, время выполнения увеличивается, потому что при использовании такого индекса индексные записи указывают на строки таблицы, которые не соответствуют условиям соединения. При выборе же индекса по большему числу задействованных в запросе столбцов время выполнения существенно снижается и практически не зависит от размера таблиц.
⏱ Читать статью
#почитать
Суть проблемы: имеется несколько индексов с одинаковыми ведущими столбцами, выбирается не лучший индекс, и время выполнения запроса увеличивается на порядки. Такие индексы встречаются в сложных приложениях, но чаще всего в 1С:ERP, поскольку это приложение наиболее распространено. Как это обычно бывает: после миграции приложения на СУБД PostgreSQL часть запросов начинает выполняться медленнее. Планировщик выбирает индекс, созданный по меньшему числу столбцов, время выполнения увеличивается, потому что при использовании такого индекса индексные записи указывают на строки таблицы, которые не соответствуют условиям соединения. При выборе же индекса по большему числу задействованных в запросе столбцов время выполнения существенно снижается и практически не зависит от размера таблиц.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Что произойдет, если в PL/pgSQL использовать PERFORM с функцией, возвращающей результат?
Anonymous Quiz
52%
A) Результат будет возвращён вызывающему коду
38%
B) Результат будет проигнорирован, функция вызовется без возврата
2%
C) Возникнет ошибка компиляции
8%
D) Функция выполнится дважды
👍7🔥1
Forwarded from QA Live 🚩 тестирование ПО
▫️Знай свой предел
▫️Эмуляция вместо имитации, или То, чего обычно не хватает нагрузочным тестам
▫️Почему ваши тесты для Telegram-ботов работают неправильно (и как это исправить)
▫️Перестать лайкать лайки
▫️Промпт для QA: представь, что ты НЕ тестировщик
▫️Удаление кода как подход к обучению
▫️QA и SRE – две стороны одной медали
▫️Какую информацию можно включать в базу знаний тестировщиков, чтобы это было полезно
▫️EVA: Инструмент. От нейросетей к детерминизму (Часть 3)
▫️Композиция в архитектуре тестов на примере Playwright + C#
▫️Почему «заканчивается» время в iOS-будильнике и как мы искали предел в часах Samsung
▫️Тестирование Telegram-ботов в CI/CD: токены не нужны
▫️Путешествие внутрь YADRO. Часть 3: распаковка и тест-драйв TATLIN.UNIFIED Gen2
▫️От «спагетти-кода» к чистым сценариям. Как Page Object Model помог нам преодолеть техдолг в автотестах
▫️Работа с нестабильными тестами в Allure 3
▫️Компромиссы построчной вставки в БД и батчинга
▫️Войти в айти в 2026 году
▫️В QA платят не за тестирование: анализ зарплат по 2500 вакансиям
▫️Доступ к Google Store для Huawei
▫️Обход ограничений сети на рабочем ПК
▫️Работа с OpenSearch и анализ логов ⏱️1 час
▫️Почему ваш сайт ломается, когда его трогают пальцем ⏱️45 минут
▫️Quality narratives and the circles of consequence ⏱️45 минут
Олды, не пропадайте!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2