Simulative – Telegram
7.38K subscribers
1.71K photos
71 videos
1 file
1.27K links
Привет! Мы — образовательная платформа в сфере аналитики Simulative: simulative.ru

Создаём курсы-симуляторы, где обучаем не на «апельсинках», а на кейсах из реального бизнеса.

Наш уютный чат: @itresume_chat
Поддержка: @simulative_support
Download Telegram
🔥7👍3
🔥31
💥 Решаем необычную задачку по SQL

На днях мы наткнулись на очень любопытную задачку и решили, что стоит решить её вместе с вами!

🟢 Условие

Нам дана таблица подписок, которая состоит из даты начала и окончания подписки для каждого пользователя. Нам нужно написать запрос, который возвращает true/false для каждого пользователя на основе совпадения дат с другими пользователями.

Например, если период подписки user1 совпадает с периодом подписки любого другого пользователя, запрос должен возвращать значение True для user1.

Пример входной таблицы и результата запроса смотрите на карточке 1 под постом

🔵 Решение

На первый взгляд понятно, что мы должны сравнить каждую подписку с каждой другой. Давайте рассмотрим даты начала и конца подписки UserA как startA и endA, и аналогично для UserB - startB и endB.

Тогда, если startA ≤ endB и endA ≥ startB, то мы можем сказать, что два диапазона дат перекрываются. Давайте возьмем два примера - сравним U1 и U2:

- Начало = 2020-01-01
- Конец = 2020-01-31
- Начало = 2020-01-16
- Конец = 2020-01-26

Здесь мы видим, что startA(2020-01-01) меньше, чем endB(2020-01-26), и аналогично, endA(2020-01-31) больше, чем startB(2020-01-16), и, следовательно, можно сделать вывод, что даты перекрывают друг друга. Аналогично, если сравнить U1 и U4 (из таблицы), условия не выполнятся и вернется значение false.

Алгоритм мы уже подобрали, но есть несколько нюансов:

- мы должны убедиться, что пользователь не сравнивается с его собственной подпиской;
- используем LEFT JOIN таблицы с самой собой, чтобы сопоставить пользователя с каждым другим пользователем, который удовлетворяет нашему условию.

SELECT *
FROM subnoscriptions AS s1
LEFT JOIN subnoscriptions AS s2
ON s1.user_id != s2.user_id
AND s1.start <= s2.end
AND s1.end >= s2.start

Результат запроса смотрите на карточке 2 под постом 😉

Видим, что для каждого пользователя существует другой пользователь в случае, если даты совпадают. Для user1 есть 2 строки, указывающие на то, что он совпадает с 2 пользователями. А для user4 соответствующий id равен null, что указывает на то, что он не совпадает ни с каким другим пользователем.

Теперь, объединив все это вместе, мы можем сгруппировать по полю s1.user_id и просто проверить, существует ли какое-либо значение true для пользователя, где s2.user_id НЕ равен NULL.

SELECT s1.user_id, 
(CASE WHEN s2.user_id
IS NOT NULL THEN 1
ELSE 0 END) AS overlap
FROM subnoscriptions AS s1
LEFT JOIN subnoscriptions AS s2
ON s1.user_id != s2.user_id
AND s1.start <= s2.end
AND s1.end >= s2.start
GROUP BY s1.user_id

Мы использовали CASE чтобы присвоить 1 и 0 в зависимости от значения s2.user_id для данного пользователя. Конечный результат смотрите на карточке 3 под постом.

📚 Интересная задача, согласитесь? Не часто встречаются соединения по неравенству. Вернее, use кейс встретить можно часто, но не всегда вспоминается, что так тоже можно! Если вдруг вы забыли о такой крутой опции - приглашаем в наш недавний пост про Non-Equi JOIN!
🔥134👍4
🔥 Супер-удобная функция Matplotlib

Это, должно быть, самая крутая вещь, которую мы когда-либо узнавали о Matplotlib.

