Please open Telegram to view this post
VIEW IN TELEGRAM
10 35 30😁21👌9👨💻8👀8⚡6👏3🤣2
Пятница, время собрать заслуги и похвалить себя 😎
С первой неделькой настоящей весны вас! У нас в Волгограде только распогодилось🌞
Прощайте, пуховики и аляски. А кто ещё ездит на зимней резине (и я в их числе), самое время переобуться.
Неделя богатая. Я молодец, и вот почему:
Отпустил свою видеокарту 3080Ti в trade-in.
Два года она помогала мне в задачах, и не было ни одного нарекания. Но время идёт, и пора переезжать на большую память.
Поменял на 3090 с доплатой всего 29к. На выходе получаю x2 по видеопамяти и могу работать с моделями пожирнее для улучшенного понимания контекста.
Нарезал на шаги проект по медицине👏
К 27 дашбордам для МИАЦ добавилось ещё 4.
Чтобы проще было видеть прогресс, на один шаг дали две недели. Посмотрим, как будет работать такой спринт.
Быть может, воодушевление от быстрого выполнения и видимого результата будет питать нас с командой лучше, чем отработка глобального блока.
Продвинулся в обучении своего помощника💪 Напомню: идея была в том, чтобы поставить две контр-личности в одной модели.
Архетип первой: меланхоличный Рассказчик из «Бойцовского клуба».
Второй: антисоциальная личность с паттернами Тайлера Дёрдена.
Каждый их спор заканчивается оценкой: какая из личностей в контексте вопроса ближе к истине. Если ни одна не попадает, подключается веб-поиск за ответом. По итогу хочу прийти к модели, которая сама ловит свои галлюцинации и не выдаёт их за факт.
Скрин первых тестов после пятой попытки обучения в комментах. Уже виден внутренний спор между ними. Теперь осталось ввести ограничение на количество таких обсуждений, чтобы модель не зацикливалась.
Тема бесконечна для изучения. Самое то для гипотез о том, как выстроить работу разума, пусть и очень ограниченного. По мере продвижения буду делиться успехами.
Такс, ваша очередь. Что сделали на этой неделе? Делитесь даже теми победами, что кажутся вам незначительными👇
@data_dzen🙂
С первой неделькой настоящей весны вас! У нас в Волгограде только распогодилось
Прощайте, пуховики и аляски. А кто ещё ездит на зимней резине (и я в их числе), самое время переобуться.
Неделя богатая. Я молодец, и вот почему:
Отпустил свою видеокарту 3080Ti в trade-in.
Два года она помогала мне в задачах, и не было ни одного нарекания. Но время идёт, и пора переезжать на большую память.
Поменял на 3090 с доплатой всего 29к. На выходе получаю x2 по видеопамяти и могу работать с моделями пожирнее для улучшенного понимания контекста.
Нарезал на шаги проект по медицине
К 27 дашбордам для МИАЦ добавилось ещё 4.
Чтобы проще было видеть прогресс, на один шаг дали две недели. Посмотрим, как будет работать такой спринт.
Быть может, воодушевление от быстрого выполнения и видимого результата будет питать нас с командой лучше, чем отработка глобального блока.
Продвинулся в обучении своего помощника
Архетип первой: меланхоличный Рассказчик из «Бойцовского клуба».
Второй: антисоциальная личность с паттернами Тайлера Дёрдена.
Каждый их спор заканчивается оценкой: какая из личностей в контексте вопроса ближе к истине. Если ни одна не попадает, подключается веб-поиск за ответом. По итогу хочу прийти к модели, которая сама ловит свои галлюцинации и не выдаёт их за факт.
Скрин первых тестов после пятой попытки обучения в комментах. Уже виден внутренний спор между ними. Теперь осталось ввести ограничение на количество таких обсуждений, чтобы модель не зацикливалась.
Тема бесконечна для изучения. Самое то для гипотез о том, как выстроить работу разума, пусть и очень ограниченного. По мере продвижения буду делиться успехами.
Такс, ваша очередь. Что сделали на этой неделе? Делитесь даже теми победами, что кажутся вам незначительными
@data_dzen
Please open Telegram to view this post
VIEW IN TELEGRAM
10 35 28 23👨💻7🎉6 5⚡4👏3🤩2
Поговорим о собесах (часть 1) 😎
Собесы во многом про соответствие критериям. Интервьюеру важно понять, как вы мыслите.
Недавно было собеседование. Человек завалил софты. И прямо сказал: готовился только к техничке.
Знать, что надо написать GROUP BY, но не знать зачем - бесполезно💯
Я собрал вопросы, которые задают на собеседованиях аналитикам. Разыграем сценки.
Soft skills. HR-этап.
По статистике, именно тут чаще всего отказывают. Из-за неумения формулировать мысли.
1️⃣ "Расскажите о ситуации, когда работали под давлением дедлайна"
❌ "Ну, у нас всегда дедлайны, я привык"
✅ "Готовили отчёт для клиента. Обычный срок 2 недели, дали 5 дней. Разбил задачу на блоки, автоматизировал сбор данных скриптом, убрал ручную сверку. Сдали вовремя"
Разница🤔
Первый не сказал ничего. Второй дал ситуацию, действие, результат. Метод STAR.
Запомни это слово. Уж очень любят модные названия методологий.
Вы можете следовать этой методике по наитию, но на собеседовании важно говорить общепринятыми фразами👌
2️⃣ "Как объясните сложный анализ человеку без технического бэкграунда?"
❌ "Ну, я использую визуализации..."
✅ "Убираю термины. Вместо "p-value < 0.05" говорю: мы на 95% уверены, что это не случайность. Вместо "retention Day 7": из 100 новых пользователей через неделю вернутся 30."
Интервьюер тут проверяет не знания. Сможешь ли разговаривать с бизнесом. 80% работы аналитика именно в этом💯
Наш любимый Excel➕
Первые полгода карьерного пути по большей части состоят из Excel. Разыграем и тут сценку.
3️⃣ "Объясните, как работает ВПР и когда не подходит?"
✅ "VLOOKUP ищет значение в первом столбце диапазона и возвращает значение из указанного столбца. Не подходит, когда ключ правее значения. Тогда INDEX+MATCH. В новых версиях XLOOKUP ищет в любом направлении"
4️⃣ "Как найдёте дубликаты в таблице на 50 000 строк?"
✅ "Условное форматирование или COUNTIF: =COUNTIF(A:A, A2)>1. Или Data → Remove Duplicates с предварительным копированием."
Ещё порой спрашивают про горячие клавиши. Не ответил - и пункт собеса мимо.
Ctrl+Shift+L, Ctrl+T, Alt+=. Это базовый минимум.
Пост-сводка с горячими клавишами.
5️⃣ Продуктовый кейс
"Retention упал на 15% за месяц. Ваши действия?"
❌ "Надо улучшить продукт и запустить рекламу"
✅ "Сначала уточню: какой retention?
Day 1, Day 7, Day 30?
Потом разрежу данные по когортам и каналам привлечения.
Если падение только в одном канале - это не проблема продукта, а проблема трафика. Проверю внешние факторы: сезонность, обновления, изменения в рекламе. И только потом гипотезы."
Эти примеры из моей практики и из опыта ребят, кто часто бегает на собесы. Большинство провалов сводятся к мышлению, а не к инструментам.
Самые частые причины отказа:
- слабый инструментарий (Excel,SQL,Python),
- нет конкретных примеров (STAR!),
- ни одного встречного вопроса к работодателю (пришёл на собес, а чем компания занимается не знаешь),
- завышенные зарплатные ожидания (да, просить 100к с нулевым опытом не стоит; такое встречается сплошь и рядом).
Это фундамент: soft skills, Excel, мышление. А SQL-вопросы с собесов разберём в следующем посте.
С какими вопросами вы чаще всего встречаетесь? Кидайте в комменты, поглядим.
#sql
@data_dzen🙂
Собесы во многом про соответствие критериям. Интервьюеру важно понять, как вы мыслите.
Недавно было собеседование. Человек завалил софты. И прямо сказал: готовился только к техничке.
Знать, что надо написать GROUP BY, но не знать зачем - бесполезно
Я собрал вопросы, которые задают на собеседованиях аналитикам. Разыграем сценки.
Soft skills. HR-этап.
По статистике, именно тут чаще всего отказывают. Из-за неумения формулировать мысли.
Разница
Первый не сказал ничего. Второй дал ситуацию, действие, результат. Метод STAR.
Запомни это слово. Уж очень любят модные названия методологий.
Вы можете следовать этой методике по наитию, но на собеседовании важно говорить общепринятыми фразами
Интервьюер тут проверяет не знания. Сможешь ли разговаривать с бизнесом. 80% работы аналитика именно в этом
Наш любимый Excel
Первые полгода карьерного пути по большей части состоят из Excel. Разыграем и тут сценку.
Ещё порой спрашивают про горячие клавиши. Не ответил - и пункт собеса мимо.
Ctrl+Shift+L, Ctrl+T, Alt+=. Это базовый минимум.
Пост-сводка с горячими клавишами.
"Retention упал на 15% за месяц. Ваши действия?"
Day 1, Day 7, Day 30?
Потом разрежу данные по когортам и каналам привлечения.
Если падение только в одном канале - это не проблема продукта, а проблема трафика. Проверю внешние факторы: сезонность, обновления, изменения в рекламе. И только потом гипотезы."
Эти примеры из моей практики и из опыта ребят, кто часто бегает на собесы. Большинство провалов сводятся к мышлению, а не к инструментам.
Самые частые причины отказа:
- слабый инструментарий (Excel,SQL,Python),
- нет конкретных примеров (STAR!),
- ни одного встречного вопроса к работодателю (пришёл на собес, а чем компания занимается не знаешь),
- завышенные зарплатные ожидания (да, просить 100к с нулевым опытом не стоит; такое встречается сплошь и рядом).
Это фундамент: soft skills, Excel, мышление. А SQL-вопросы с собесов разберём в следующем посте.
С какими вопросами вы чаще всего встречаетесь? Кидайте в комменты, поглядим.
#sql
@data_dzen
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
10 44 32⚡21 9👏6
Через 10 дней — апрель. Вчера, кажется, был январь 🤦♂️
Каждую пятницу ловлю себя на одном и том же: "Как, уже?"
Понедельник помню отчётливо, а неделя? Щелчок пальцами. И чем больше проектов набираешь, тем быстрее этот щелчок. По сути, мы сами разгоняем себе жизнь задачами.
Ладно. Остановимся. Выдохнем. Похвалим себя🔥
Что хорошего на этой неделе🤔
Сушил стену газовой пушкой после затопления. Управляющая компания, как водится, только руками развела. Ну а ты бери пушку и делай сам. Тот ещё квест, зато голова переключилась с рабочих экранов на быт лихой.
Взял за правило: ведёшь разработку, поглядывай в сеть. Пока я пилил модули для ассистента, проглядел, что вышел Qwen 3.5 с нативной поддержкой vision. Умеет считывать экран. Особенно актуально, если не можешь понять, где косяк в дашборде, а в браузер обращаться не хочется.
Мораль: прежде чем строить велосипед, проверь, нет ли готовых запчастей... а потом еще раз перепроверь😂
Научился автоматически заливать нарезанные задачи через матрицу Эйзенхауэра и перебрасывать их в Yougile. Это канбан-доска, куда импортируешь CSV с правильной структурой и получаешь готовые доски с карточками с описаниями, маркерами, сроками. Хорошо помогает отбить быстрый спринт. Кстати, он бесплатен до 10 человек.
Третья попытка завершения работы в 6 вечера. Твёрдо и чётко. Ну ладно, не всегда прям чётко. Но заметил приятный бонус: когда не перегружен, даже разговоры с близкими идут легче. Звонил родителям. Голова ясная. Казалось бы, просто закончил вовремя. А эффект, как будто мозг почистили.
А у вас что хорошего за неделю? Делитесь в комментах👇
@data_dzen
Каждую пятницу ловлю себя на одном и том же: "Как, уже?"
Понедельник помню отчётливо, а неделя? Щелчок пальцами. И чем больше проектов набираешь, тем быстрее этот щелчок. По сути, мы сами разгоняем себе жизнь задачами.
Ладно. Остановимся. Выдохнем. Похвалим себя
Что хорошего на этой неделе
Сушил стену газовой пушкой после затопления. Управляющая компания, как водится, только руками развела. Ну а ты бери пушку и делай сам. Тот ещё квест, зато голова переключилась с рабочих экранов на быт лихой.
Взял за правило: ведёшь разработку, поглядывай в сеть. Пока я пилил модули для ассистента, проглядел, что вышел Qwen 3.5 с нативной поддержкой vision. Умеет считывать экран. Особенно актуально, если не можешь понять, где косяк в дашборде, а в браузер обращаться не хочется.
Мораль: прежде чем строить велосипед, проверь, нет ли готовых запчастей... а потом еще раз перепроверь
Научился автоматически заливать нарезанные задачи через матрицу Эйзенхауэра и перебрасывать их в Yougile. Это канбан-доска, куда импортируешь CSV с правильной структурой и получаешь готовые доски с карточками с описаниями, маркерами, сроками. Хорошо помогает отбить быстрый спринт. Кстати, он бесплатен до 10 человек.
Третья попытка завершения работы в 6 вечера. Твёрдо и чётко. Ну ладно, не всегда прям чётко. Но заметил приятный бонус: когда не перегружен, даже разговоры с близкими идут легче. Звонил родителям. Голова ясная. Казалось бы, просто закончил вовремя. А эффект, как будто мозг почистили.
А у вас что хорошего за неделю? Делитесь в комментах
@data_dzen
Please open Telegram to view this post
VIEW IN TELEGRAM
21 20 14🙏10
Поговорим о собесах (часть 2) 😎
В прошлом посте затронули софты, методологию STAR и Excel. Это базовый набор. Теперь идём дальше, SQL.
Если вы хорошо освоили Excel, вы уже понимаете основы: как данные связываются, какие проблемы бывают при связках, как работают группировки. Переход к SQL на старте это по сути 5 команд: SELECT, FROM, WHERE, JOIN, GROUP BY. Оконные функции и временные таблицы полезны, но на старте не критичны.
А вот теперь к главному. Основная проблема не в синтаксисе. Проблема в блоках, которые не роняют запрос. Код отрабатывает, интерпретатор молчит, а результат не тот, который ждёт интервьюер. Именно на этом сыпятся.
1️⃣ NOT IN + NULL: тишина вместо данных
В SQL: NULL ≠ пусто ≠ 0. Кто изучал Python, знает: ноль это ноль, а NULL это пустота, ничто. Держите в голове.
Задача: найти пользователей не из чёрного списка.
❌
Казалось бы, всё верно. Но если в blocked хоть одна строка с user_id = NULL, результат: 0 строк. SQL не может сравнить с NULL и молча возвращает пустоту.
✅
Кстати, NOT EXISTS ещё и быстрее: берёт id, идёт во вторую таблицу, нашёл первое вхождение, остановился. NOT IN шерстит таблицу сверху донизу целиком. На больших таблицах разница заметная.
2️⃣ LEFT JOIN, который молча стал INNER JOIN
Про типы JOIN подробно разберём в следующих постах серии. Сейчас только суть ловушки.
❌
Что происходит: WHERE убивает NULL-строки из правой таблицы. Клиенты без заказов просто исчезли. LEFT JOIN превратился в INNER JOIN. А результат мимо.
✅
Одна строчка через AND. Разница принципиальная.
3️⃣ AVG врёт красиво
Вот вам задачка. 10 строк по продажам. У трёх NULL. Сколько вернёт AVG? Среднее по 7, не по 10. Если значения похожи на правду, подвох заметить сложно. Цифра реалистична, но искажена.
❌
✅
COALESCE: встретил NULL, заменил на 0. Можно и без него, но тогда объясните интервьюеру, что понимаете поведение AVG и принимаете его осознанно. Оба варианта зачтутся👌
4️⃣ Порядок выполнения: главный подвох
Пишем: SELECT → FROM → WHERE → GROUP BY.
Выполняется: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY.
Нелогично? Ещё как🤷♀️
❌
Алиас avg_sales ещё не существует на этапе WHERE. Система просто не знает этого поля.
✅
HAVING это фильтрация после группировки. Подробнее разберём в отдельном посте серии.
5️⃣ Забыли синтаксис? Не паникуйте
Бывает: нервы, давно не касались темы. Ну с кем не бывает. Говорите прямо: «Я понимаю логику, могу описать шаги. Точный синтаксис загуглил бы». Любой адекватный специалист это оценит. Логику понимать одно дело. Функцию загуглить = 30 секунд.
Бонус напоследок: первый вопрос при тестовом = «Какая у вас СУБД?».
DATE_TRUNC — PostgreSQL. DATE_FORMAT — MySQL. Правильный запрос для неправильной базы = ошибка на ровном месте.
В следующем посте SQL: Retention и когорты. А завтра пост и статья про кейс моей команды с компанией Гранд-Альфа. Занимаются кормами для животных.
Вопрос к вам. У вас бывало такое, что забыли ответ и хоть убей не помнишь ? Как действовали в этой ситуации?👇
#sql
@data_dzen🙂
В прошлом посте затронули софты, методологию STAR и Excel. Это базовый набор. Теперь идём дальше, SQL.
Если вы хорошо освоили Excel, вы уже понимаете основы: как данные связываются, какие проблемы бывают при связках, как работают группировки. Переход к SQL на старте это по сути 5 команд: SELECT, FROM, WHERE, JOIN, GROUP BY. Оконные функции и временные таблицы полезны, но на старте не критичны.
А вот теперь к главному. Основная проблема не в синтаксисе. Проблема в блоках, которые не роняют запрос. Код отрабатывает, интерпретатор молчит, а результат не тот, который ждёт интервьюер. Именно на этом сыпятся.
В SQL: NULL ≠ пусто ≠ 0. Кто изучал Python, знает: ноль это ноль, а NULL это пустота, ничто. Держите в голове.
Задача: найти пользователей не из чёрного списка.
SELECT * FROM users
WHERE id NOT IN (SELECT user_id FROM blocked)
Казалось бы, всё верно. Но если в blocked хоть одна строка с user_id = NULL, результат: 0 строк. SQL не может сравнить с NULL и молча возвращает пустоту.
SELECT * FROM users u
WHERE NOT EXISTS (
SELECT 1 FROM blocked b
WHERE b.user_id = u.id
)
Кстати, NOT EXISTS ещё и быстрее: берёт id, идёт во вторую таблицу, нашёл первое вхождение, остановился. NOT IN шерстит таблицу сверху донизу целиком. На больших таблицах разница заметная.
Про типы JOIN подробно разберём в следующих постах серии. Сейчас только суть ловушки.
SELECT c.name, o.amount
FROM customers c
LEFT JOIN orders o ON c.id = o.customer_id
WHERE o.status = 'completed'
Что происходит: WHERE убивает NULL-строки из правой таблицы. Клиенты без заказов просто исчезли. LEFT JOIN превратился в INNER JOIN. А результат мимо.
SELECT c.name, o.amount
FROM customers c
LEFT JOIN orders o
ON c.id = o.customer_id
AND o.status = 'completed'
Одна строчка через AND. Разница принципиальная.
Вот вам задачка. 10 строк по продажам. У трёх NULL. Сколько вернёт AVG? Среднее по 7, не по 10. Если значения похожи на правду, подвох заметить сложно. Цифра реалистична, но искажена.
SELECT AVG(salary) FROM employees
SELECT AVG(COALESCE(salary, 0)) FROM employees
COALESCE: встретил NULL, заменил на 0. Можно и без него, но тогда объясните интервьюеру, что понимаете поведение AVG и принимаете его осознанно. Оба варианта зачтутся
Пишем: SELECT → FROM → WHERE → GROUP BY.
Выполняется: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY.
Нелогично? Ещё как
SELECT category, AVG(sales) AS avg_sales
FROM orders
WHERE avg_sales > 1000
GROUP BY category
Алиас avg_sales ещё не существует на этапе WHERE. Система просто не знает этого поля.
SELECT category, AVG(sales) AS avg_sales
FROM orders
GROUP BY category
HAVING AVG(sales) > 1000
HAVING это фильтрация после группировки. Подробнее разберём в отдельном посте серии.
Бывает: нервы, давно не касались темы. Ну с кем не бывает. Говорите прямо: «Я понимаю логику, могу описать шаги. Точный синтаксис загуглил бы». Любой адекватный специалист это оценит. Логику понимать одно дело. Функцию загуглить = 30 секунд.
Бонус напоследок: первый вопрос при тестовом = «Какая у вас СУБД?».
DATE_TRUNC — PostgreSQL. DATE_FORMAT — MySQL. Правильный запрос для неправильной базы = ошибка на ровном месте.
В следующем посте SQL: Retention и когорты. А завтра пост и статья про кейс моей команды с компанией Гранд-Альфа. Занимаются кормами для животных.
Вопрос к вам. У вас бывало такое, что забыли ответ и хоть убей не помнишь ? Как действовали в этой ситуации?
#sql
@data_dzen
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM