#Вопросы_с_собеседования
Объясните разницу между командами DELETE и TRUNCATE
Команда DELETE — это DML-операция, которая удаляет записи из таблицы, соответствующие заданному условию(1 строка на картинке). При этом создаются логи удаления, то есть операцию можно отменить.
А вот команда TRUNCATE — это DDL-операция, которая полностью пересоздаёт таблицу, и отменить такое удаление невозможно(2 строка на картинке).
#Вопросы_с_собеседования
❓Что такое строковые функции в SQL?
Строковые функции SQL используются в основном для обработки строк. Некоторые из широко используемых строковых функций SQL представлены ниже:
• LEN () — возвращает длину значения в текстовом поле.
• LOWER () — преобразует символьные данные в нижний регистр
• UPPER () — преобразует символьные данные в верхний регистр
• SUBSTRING () — извлекает символы из текстового поля.
• LTRIM () — Это удалить все пробелы в начале строки.
• RTRIM () — удалить все пробелы в конце строки.
• CONCAT () — функция Concatenate объединяет несколько символьных строк вместе.
• REPLACE () — для обновления содержимого строки.
💸 Вакансии для IT'шников
Выбери своё направление ⤵
1. Frontend
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. C/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
#вопросы_с_собеседований
Имеет ли значение порядок колонок в составном индексе?
Да, порядок колонок в составном индексе имеет значение.
Рассмотрим пример:
У нас есть таблица orders с колонками order_id, customer_id, order_date, product_id и quantity. Нам необходимо создать составной индекс для ускорения поиска заказов по customer_id и order_date.
Мы можем создать два индекса:
1. Индекс по (customer_id, order_date)
2. Индекс по (order_date, customer_id)
В первом случае, запросы с условием WHERE customer_id = ? AND order_date = ? будут выполняться быстрее, так как эти колонки находятся в порядке, указанном в индексе.
Во втором случае, запросы с условием WHERE order_date = ? AND customer_id = ? будут выполняться медленнее, так как порядок колонок не соответствует порядку в индексе.
Таким образом, порядок колонок в составном индексе имеет значение и должен соответствовать порядку, в котором используются колонки в запросах.
Объяснение Запроса
Подзапрос: Здесь используется подзапрос для выбора CustomerID из таблицы Orders, группируя по CustomerID и применяя условие HAVING COUNT(OrderID) > 2. Это выбирает клиентов, сделавших более двух заказов.
Объединение (JOIN): Основной запрос использует JOIN для соединения таблиц Customers и результата подзапроса по CustomerID.
Условие WHERE: Фильтрация происходит по полю City в таблице Customers, чтобы выбрать только тех клиентов, которые находятся в "New York".
Этот запрос тестирует понимание кандидата в области объединения таблиц, работы с агрегатными функциями и подзапросами, а также фильтрации данных в SQL.
🔥Тесты для подготовки к собеседованию🔥
Выбери своё направление:
1. Frontend
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. C/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
SQL Server: GETUTCDATE
GETUTCDATE - это функция даты и времени в SQL Server, которая возвращает текущую дату и время в формате UTC. UTC - это стандартный формат времени, используемый для избежания расхождений часовых поясов и обеспечения согласованности в разных часовых поясах. В отличие от функции GETDATE, которая возвращает текущую локальную дату и время, GETUTCDATE всегда возвращает текущую дату и время в формате UTC.
Как работает GETUTCDATE?
GETUTCDATE - это недетерминированная функция, что означает, что она возвращает разное значение каждый раз при вызове, даже в рамках одного оператора. Она извлекает текущую дату и время из операционной системы сервера, на котором работает SQL Server, а затем преобразует его в формат UTC. Результатом является значение datetime с точностью 3,33 миллисекунды.
💻Antares SQL — удобный и простой open-source SQL-клиент
— sudo apt install antares
Antares SQL — это современное приложение, созданное с упором на простоту и UX, про производительность тоже не забыли
🟡 GitHub
Секреты успешных аналитиков: почему визуализация данных — ваш лучший друг!
Уже владеете Excel, но не умеете представлять данные так, чтобы впечатлять и руководителя, и клиентов?
24 сентября приходите на бесплатный мастер-класс по визуализации данных для аналитиков, чтобы под руководством эксперта научиться строить красивые и информативные графики: три вида графиков Excel за полтора часа. Бесплатно!
Что будет на мастер-классе:
- основы визуализации для аналитиков;
- что такое хорошая визуализация;
- построение и оформление трех видов графиков в Excel;
- карьерные бонусы и подарки для всех участников.
Мастер-класс проведет тимлид «ПРОФИ» и эксперт школы аналитики Changellenge >> Education Михаил Титков.
📅 Дата: 24 сентября
🕒 Время: 19:00 Мск
📍 Формат: онлайн
💵 Стоимость: бесплатно
Хотите превращать свой анализ в легко воспринимаемую визуальную историю? Регистрируйтесь на мастер-класс по ссылке >> https://u.to/1L-hIA
Реклама. ООО «Высшая школа аналитики и стратегии». ИНН 7716917009. erid: 2VtzqwBHw28
Sqlelf
Инструмент, использующий функциональность виртуальной таблиц Sqlite, позволяющий исследовать объекты Linux ELF с помощью SQL.
ELF (англ. Executable and Linking Format — это формат исполнимых и компонуемых файлов) — формат исполняемых двоичных файлов, используемый во многих современных UNIX-подобных операционных системах, таких как FreeBSD, Linux, Solaris и др.
Традиционно изучение файлов ELF ограничивалось такими инструментами, как objdump или readelf. Несмотря на то, что эти инструменты обладают широкими возможностями синтаксического анализа, формат вывода и возможность задавать исследовательские функции инструментов довольно ограничены.
▪ Github
💻EventStoreDB — open-source БД, в основе которой событийно-ориентированный подход
Благодаря событийно-ориентированному подходу EventStoreDB позволяет извлекать больше пользы из данных, видеть больше связей и закономерностей
EventStoreDB позволяет создавать кластеры в AWS, Azure и GCP и безопасно подключать их к собственным облачным ресурсам.
Быстрый старт с Docker:docker run --name esdb-single-node -it -p 2113:2113 -p 1113:1113 eventstore/eventstore:latest --insecure --run-projections=All --enable-atom-pub-over-http
🖥 GitHub
Привет, на связи админ! Напишите в комментариях список тем, которые вы бы хотели, чтобы мы рассмотрели в наших постах
Читать полностью…Станьте разработчиком нейро-сотрудников на Python и зарабатывайте от 150.000р в месяц 🔥🔥🔥
Мы научим вас создавать топовых нейро-сотрудников на базе GPT-4 Omni, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тысяч ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тысяч ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате
Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT-4o на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.
Ведущий интенсива - Senior AI разработчик нейросетей и основатель Университета искусственного интеллекта
🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайший четверг!
😒 На одном кодинге уже давно не вывезешь, перспектива 2024 года - Информационная Безопасность
Ловите два канала на тему ИБ и хакинга
ZeroDay - Уроки по кибербезопасности и хакингу с нуля. Вирусы, взломы, OSINT, криптография и свежие новости
Белый Хакер - программное обеспечение, утилиты, OSINT, инструменты, полезная литература и много другое. Совершенно новый формат непохожий на другие каналы.
Что делать, если пробелы в резюме не дают расти в профессии и финансах
Повышения проходят мимо, новых офферов нет, и для интересных вакансий не хватает навыков? Проверьте, насколько хорошо вы владеете тремя самыми популярными (и доходными) аналитическими инструментами — Excel, SQL и Python!
И нет, это не только про аналитику: эти три столпа нужны в маркетинге, финансах, управлении, консалтинге, HR и многих других сферах, где работают с большими объемами данных. При этом карьерный рост даже до уровня миддл без аналитических навыков практически невозможен – стоит только взглянуть на требования для серьезных вакансий на hh.
Заманчиво? Приходите на бесплатный интенсив «Введение в аналитику данных» школы Changellenge >> Education и научитесь уверенно использовать Excel, SQL и Python для работы с данными! Он пройдет онлайн с 12 по 16 сентября.
За пять дней вы:
– решите 2 практических кейса;
– поработаете с Excel, SQL и Python в связке, как это часто происходит в реальной работе;
– построите сводные таблицы с помощью SQL и Python;
– построите столбчатый график с помощью Python;
– потренируетесь применять функцию VLOOKUP в Excel.
А еще получите бонусы:
– памятки по решению задач в Excel, SQL и Python;
– сборник полезных материалов по аналитике;
– грант 15 000 рублей на комплексные программы по аналитике.
Пора сдвинуть карьеру с мертвой точки! Подключиться к обучению можно до 12 сентября включительно. Бесплатно!
Регистрируйтесь по ссылке >> https://u.to/d5vcIA
Реклама. ООО «Высшая школа аналитики и стратегии». ИНН 7716917009. erid: 2Vtzqw3eBjd
Используйте умные ссылки – создавайте и настраивайте сервисы для динамического управления редиректами
Как именно, спросите вы?
А очень просто: приходите на открытый урок OTUS «Проектирование сервиса умных ссылок»
Вы узнаете:
- как спроектировать сервис умных ссылок и создавать ссылки с динамическими правилами редиректа
- как настраивать редирект в зависимости от геолокации, устройства пользователя и других параметров
- как разрабатывать и оптимизировать масштабируемый и гибкий сервис умных ссылок
Вебинар проведёт действующий директор компании по разработке ПО, в прошлом – профессиональный разработчик на C++
👨💻🛠👨🏻💻 Будет интересно: бэкенд-разработчикам, фулстек-разработчикам, техническим архитекторам
📅 8 октября, 20:00
🆓 Бесплатно. Урок в рамках старта курса «Microservice Architecture»
🔴 Записаться на открытый урок: https://clck.ru/3DeVyxРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
#Вопросы_с_собеседования
❓Опишите различные типы индексов
Есть три типа индексов, а именно:
1. Уникальный индекс (Unique Index): этот индекс не позволяет полю иметь повторяющиеся значения, если столбец индексируется уникально. Если первичный ключ определен, уникальный индекс может быть применен автоматически.
2. Кластеризованный индекс (Clustered Index): этот индекс меняет физический порядок таблицы и выполняет поиск на основе значений ключа. Каждая таблица может иметь только один кластеризованный индекс.
3. Некластеризованный индекс (Non-Clustered Index): не изменяет физический порядок таблицы и поддерживает логический порядок данных. Каждая таблица может иметь много некластеризованных индексов.
Разбираем как решать задачи на LeetCode
✅ Примеры решений
✅ Пояснения
Выбери своё направление:
1. Python
2. JavaScript
3. Java
4. C#
5. Golang
6. C/C++
7. PHP
8. Kotlin
9. Swift
#Вопросы_с_собеседования
Объясните разницу между INNER JOIN и LEFT JOIN в SQL и приведите пример ситуации, в которой каждый из них наиболее подходит
INNER JOIN в SQL возвращает строки, когда есть совпадение в обеих таблицах, в то время как LEFT JOIN возвращает все строки из левой таблицы и совпадающие строки из правой таблицы; строки, для которых нет совпадений в правой таблице, будут иметь NULL в этих столбцах. INNER JOIN подходит, когда необходимо найти точные совпадения между таблицами, тогда как LEFT JOIN используется, когда нужно включить все записи из одной таблицы, даже если соответствующих совпадений в другой таблице нет.
#Вопросы_с_собеседования
Какое основное различие между внешним и внутренним соединением в SQL?
Внешнее соединение возвращает все строки из левой таблицы, даже если в правой таблице нет сопоставленных строк. Внутреннее соединение возвращает только строки, которые имеют сопоставленные строки в обеих таблицах.
Этот вопрос является сложным, потому что он требует понимания основ соединения таблиц в SQL. Внешние и внутренние соединения - это два основных типа соединения таблиц, и важно понимать, как они работают, чтобы правильно писать запросы.
📚 Здесь собраны все вопросы, которые могут спросить на собеседовании. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам. Просто выбери своё направление:
1. Frontend / JavaScript
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. C/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
Count (1) вместо count (*)
При любой возможности выбирайте count(1) вместо count(*). Оператор count(*) принимает в расчет все столбцы таблицы для выполнения вычислений, тогда как count(1) учитывает только первый столбец.
Обратите внимание, что результат остается неизменным, будь то count (*) или count (1).
При использовании count(1) движок базы данных задействует меньше ресурсов и работает быстрее. В случае небольших таблиц эта разница будет незаметна, но если дело касается больших из них, то данный фактор существенно отразится на производительности запросов.
Прокачай свои скилы с Алексеем Рыбаком! 🚀
Надоели скучные задачи по программированию? 💻
Время перейти на новый уровень!
🎖Приглашаем бекендеров и инженеров инфраструктуры на уникальный трехмесячный курс по системному дизайну и архитектуре высоконагруженных систем от Алексея Рыбака, главы разработки Bumble/Badoo с 20-летним опытом в highload проектировании.
В чем ценность этого курса?
✅ Огненная практика с первых дней обучения на реальных кейсах и собственной инфраструктуре
✅ Погружение «под капот» хайлоад систем, изучение паттернов и приемов масштабирования
✅ Топовые фишки и знания по архитектуре проектов и системному дизайну больших проектов (1-100M DAU)
✅ Живые сессии, брейнштормы, проектирование “у доски”
На выходе у вас появится опыт:
✅ Проектирования сложных систем
✅ Нагрузочного тестирования своей инфраструктуры (выжмете 100К запросов)
✅ Планирования ресурсов для проектов с большим количеством пользователей
✅ Масштабирования IT-проектов
✅ Практический опыт работы с кластерами Redis, CockroachDB и шардированными PostgreSQL/MySQL
✅ И многое другое!
➡️ Регистрируйся и погружайся в нескучный хайлоад
Реклама ИП Рыбак А. А. ИНН 771407709607
Не забывайте обновлять Postgres!
Регулярные обновления могут значительно повысить производительность и безопасность вашей базы данных.
Кроме того, с postgresql_cluster
этот процесс полностью автоматизирован
▪ Github
Обучаем разработчиков платформы данных и берём в команду ⚡️
Регистрируйся на онлайн-интенсив в Открытые школы Т1!
От тебя нужен только опыт работы от 6 месяцев в проектах разработки хранилищ данных и желание попасть в команду Т1.
Лучшим участникам предложим оффер в Т1 — крупнейшую ИТ-компанию страны по версии RAEX и CNews Analytics 2023🔝.
Зачем участвовать?
⚙️Приобрести ценный опыт. Одними из первых на рынке внедряем технологии для управления данными.
⚙️Получить поддержку наставников. Карьерные треки для выпускников Открытых школ позволяют быстрее вырасти в мидла.
⚙️ Работать в классной компании, где есть все айтишные бонусы (ДМС, удалёнка и крутые офисы, спорт и обучение).
⌛️ Быстрое обучение: 1 месяц.
💻 Гибкий формат: все этапы онлайн, занятия по вечерам.
Бигтех ждёт тебя, подавай заявку до 13 сентября!
Старт интенсива: 16 сентября.
Реклама. ООО "Т1". ИНН 7720484492.
#Вопросы_с_собеседования
Допустим, у вас есть таблица events с полями user_id, event_type, и timestamp. Как вы можете написать запрос, чтобы получить user_id всех пользователей, которые совершили событие login после события signup?
WHERE Условие: Фильтрует пары событий, где первое событие (e1) — это login, а второе (e2) — signup. Кроме того, проверяется, что timestamp для login (e1.timestamp) должен быть больше, чем timestamp для signup (e2.timestamp), что означает, что login произошел после signup.
PostgREST — REST API для любой Postgres БД
PostgREST обеспечивает полностью RESTful API из любой существующей базы данных PostgreSQL.
Он предоставляет более чистый, соответствующий стандартам и быстрый API, чем тот, который вы можете написать с нуля.
🖥 GitHub
🟡 Доки