🤔 Обычно, для создания графиков мы используем метод plt.subplots(). Но иногда это превращается в довольно громоздкие конструкции. А еще:

- это ограничивает нашу гибкость при создании макета;
- иногда получаются ошибки индексации и некоторые другие неловкости.

💡 Вместо этого мы можем использовать метод plt.subplot_mosaic(). Так, мы сможем создать график и расположить его как угодно, определив структуру графика простой строкой.

Например, расположение строк:

- AB
- AC

Создаст три подграфика, в которых:

- подграфик A будет занимать весь первый столбец
- подграфик B будет занимать верхнюю половину второго столбца
- подграфик C будет занимать нижнюю половину второго столбца

ax = fig.subplot_mosaic("""AB
AC""")

ax['A'].plot(...) # область А
ax['B'].plot(...) # область B
ax['C'].plot(...) # область C
Результат смотрите под постом

Затем создайте подграфик в определенной области, просто через доступ к словарю ax по ключу ('A', 'B' или 'C' ).

type(ax)
dict

ax['A'].plot(...) # область А
ax['B'].plot(...) # область B
ax['C'].plot(...) # область C

📌 Попробуйте вместе с нами!

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(
layout="constrained",
figsize = (8,6))

mosaic = """abc
add
eee"""

ax = fig.subplot_mosaic(mosaic)
x = np.linspace(0.1, 1, 10)

ax['a'].plot(x, np.sqrt(x))
ax['b'].scatter(x, x**2)
ax['c'].scatter(x, np.log(x))
ax['d'].bar([1,2,3,4,5],
[1,2,3,4,5])
ax['e'].hist(
np.random.normal(0,1, 100))

plt.show();

Скажите, классная функция?! С помощью нее гораздо проще создавать дашборды 😉

#python #visualization
🔥13😱7🤩5
🔥124
Приглашаем к нам в команду - Технический автор / Методист 🔥

На связи Андрон, CEO IT Resume & Simulative. И сегодня я с хорошей новостью - мы расширяем команду и ищем крутого технического автора / методиста 🔥

Если коротко - ищем в команду человека, который будет заниматься созданием задач, уроков, статей, постов, автотестов по теме аналитики и программирования по всем нашим продуктам. Результаты вашей работы будут видеть тысячи человек каждый месяц - это очень вдохновляет 😍

🔗 Подробнее про вакансию и как откликнуться - по ссылке: https://merciful-cobra-6c3.notion.site/086bc4211c0f4fb38ea0cd2df6bd69bb?pvs=4

Желаю удачи и до скорой встречи у нас в команде 😉
🔥52🤩2
📚 Секреты с SQL собеседований: Изучаем констраинты в PostgreSQL!

Привет, друзья! Сегодня мы углубимся в мир SQL и обсудим одну из важных тем – констраинты! Если вы готовитесь к собеседованию на должность, связанную с SQL, то обязательно стоит освоить эту тему. Констраинты в PostgreSQL помогают обеспечивать целостность данных и поддерживать ограничения, защищающие информацию.

⭐️ Что такое констраинты в PostgreSQL?

Констраинты
– это правила или ограничения, которые налагаются на данные в таблицах базы данных. Они гарантируют соблюдение определенных правил при вставке или изменении данных, помогая избежать ошибок и несогласованных значений.

🔍 Типы констраинтов

1. PRIMARY KEY (первичный ключ): Обеспечивает уникальность значений в столбце и предотвращает ввод значения NULL.

CREATE TABLE products (
product_no integer PRIMARY KEY,
name text,
price numeric
);


2. FOREIGN KEY (внешний ключ): Связывает значения в столбце с значениями в другой таблице, обеспечивая ссылочную целостность данных.

-- например создадим внешний ключ к прошлой таблице в таблице orders

CREATE TABLE orders (
order_id integer PRIMARY KEY,
product_no integer REFERENCES
products (product_no),
quantity integer
);


3. UNIQUE (уникальный): Гарантирует уникальность значений в столбце. Причем, в отличие от PRIMARY KEY - не гарантирует отсутствие NULL-значений. Так как два NULL значения для PostgreSQL - различны 🙂

CREATE TABLE products (
product_no integer UNIQUE,
name text,
price numeric
);

-- или для группы столбцов сразу

CREATE TABLE example (
a integer,
b integer,
c integer,
UNIQUE (a, c)
);

-- причем в таком формате,
уникальными должны быть только
сочетания этих столбцов, а
значения по отдельности
уникальными могут и не быть :)


4. CHECK (проверка): Устанавливает условие, которое должно быть истинным для вставки или обновления данных в таблице.

Пример:

CREATE TABLE products (
product_no integer,
name text,
price numeric CHECK (price > 0)
);
-- ограничили цену товара положительными значениями


🚀 Почему это важно для собеседований?

Вопросы о констраинтах часто задают на собеседованиях, чтобы убедиться, что вы хорошо разбираетесь в работе с БД и понимаете, как обеспечить целостность данных. И хотя аналитикам редко приходится формировать таблицы - это спрашивают практически на каждом собеседовании. А предупрежден - значит вооружен!

👉 Подготовиться к любому техническому собеседованию поможет Симулятор собеседования аналитика → задачи с собеседований в топовые компании, тестовые онлайн-собеседования, вопросы и кейсы и много другое!

#sql #interview_problems
11👍7🔥7
🔥 7 полезных применений Underscore в Python

Сегодня давайте поговорим о таком незаметном, но очень полезном символе - нижнее подчеркивание или underscore (_). Эти маленькие символы на самом деле ответственны за широкий функционал. Какой? Давайте посмотрим:

1️⃣ Имя переменной в цикле

Это, наверное, знакомо всем. В ситуациях, когда вам не нужно далее использовать переменную цикла - можно не придумывать ей имя, а просто задать underscore:

for _ in range(10):
pass

2️⃣ Разделение цифр

Чтобы сделать большие числа более понятными, можно использовать подчеркивания для разделения разрядов. Ваш код будет намного чище и легче читаться! 👀

10000000000000
# 10000000000000

10_000_000_000_000
# 10000000000000

3️⃣ Магические методы

Двойные нижние подчеркивания позволяют нам написать магические методы:

class MyClass:
def __init__(self) :
self.variable = 10

4️⃣ Приватность

Если вам нужно сделать атрибут приватным в классе, добавьте двойное подчеркивание в начале. Это защитит вашу переменную от случайного переопределения. 🔒

self.__attr = 10

5️⃣ Одиночное подчеркивание для внутренних переменных

Если вы хотите обозначить переменную для внутреннего использования, добавьте одиночное подчеркивание в начале имени. Это поможет избежать конфликтов и понять, что эта переменная предназначена для внутренних целей. 💡

# file.py
_internal = 10

from file import *
_variable
# NameError: name '_variable' is not defined

И десерт!

6️⃣ Конфликты с ключевыми словами

Если вам нужно использовать имя, которое совпадает с зарезервированным словом, добавьте одиночное подчеркивание в конец имени:

def foo(class = "object"):
... # не сработает

def foo(class_ = "object"):
... # сработает

7️⃣ Последнее вычисленное значение

Когда вам нужно использовать результат предыдущего вычисления, просто введите _, и Python даст вам последнее значение. Вот так легко и удобно! 😎

5 + 10
# 15

_
# 15

💫 Надеемся, что эти маленькие хитрости сделают ваш опыт еще более приятным. Поделитесь с нами, какие секреты Underscore в Python вы знаете и любите использовать!
👍20🔥103
🔥 DAU/MAU - ключевые продуктовые метрики

Сегодня мы поговорим о ключевых метриках использования продукта, которые помогают оценить активность пользователей и вовлеченность. Эти метрики являются основой для понимания того, насколько успешно работает ваш продукт и насколько довольны им пользователи. Итак, DAU и MAU!

🔵 Как эти метрики стали использоваться?

DAU/MAU был популярным показателем из-за Facebook, который популяризировал метрику. В результате, когда они начали говорить об этом, другие приложения часто стали оцениваться по тем же ключевым показателям эффективности.

🟢 Что такое DAU?

DAU (Daily Active Users) – это метрика, которая показывает количество уникальных пользователей, активно использующих ваш продукт или сервис в течение одного дня.

🟣 Что такое MAU?

MAU (Monthly Active Users) – это метрика, измеряющая количество уникальных пользователей, которые заходят на вашу платформу в течение месяца. MAU предоставляет гораздо более обширную картину о популярности продукта и его росте на более длительном временном отрезке.

📈 Как увеличить?

Важно активно работать над улучшением пользовательского опыта, внедрять новые функции и привлекательный контенты. Обратная связь от пользователей – ваш лучший друг!

‼️ НО!

Не все должно использоваться ежедневно, чтобы быть ценным. По другую сторону находятся продукты, использование которых - скорее эпизодическое, но каждое взаимодействие имеет большое значение. И здесь DAU/MAU - неподходящая метрика.

> В Uber, например, самые выгодные поездки - это поездки в аэропорты, премиум поездки для важных выходов, деловых поездок и т. д. Это происходит не каждый день, и хотя есть люди, использующие Uber для поездок на работу, это не есть стандартный сценарий использования.


🟡 Что сделать?

Если ваш DAU/MAU не очень высок, то посмотрите на свою основную пользовательскую базу. Какой % ваших пользователей был активным каждый день на прошлой неделе? Что они делали? Как вы собираетесь привлечь больше?

Аналогично, возможно, частота использования увеличивается в корреляции с чем-то. Можно проследить за этим и предположить, что, увеличивая эту переменную, DAU/MAU со временем будет расти.

Наконец, может быть, DAU/MAU просто не для вас. Иногда вам не нужно быть приложением каждого дня, чтобы быть успешными. Может быть клиенты используют ваш продукт 2 раза в год, но он приносит им большую ценность, а вам - крупную сумму денег!

Научитесь считать, анализировать и правильно интерпретировать продуктовые метрики в нашем 👉 Симуляторе «Аналитик данных» 👈!

#продуктовые_метрики
🔥106👍5
Кому в аналитике работать хорошо? 🏖

В наших проектах мы ежемесячно помогаем десяткам ребят с разным опытом найти свою работу мечты в аналитике. Кто-то устраивается BI-аналитиком, кто-то находит свое призвание в продуктовой аналитике, а кто-то тащится от маркетинга.

Но абсолютно каждый раз перед принятием оффера мы вместе с ребятами оцениваем - а насколько вообще в компании работать классно, интересно и перспективно? Ведь это супер важно для карьерного роста - попасть в проект, который позволяет тебе расти вместе с бизнесом, в котором ты работаешь, за счет супер-интересных задач и супер-амбициозной команды 😎

И одна из таких компаний, которую мы всегда рекомендуем двумя руками - Яндекс, а в частности его подразделения Яндекс 360 и Yandex Cloud (наверняка вы пользуетесь их продуктами, признайтесь) 🔥 Они наши давние партнеры - в разное время там работало, как минимум, несколько десятков наших ребят.

А сегодня они по старой дружбе попросили рассказать вам о двух классных вакансиях - а мы не могли отказать 🕺 Так что налетайте, пока они еще актуальны)))

* Developer Advocate Data Platform

Если коротко: Нужно помогать Яндексу продвигать Yandex Cloud среди разработчиков. Условия - отличные. Задачи - супер интересные и нестандартные. А строчка в резюме с таким звучным названием вакансии - вообще кайф)))

Важная информация: Админ канала уже откликнулся на вакансию, так что не затягивайте - конкуренция плотная))

🔗 Ссылка на вакансию: ссылка


* Аналитик-разработчик в области автоматизации процессов ИБ

Рекламу анализируют многие. Многие анализируют HR. Еще больше анализируют продукт. А кто анализирует безопасность? 😏

Правильный ответ: те, кто не растерялся и первым откликнулся на эту кайфовую вакансию 😁

🔗 Ссылка на вакансию: ссылка

В общем, если вы развиваетесь в аналитике и кайфуете от работы в крутых командах и проектах - вам в Яндекс. Больше и добавить нечего - просто залетайте по ссылкам и будет вам счастье)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥32
🚀 Ищем преподавателя по AB-тестам и аналитике! 🚀

Мы, команда IT Resume, ищем энергичного и вдохновленного преподавателя, готового поделиться своими знаниями и страстью к анализу данных и AB-тестам!

📋 Обязанности:

- Подготовка обучающих материалов
- Составление интересных задач по теме AB-тестирования
- Запись видеоуроков для наших студентов

📌 Требования:

- Опыт работы на аналогичных курсах приветствуется, но не обязателен
- Опыт работы с AB-тестами является большим плюсом

💼 Условия:

- Сдельная оплата
- Гибкий график и возможность работы из дома
- Оплата за готовый материал
- Поддержка студентов, если вам интересно, оплачивается отдельно и помесячно

📩 Для начала, давайте поговорим - свяжитесь с Анной Даниловой, чтобы узнать больше о вакансии.

Присоединяйтесь к нам и помогайте студентам освоить мир аналитики и AB-тестирования! 🔥
4🔥4
🔥 Ошибки при использовании джоинов 🔥

Давайте обсудим некоторые ключевые аспекты работы с джоинами в SQL, на которые стоит обратить внимание, чтобы избежать ошибок и недоразумений.

🔑 Сохранение данных в приоритете

При написании запросов с джоинами, особенно с транзитивными связями, всегда задавайте себе вопрос:

Какие данные мне важно не потерять?

Выбор правильного типа джоина имеет огромное значение, потому что неверный выбор может привести к некорректным результатам. Часто бывает так:

1️⃣ Вы выбираете джоин, который кажется логичным.

2️⃣ Вы не замечаете потенциальных проблем.

Давайте рассмотрим этот момент на примере:

SELECT *
FROM problem p
JOIN page p2
ON p.page_id = p2.id
JOIN company c
ON p.company_id = c.id

На первый взгляд, этот запрос кажется корректным, и результаты выглядят нормально. Однако, если внимательно проанализировать, вы увидите, что множество записей из таблицы problem просто исчезли 😱

⁉️ Почему так произошло?

Что, если в таблице problem есть строки, в которых company_id = NULL? Тогда такие строки будут исключены из результата, ведь в таблице company поле id - первичный ключ и не содержит NULL.

❗️Чтобы избежать потери данных, всегда помните о выборе правильного типа джоина:

SELECT *
FROM problem p
JOIN page p2
ON p.page_id = p2.id
LEFT JOIN company c
ON p.company_id = c.id

Используя LEFT JOIN, вы сохраните все записи из problem и соответствующие им записи из company, где problem.company_id=NULL, будут иметь пустые значения.

Помните об этом важном аспекте при работе с джоинами, чтобы получать точные и полные результаты!

🔗 Узнайте больше полезностей в Симуляторе 👉 «Аналитик данных» 👈

#sql
17🔥9👍7🤩4
🔥 Базовая Шпаргалка по Pandas 🔥

Pandas - один из самых основных и важных инструментов для работы с данными в Python. Он предоставляет множество удобных функций для загрузки, обработки, и анализа данных.

Мы собрали шпаргалку, в которой все основные функции, которые пригодятся вам в повседневной работе с Pandas:

Импорт данных: Загрузка данных из разных источников.

Исследование данных: Ознакомление с данными, просмотр первых и последних строк, получение информации о типах данных.

Извлечение информации из датафреймов: Выбор столбцов и строк, выполнение различных операций.

Добавление и удаление данных: Добавление новых столбцов и строк, удаление лишних данных.

Фильтрация: Выбор данных по условию, множественные условия.

Сортировка: Сортировка данных по столбцам, множественная сортировка.

Агрегирование: Группировка данных, вычисление статистических показателей, подсчет уникальных значений.

И для удобства мы сделали для вас notebook 😊

Сохраняйте и пользуйтесь 👇

https://colab.research.google.com/drive/1XOF8oQB3kzs0Yxt17XdtGy8IFNudvp4c?usp=sharing

Если у вас есть какие-либо дополнения, не стесняйтесь оставлять в комментариях! 🐼

#python #pandas
👍15🔥86
Персональная онлайн-экскурсия в Симулятор 🔥

Небольшая предыстория - на этой неделе я выбирал себе курс по английскому языку. Просмотрел более 20 компаний, сходил на вебинары, посмотрел на демо-версии. И знаете, что больше всего смущает и останавливает от покупки?

А то, что только после покупки я узнаю, за что я реально заплатил и что реально получил 🥲 Получается, беру кота в мешке за N тысяч рублей. Волнительно. Поэтому мы решили запустить для вас бесплатную онлайн-экскурсию в наш Симулятор «Аналитик данных»! 😍

За 20 минут на онлайн-созвоне в Google Meet/Zoom мы:

🔸Покажем все обучающие материалы, LMS, рабочие чаты и примеры выполненных работ
🔸Проанализируем вашу текущую ситуацию, уровень знаний и желаемый карьерный результат
🔸Составим список точных шагов, которые приведут вас к нужному результату
🔸Поможем приоритизировать обучение и выстроим четкий образовательный трек

🔗 Записаться на экскурсию: https://forms.gle/qSyfrudojoZpodYaA

Хотите уже на этапе обучения решать кейсы из реального бизнеса? Запишитесь к нам на онлайн-экскурсию - мы поможем сделать обучение эффективным!

🎁 Бонусы для участников экскурсии:

- Тестовый доступ к Симулятору «Аналитик данных»
- Методичка по продуктовым метрикам
- Методичка по рекламным метрикам
- Гайд по Retention
- Доступ к закрытой библиотеке лучших книг по SQL

🔗 Записаться на экскурсию: https://forms.gle/qSyfrudojoZpodYaA
🔥54👍2👎1
🔥 Симулятор «Аналитик данных» — обучение стало доступнее!

Спешим поделиться классной новостью! Мы расширили способы оплаты обучения и теперь:

→ Мы принимаем платежи с любых карт, с российских и зарубежных.

→ Предоставляем беспроцентную рассрочку на обучение на 3, 6, 12 и 24 (!) месяца. Это не кредит — все проценты мы берем на себя. Сотрудничаем с банками Тиньков, Сбером и Хоум Кредит банком.

→ Можем давать вам внутреннюю рассрочку, если у вас нет возможности взять ее от РФ банка — просто напишите нам на почту clients@itresume.ru, мы поможем 💪🏻

→ Если вы из Беларуси и вам необходима рассрочка — напишите нам на почту clients@itresume.ru 😉

Симулятор «Аналитик данных» — это обучающая программа, где студенты:

🔹 учатся аналитике данных на реальных коммерческих задачах и кейсах;
🔹 пополняют своё портфолио и работают с универсальным инструментарием;
🔹получают оффер после обучения, не имея за плечами настоящего опыта на стороне компании.

А вы готовы присоединиться к нам? 👉 ссылка
4🔥3🤩2👍1👎1
🔥 Заглядываем в Мир версионного контроля

Привет, коллеги - разработчики! Сегодня мы рассмотрим важные состояния файлов в Git.

Git - это ядро современного сотрудничества и версионного контроля в мире программирования.

1️⃣ Неотслеживаемое (Untracked)

- Это файлы, которые созданы, но Git не знает о них. Они находятся в состоянии "untracked".
- Чтобы начать отслеживание файла, используйте команду git add <имя файла>, и он перейдет в состояние "staged".

2️⃣ Измененное (Modified)

- Если вы изменяете файлы, которые уже отслеживаются Git, они переходят в состояние "modified".
- Git сохраняет информацию о том, какие строки и какие части файлов были изменены.

3️⃣ Подготовленное (Staged)

- Здесь находятся файлы, готовые к следующему коммиту. Вы выбираете, что включить в коммит.

4️⃣ Закомиченное (Committed)

- После коммита файлы становятся закомиченными и сохраняются в истории проекта.
- Состояние "staged" становится пустым, но состояние "modified" может содержать изменения.

Git - это не просто инструмент, это язык, на котором разговаривают разработчики 👩‍💻🧑‍💻👨‍💻

Не забудьте поделиться вашим опытом в комментариях!

_ _ _ _ _ _ _ _ _ _ _

Хотите посмотреть, как устроен наш Симулятор «Аналитик данных» и понять, как вы можете бустануть свою карьеру в аналитике с помощью обучения на реальных бизнес-кейсах? Просто запишитесь на нашу бесплатную онлайн-экскурсию!

За час на онлайн-созвоне в Google Meet/Zoom мы:

🔸Покажем все обучающие материалы, LMS, рабочие чаты и примеры выполненных работ
🔸Проанализируем вашу текущую ситуацию, уровень знаний и желаемый карьерный результат
🔸Составим список точных шагов, которые приведут вас к нужному результату

🔗 Записаться на экскурсию: https://forms.gle/qSyfrudojoZpodYaA

🎁 Бонусы для участников экскурсии:

- Тестовый доступ к Симулятору «Аналитик данных»
- Методичка по продуктовым метрикам
- Методичка по рекламным метрикам
- Гайд по Retention
- Доступ к закрытой библиотеке лучших книг по SQL

🔗 Записаться на экскурсию: https://forms.gle/qSyfrudojoZpodYaA

#git
3👍3🔥2
🤩 Обновление в Симуляторе «Собеседования аналитика»!

У нас новости! Мы расширили опции тарифов на Симуляторе «Собеседования аналитика», и обучение теперь стало еще приятнее и продуктивнее.

Что мы добавили:

🔸 бессрочный доступ ко всем материалам курса

🔸 поддержку наставника по любым вопросам 24/7

🔸 еще больше продуктовых кейсов и задач с технических собеседований — вас ждет настоящая «прожарка» ваших знаний и навыков 😉

Подробнее о тарифах и опциях на сайте 👉 ссылка 👈
2👍2🔥2
🤓 Повторяем вопросы к собеседованиям 😎

Чем авторизация отличается от аутентификации?
Аутентификация — процедура проверки подлинности, например проверка подлинности пользователя путем сравнения введенного им пароля с паролем, сохраненным в базе данных. Авторизация — предоставление определенному лицу или группе лиц прав на выполнение определенных действий.

Почему базы данных называются реляционными?
Потому что данные в них хранятся в виде таблиц. Также бывают нереляционные бд, в которых данные хранятся иначе, например в формате словарей или графов.

Чем left join отличается от inner join?
inner join возвращает строки, содержащие совпадения в обоих таблицах, left join — все строки из левой таблицы, даже если в правой нет совпадений.

Что такое foreign key (внешний ключ)?
Внешний ключ SQL — это ключ, используемый для объединения двух таблиц. Иногда его также называют ссылочным ключом. Внешний ключ — это столбец или комбинация столбцов, значения которых соответствуют Первичному ключу в другой таблице.

🚀 Присоединяйтесь к курсу 👉 Симулятор Собеседования!

Будем готовиться вместе 💪

#interview_problems
🔥15👍9😁1🤩1