Эвристика доступности: Почему последний баг кажется главной проблемой Вселенной.
Привет! Продолжаем разбирать книгу «Ошибки мышления». Сегодня поговорим об эвристике, которая управляет нашими страхами, решениями о выборе технологий и оценкой рисков чаще, чем нам кажется.
Что это за зверь?
Эвристика доступности — это когнитивный ярлык нашего мозга. Грубо говоря, мы оцениваем вероятность события, важность проблемы или частоту явления по тому, насколько легко примеры этого приходят нам в голову. Если что-то можно быстро вспомнить (оно «доступно» в памяти), мозг делает вывод: «Значит, это случается часто и это важно». И часто ошибается.
Почему? Потому что на «доступность» влияет не статистика, а наши личные впечатления, свежесть информации и эмоциональная заряженность.
1️⃣ Пример из моей жизни:
Когда я купил часы Garmin Forerunner 55 желтого цвета для беговых тренировок, со мной произошла магия. Я вдруг начал замечать их везде: на беговых тренировках, в отчетах друзей, на фотографиях в тематических пабликах. У меня сложилось стойкое ощущение: «Прикольно, оказывается ими пользуются все».
А потом я поймал себя на мысли: буквально месяц назад я их вообще не замечал. Как только часы стали моими, мозг начал выделять их из общего фона, и они мгновенно стали «доступными» для моего внимания.
2️⃣ Пример из IT-практики :
Представьте: Вы недавно были на крутом митапе, где множество докладчиков с восторгом рассказывали, как Apache Kafka «спасла» масштабируемость, позволила обрабатывать терабайты данных в реальном времени.
На следующий день на архитектурном обсуждении внутреннего сервиса для уведомлений кто-то говорит:
И это кажется логичным... пока не проанализируешь:
Сервис генерирует 200 событий в час,
Не требует строгого порядка,
Живёт на одном сервере.
Всё это идеально решается Redis-очередью или даже парой таблиц в PostgreSQL. Но Kafka стала для команды аналогом «часов Garmin»: её только что «примерили» на конференциях, и теперь мозг начинает видеть её применение «везде». Выбор в таком случае может быть сделан на основе «шума», а не на основе инженерной целесообразности.
3️⃣ Пример из алгоритмической практики:
Недавно я готовил подробный разбор префиксных сумм, погрузился в тему, проработал тонкости и был под большим впечатлением от элегантности этого метода.
И что же? Следующие две-три недели, решая задачи на LeetCode, я практически в каждой задаче ловил себя на мысли: «А ведь это же на префиксные суммы!». Даже в тех случаях, где решение было в разы проще — циклом или хэш-таблицей. Мой мозг начал натягивать этот, ставший сверхдоступным, шаблон на всё подряд. Этот инструмент в моём арсенале стал таким же «часами Garmin».
Это один и тот же механизм: будь то выбор технологии для продакшена или алгоритма для задачки, свежее и яркое в памяти кажется наиболее правильным и применимым.
🛠 Как ловить себя на этом и что делать?
✅ Задайте вопрос: «Эта идея пришла в голову из-за реальных требований (проекта/задачи) или из-за яркого, свежего примера, который сейчас вертится в памяти?». Спросите: «А что именно мы решаем?», прежде чем «Какую крутую технологию/метод применить?».
✅ Создайте принудительную объективность: Введите правило: для выбора любого нового тяжелого инструмента нужен не только успешный внешний кейс, но и письменное обоснование, почему другие средства не подходят.
💡 Итог
Эвристика доступности — способ нашего мышления быстро сориентироваться, заметив «свои часы», «модный инструмент» или знакомый алгоритм» в толпе. Но в инженерии и решении задач, где цена ошибки — время и сложность, эта экономия убийственна. Учитесь отличать «вспомнилось» от «технически обосновано».
P.S. А вы замечали у себя подобные ситуации? Например, что оказывается такая же машина как у Вас встречается часто в потоке. Поделитесь в комментариях🤗
#ОшибкиМышления
Привет! Продолжаем разбирать книгу «Ошибки мышления». Сегодня поговорим об эвристике, которая управляет нашими страхами, решениями о выборе технологий и оценкой рисков чаще, чем нам кажется.
Что это за зверь?
Эвристика доступности — это когнитивный ярлык нашего мозга. Грубо говоря, мы оцениваем вероятность события, важность проблемы или частоту явления по тому, насколько легко примеры этого приходят нам в голову. Если что-то можно быстро вспомнить (оно «доступно» в памяти), мозг делает вывод: «Значит, это случается часто и это важно». И часто ошибается.
Почему? Потому что на «доступность» влияет не статистика, а наши личные впечатления, свежесть информации и эмоциональная заряженность.
Когда я купил часы Garmin Forerunner 55 желтого цвета для беговых тренировок, со мной произошла магия. Я вдруг начал замечать их везде: на беговых тренировках, в отчетах друзей, на фотографиях в тематических пабликах. У меня сложилось стойкое ощущение: «Прикольно, оказывается ими пользуются все».
А потом я поймал себя на мысли: буквально месяц назад я их вообще не замечал. Как только часы стали моими, мозг начал выделять их из общего фона, и они мгновенно стали «доступными» для моего внимания.
Представьте: Вы недавно были на крутом митапе, где множество докладчиков с восторгом рассказывали, как Apache Kafka «спасла» масштабируемость, позволила обрабатывать терабайты данных в реальном времени.
На следующий день на архитектурном обсуждении внутреннего сервиса для уведомлений кто-то говорит:
Тут же очевидно — ставим Kafka!
И это кажется логичным... пока не проанализируешь:
Сервис генерирует 200 событий в час,
Не требует строгого порядка,
Живёт на одном сервере.
Всё это идеально решается Redis-очередью или даже парой таблиц в PostgreSQL. Но Kafka стала для команды аналогом «часов Garmin»: её только что «примерили» на конференциях, и теперь мозг начинает видеть её применение «везде». Выбор в таком случае может быть сделан на основе «шума», а не на основе инженерной целесообразности.
Недавно я готовил подробный разбор префиксных сумм, погрузился в тему, проработал тонкости и был под большим впечатлением от элегантности этого метода.
И что же? Следующие две-три недели, решая задачи на LeetCode, я практически в каждой задаче ловил себя на мысли: «А ведь это же на префиксные суммы!». Даже в тех случаях, где решение было в разы проще — циклом или хэш-таблицей. Мой мозг начал натягивать этот, ставший сверхдоступным, шаблон на всё подряд. Этот инструмент в моём арсенале стал таким же «часами Garmin».
Это один и тот же механизм: будь то выбор технологии для продакшена или алгоритма для задачки, свежее и яркое в памяти кажется наиболее правильным и применимым.
🛠 Как ловить себя на этом и что делать?
✅ Задайте вопрос: «Эта идея пришла в голову из-за реальных требований (проекта/задачи) или из-за яркого, свежего примера, который сейчас вертится в памяти?». Спросите: «А что именно мы решаем?», прежде чем «Какую крутую технологию/метод применить?».
✅ Создайте принудительную объективность: Введите правило: для выбора любого нового тяжелого инструмента нужен не только успешный внешний кейс, но и письменное обоснование, почему другие средства не подходят.
💡 Итог
Эвристика доступности — способ нашего мышления быстро сориентироваться, заметив «свои часы», «модный инструмент» или знакомый алгоритм» в толпе. Но в инженерии и решении задач, где цена ошибки — время и сложность, эта экономия убийственна. Учитесь отличать «вспомнилось» от «технически обосновано».
P.S. А вы замечали у себя подобные ситуации? Например, что оказывается такая же машина как у Вас встречается часто в потоке. Поделитесь в комментариях🤗
#ОшибкиМышления
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Быстрый и медленный указатели
Быстрый и медленный указатели — паттерн для решения задач по поиску циклов в связных списках и задач, которые можно свести к этой аналогии.
В этом выпуске:
🔹 Что такое паттерн «быстрый и медленный указатели» и в каких задачах хороший вариант его использовать
🔹 Как за O(n) времени и O(1) памяти определить, есть ли цикл в связном списке
🔹 Пример: обнаружение цикла (LeetCode 141)
Потренируйся сам
Расположил задачи по возрастанию сложности:
LeetCode 876
LeetCode 287
LeetCode 142
🎥 Смотреть на YouTube: https://youtu.be/ELff7sNdyPw
📺 Смотреть во ВКонтакте: https://vkvideo.ru/video-231048746_456239036
📂 Код и презентация на GitHub: https://github.com/MaratNotes/marat_notes/tree/master/grokking_algorithms/3_fast_and_slow
#ГрокаемАлгособесы
Быстрый и медленный указатели — паттерн для решения задач по поиску циклов в связных списках и задач, которые можно свести к этой аналогии.
В этом выпуске:
🔹 Что такое паттерн «быстрый и медленный указатели» и в каких задачах хороший вариант его использовать
🔹 Как за O(n) времени и O(1) памяти определить, есть ли цикл в связном списке
🔹 Пример: обнаружение цикла (LeetCode 141)
Потренируйся сам
Расположил задачи по возрастанию сложности:
LeetCode 876
LeetCode 287
LeetCode 142
🎥 Смотреть на YouTube: https://youtu.be/ELff7sNdyPw
📺 Смотреть во ВКонтакте: https://vkvideo.ru/video-231048746_456239036
📂 Код и презентация на GitHub: https://github.com/MaratNotes/marat_notes/tree/master/grokking_algorithms/3_fast_and_slow
#ГрокаемАлгособесы
VK Видео
Быстрый и медленный указатели (Грокаем Алгособесы) #3
Быстрый и медленный указатели — паттерн для решения задач по поиску циклов в связных списках и задач, которые можно свести к этой аналогии. В этом видео: 🔹 Что такое паттерн «быстрый и медленный указатели» и в каких задачах он спасает 🔹 Как за O(n) времени…
👍3
Чашка чая, горячая картошка и живой диалог — признаки отличной IT-конференции
Оказывается в декабре Онтико опубликало новость, в которой объявили о перезапуске формата своих конференций в 2026 году. Как я понял, они планируют внедрить больше игровых и дискуссионных форматов, а также привлекать участников из самых разных сфер и компаний — не только из бигтеха. Классно, что есть посыл к изменениям, интересно как они воплотятся в жизнь.
Если говорить про меня, в этом году побывал на нескольких IT-конференции (1, 2, 3) и в принципе давно перестал ждать от докладов «прорыва в мышлении». За 20–25 минут редко удаётся передать то, что действительно важно: контекст, ограничения, компромиссы.
Для меня ценность конференции — не в том, что говорят со сцены, а в том, о чём говорят потом, в кулуарах. Так возможно узнать, чем живут другие команды, какие проблемы решают, какие подходы используют, иногда приходят какие-то инсайты или диалоги.
Так в этом году на одной конференции с интересом обсуждали энергоэффективность Go против Python, причем дискуссии началась неожиданно, когда пил чай, было интересно. Или узнал, как внедряют RAG в других компаниях, с какими подводными камнями сталкиваются. Для меня в таких разговорах рождаются идеи, которые потом могут быть внедрены в личную практику и, конечно, так я знакомлюсь с интересными и увлеченными работой и жизнью людьми.
Лично мне на ум приходят две вещи, которые бы я хотел видеть на следующей конференции, которую бы посетил:
🔹 Секцию «Что пошло не так», где докладчики делились информацией, что попробовали, что сломалось, как пытались починить, и на каком этапе решения проблемы они сейчас.
🔹 Групповые дискуссии по темам, чтобы была дискуссия на несколько столов и периодически участники столов менялись, мне кажется такие брейнштормы могли бы родить интересную внутреннюю рефлексию.
А как у Вас с конференциями? Посещаете ли вы офлайн- или онлайн-форматы? Что для вас в них ценно — а что уже поднадоело?
Оказывается в декабре Онтико опубликало новость, в которой объявили о перезапуске формата своих конференций в 2026 году. Как я понял, они планируют внедрить больше игровых и дискуссионных форматов, а также привлекать участников из самых разных сфер и компаний — не только из бигтеха. Классно, что есть посыл к изменениям, интересно как они воплотятся в жизнь.
Если говорить про меня, в этом году побывал на нескольких IT-конференции (1, 2, 3) и в принципе давно перестал ждать от докладов «прорыва в мышлении». За 20–25 минут редко удаётся передать то, что действительно важно: контекст, ограничения, компромиссы.
Для меня ценность конференции — не в том, что говорят со сцены, а в том, о чём говорят потом, в кулуарах. Так возможно узнать, чем живут другие команды, какие проблемы решают, какие подходы используют, иногда приходят какие-то инсайты или диалоги.
Так в этом году на одной конференции с интересом обсуждали энергоэффективность Go против Python, причем дискуссии началась неожиданно, когда пил чай, было интересно. Или узнал, как внедряют RAG в других компаниях, с какими подводными камнями сталкиваются. Для меня в таких разговорах рождаются идеи, которые потом могут быть внедрены в личную практику и, конечно, так я знакомлюсь с интересными и увлеченными работой и жизнью людьми.
Лично мне на ум приходят две вещи, которые бы я хотел видеть на следующей конференции, которую бы посетил:
🔹 Секцию «Что пошло не так», где докладчики делились информацией, что попробовали, что сломалось, как пытались починить, и на каком этапе решения проблемы они сейчас.
🔹 Групповые дискуссии по темам, чтобы была дискуссия на несколько столов и периодически участники столов менялись, мне кажется такие брейнштормы могли бы родить интересную внутреннюю рефлексию.
А как у Вас с конференциями? Посещаете ли вы офлайн- или онлайн-форматы? Что для вас в них ценно — а что уже поднадоело?
❤2
Запускаю курс по Apache Spark!
В первом видео разбираю, почему Spark может быть выбором для работы с большими данными. Рассказываю на простых словах и доступных аналогиях.
Вы узнаете:
🔹 Что такое большие данные (3V)
🔹 Когда Spark нужен, а когда нет
🔹 4 особенности, которые делают его универсальным
🔹 Кто использует Spark в своей практике
Курс будет практическим: 8-10 видео от основ до real‑case проектов.
Смотрите первое видео, ставьте лайк, если тема зашла! В следующем выпуске — установка и первый запуск.
🎥 Видео:
https://vkvideo.ru/video-231048746_456239037
https://youtu.be/j3WCm_GlPoM?si=8E-31-Sw5mBf2t7S
📚 Материалы: https://github.com/MaratNotes/marat_notes/tree/master/how_data_works-practice_cases/16_apache_spark_introduction
#КакРаботаютДанные #ApacheSpark
В первом видео разбираю, почему Spark может быть выбором для работы с большими данными. Рассказываю на простых словах и доступных аналогиях.
Вы узнаете:
🔹 Что такое большие данные (3V)
🔹 Когда Spark нужен, а когда нет
🔹 4 особенности, которые делают его универсальным
🔹 Кто использует Spark в своей практике
Курс будет практическим: 8-10 видео от основ до real‑case проектов.
Смотрите первое видео, ставьте лайк, если тема зашла! В следующем выпуске — установка и первый запуск.
🎥 Видео:
https://vkvideo.ru/video-231048746_456239037
https://youtu.be/j3WCm_GlPoM?si=8E-31-Sw5mBf2t7S
📚 Материалы: https://github.com/MaratNotes/marat_notes/tree/master/how_data_works-practice_cases/16_apache_spark_introduction
#КакРаботаютДанные #ApacheSpark
VK Видео
Apache Spark. Введение # 1
Разбираем, почему Spark стал стандартом для обработки больших данных и как он может изменить ваш подход к работе с информацией. Материалы по видео : https://github.com/MaratNotes/marat_notes/tree/master/how_data_works-practice_cases/16_apache_spark_introduction…
🔥10👍3❤1❤🔥1🫡1
Салаты доедены, торт исчез, и даже от мандаринов осталась только кожурка — на дворе 5 января!
Самое время сбросить праздничную инерцию. А что может быть лучше, чем начать с чего-то полезного и конкретного?
🔹Сегодня вечером выходит новое видео в серии «Грокаем алгособесы» — разберём паттерн «Скользящее окно»: как за O(n) искать подмассивы и подстроки без перебора.
🔹А уже 8 января — практическая установка Apache Spark в серии «Как работают данные»: подготовим окружение и запустим первый код на Spark.
Готовь чай, ноутбук и пару вкладок терпения — будет полезно!
Самое время сбросить праздничную инерцию. А что может быть лучше, чем начать с чего-то полезного и конкретного?
🔹Сегодня вечером выходит новое видео в серии «Грокаем алгособесы» — разберём паттерн «Скользящее окно»: как за O(n) искать подмассивы и подстроки без перебора.
🔹А уже 8 января — практическая установка Apache Spark в серии «Как работают данные»: подготовим окружение и запустим первый код на Spark.
Готовь чай, ноутбук и пару вкладок терпения — будет полезно!
👍8
Скользящее окно
Скользящее окно — паттерн для решения задач на непрерывные подмассивы и подстроки за линейное время. Особенно эффективен, когда есть ограничения: сумма ≥ X, все символы уникальны, не более K типов и т.п.
В этом выпуске:
— Что такое паттерн «Скользящее окно» и когда его использовать
— Разница между фиксированным и переменным окном
— Как решить задачу за O(n) вместо O(n²) без вложенных циклов
— Пример: Minimum Size Subarray Sum (LeetCode209)
Потренируйся сам
Расположил задачи по возрастанию сложности:
1. LeetCode3 — классика на уникальность символов.
2. LeetCode438 — фиксированное окно + сравнение частот.
3. LeetCode904 — переменное окно с ограничением на 2 типа элементов.
📺 Смотреть во ВКонтакте: https://vkvideo.ru/video-231048746_456239038
🎥 Смотреть на YouTube: https://youtu.be/EIgq0N60JkE
📂 Код и презентация на GitHub: https://github.com/MaratNotes/marat_notes/tree/master/grokking_algorithms/4_sliding_window
#ГрокаемАлгособесы
Скользящее окно — паттерн для решения задач на непрерывные подмассивы и подстроки за линейное время. Особенно эффективен, когда есть ограничения: сумма ≥ X, все символы уникальны, не более K типов и т.п.
В этом выпуске:
— Что такое паттерн «Скользящее окно» и когда его использовать
— Разница между фиксированным и переменным окном
— Как решить задачу за O(n) вместо O(n²) без вложенных циклов
— Пример: Minimum Size Subarray Sum (LeetCode209)
Потренируйся сам
Расположил задачи по возрастанию сложности:
1. LeetCode3 — классика на уникальность символов.
2. LeetCode438 — фиксированное окно + сравнение частот.
3. LeetCode904 — переменное окно с ограничением на 2 типа элементов.
📺 Смотреть во ВКонтакте: https://vkvideo.ru/video-231048746_456239038
🎥 Смотреть на YouTube: https://youtu.be/EIgq0N60JkE
📂 Код и презентация на GitHub: https://github.com/MaratNotes/marat_notes/tree/master/grokking_algorithms/4_sliding_window
#ГрокаемАлгособесы
👍2
Apache Spark: запуск в Docker
В этом видео — первый шаг к реальной работе с данными: как за пару минут получить полностью рабочий PySpark на Windows без JDK, без winutils.exe и без единой ошибки.
Всё благодаря Docker — Вы запустите готовое Linux-окружение с Spark, JupyterLab и поддержкой кириллицы☺️
Вы узнаете:
🔹 Почему Spark «не любит» Windows и как Docker это решает
🔹 Какую команду запустить (и почему только из PowerShell!)
🔹 Как проверить, что файлы синхронизируются между Windows и контейнером
🔹 Как прочитать CSV и сразу увидеть DataFrame
🔹 Как остановить контейнер
Курс — практический: от установки до real-case сценариев. Это видео — ваш надёжный старт.
▶️ Смотреть на YouTube: https: https://youtu.be/-MXRD6Pe90c
▶️ Или в VK: https://vkvideo.ru/video-231048746_456239039
📁 Подробное описание и код на GitHub: https://github.com/MaratNotes/marat_notes/tree/master/how_data_works-practice_cases/17_spark_run_docker
В следующем выпуске — разберём архитектуру Spark!
#КакРаботаютДанные #ApacheSpark
В этом видео — первый шаг к реальной работе с данными: как за пару минут получить полностью рабочий PySpark на Windows без JDK, без winutils.exe и без единой ошибки.
Всё благодаря Docker — Вы запустите готовое Linux-окружение с Spark, JupyterLab и поддержкой кириллицы☺️
Вы узнаете:
🔹 Почему Spark «не любит» Windows и как Docker это решает
🔹 Какую команду запустить (и почему только из PowerShell!)
🔹 Как проверить, что файлы синхронизируются между Windows и контейнером
🔹 Как прочитать CSV и сразу увидеть DataFrame
🔹 Как остановить контейнер
Курс — практический: от установки до real-case сценариев. Это видео — ваш надёжный старт.
▶️ Смотреть на YouTube: https: https://youtu.be/-MXRD6Pe90c
▶️ Или в VK: https://vkvideo.ru/video-231048746_456239039
📁 Подробное описание и код на GitHub: https://github.com/MaratNotes/marat_notes/tree/master/how_data_works-practice_cases/17_spark_run_docker
В следующем выпуске — разберём архитектуру Spark!
#КакРаботаютДанные #ApacheSpark
🔥9👍3🎉2
🧱 Собираю то, что точно не упадёт в 3 ночи
Коробка раскрыта. Пакетики разложены. Фундамент заложен.
2000 деталей, 2 большие коробки внутри, десятки пакетиков — всё чётко пронумеровано по шагам сборки.
Инструкция — как техническое задание на 200 страниц ☺️
Первый слой уже вызывает трепет. А ведь это только начало…
Пока не знаю, сколько вечеров уйдёт на этот домик, но точно знаю — они будут тёплыми, тихими и без продакшн-инцидентов. 🎄
📌 Если вы тоже любите собирать — вот мои фавориты среди китайских брендов (не копии Lego, а оригинальные конструкторы):
🔹 Pantasy — это про атмосферу.
Их наборы — будто из Lego Ideas:
● Forest Cabin — идеальный уютный домик для зимнего вечера
● Clock Tower Park — стилизация БигБена под стимпанк, очень фотогенично
● The Little Prince Collection — мини-сцены из «Маленького принца» в защитных куполах, словно арт-объекты
🔹 CADA — серьёзный конкурент Lego Technic.
Здесь всё про инженерию и движение:
● Мощные гоночные машины (Порше, Феррари, Митсубиши)
● Сложные механизмы, шестерёнки, подвижные элементы
● Много отсылок к реальным авто, манге и спецтехнике — с узнаваемыми деталями и стилистикой
Оба бренда — не копии, а полноценные альтернативы с уникальным дизайном, качественными деталями и продуманными инструкциями.
🗓А какие у вас планы на январские выходные вечера?
Что собираете — в прямом смысле (конструктор, бутерброд, плед) или в переносном (проект, мысли, мечты)? 😊
#ХоббиПрограммиста
Коробка раскрыта. Пакетики разложены. Фундамент заложен.
2000 деталей, 2 большие коробки внутри, десятки пакетиков — всё чётко пронумеровано по шагам сборки.
Инструкция — как техническое задание на 200 страниц ☺️
Первый слой уже вызывает трепет. А ведь это только начало…
Пока не знаю, сколько вечеров уйдёт на этот домик, но точно знаю — они будут тёплыми, тихими и без продакшн-инцидентов. 🎄
📌 Если вы тоже любите собирать — вот мои фавориты среди китайских брендов (не копии Lego, а оригинальные конструкторы):
🔹 Pantasy — это про атмосферу.
Их наборы — будто из Lego Ideas:
● Forest Cabin — идеальный уютный домик для зимнего вечера
● Clock Tower Park — стилизация БигБена под стимпанк, очень фотогенично
● The Little Prince Collection — мини-сцены из «Маленького принца» в защитных куполах, словно арт-объекты
🔹 CADA — серьёзный конкурент Lego Technic.
Здесь всё про инженерию и движение:
● Мощные гоночные машины (Порше, Феррари, Митсубиши)
● Сложные механизмы, шестерёнки, подвижные элементы
● Много отсылок к реальным авто, манге и спецтехнике — с узнаваемыми деталями и стилистикой
Оба бренда — не копии, а полноценные альтернативы с уникальным дизайном, качественными деталями и продуманными инструкциями.
🗓А какие у вас планы на январские выходные вечера?
Что собираете — в прямом смысле (конструктор, бутерброд, плед) или в переносном (проект, мысли, мечты)? 😊
#ХоббиПрограммиста
👍6❤1🔥1
Мир меняется быстрее, чем мы успеваем это осознать, а мама меня приятно удивила
Ещё пару лет назад LLM казались чем-то из будущего: «О, смотри, ИИ написал стих!» — и все в восторге.
А сегодня они уже тихо и незаметно встроились в повседневность, как Wi-Fi, смартфоны или доставка еды. Просто есть и мало у кого вызывают удивление, хотя это офигеть как удивительно.
Где я это вижу в быту?
🔷 Пишут тексты и письма вместе с нами: переводят, переформулируют, сокращают.
🔷 Подсказывают, что купить, как приготовить, куда сходить.
🔷 Анализируют скриншоты: чеки, составы товаров, инструкции: особенно когда лень вчитываться в мелкий шрифт 😅
🔷 Составляют списки дел, идеи для подарков, планы путешествий…
Это лишь самые простые случаи. На самом деле таких применений сотни, и они охватывают почти весь интеллектуальный труд: от юриспруденции и образования до дизайна и аналитики.
Почему? Потому что объём информации взорвался, а людям нужно не просто «найти», а понять, сравнить, переформулировать, структурировать. И здесь LLM оказывается незаменимым и сверхпродуктивным.
Но настоящее удивление для моего восприятия случилось на днях.
Разговариваю с мамой, ей 70, она пенсионер, до недавнего времени считала, как мне кажется, что «нейросеть это про хакеров».
А тут она сфоткала капли для глаз, загрузила в какое-то приложение с ИИ и показывает мне рекомендацию:
«Вот, нейросеть говорит, у этих подходящий состав и воздействие».
Я даже растерялся. А потом восхитился своей мамой, как, впрочем, часто бывает.
Потому подумал, что когда технологии доходят до мам, значит, они уже в массах!
А у вас были такие моменты? Какие неожиданные случаи использования LLM Вы замечали у себя, у родных, коллег или даже в быту?
Может, бабушка генерит стихи для дачного конкурса, а дядя Ваня уточняет оптимальный состав смеси для укладки кирпича через чат? 😊
📝 Делитесь в комментариях будет очень интересно собрать такую «галерею повседневного ИИ»!
PS Желаю всем классной пятницы 🌿
А график новых видео обещаю в субботу!
Ещё пару лет назад LLM казались чем-то из будущего: «О, смотри, ИИ написал стих!» — и все в восторге.
А сегодня они уже тихо и незаметно встроились в повседневность, как Wi-Fi, смартфоны или доставка еды. Просто есть и мало у кого вызывают удивление, хотя это офигеть как удивительно.
Где я это вижу в быту?
🔷 Пишут тексты и письма вместе с нами: переводят, переформулируют, сокращают.
🔷 Подсказывают, что купить, как приготовить, куда сходить.
🔷 Анализируют скриншоты: чеки, составы товаров, инструкции: особенно когда лень вчитываться в мелкий шрифт 😅
🔷 Составляют списки дел, идеи для подарков, планы путешествий…
Это лишь самые простые случаи. На самом деле таких применений сотни, и они охватывают почти весь интеллектуальный труд: от юриспруденции и образования до дизайна и аналитики.
Почему? Потому что объём информации взорвался, а людям нужно не просто «найти», а понять, сравнить, переформулировать, структурировать. И здесь LLM оказывается незаменимым и сверхпродуктивным.
Но настоящее удивление для моего восприятия случилось на днях.
Разговариваю с мамой, ей 70, она пенсионер, до недавнего времени считала, как мне кажется, что «нейросеть это про хакеров».
А тут она сфоткала капли для глаз, загрузила в какое-то приложение с ИИ и показывает мне рекомендацию:
«Вот, нейросеть говорит, у этих подходящий состав и воздействие».
Я даже растерялся. А потом восхитился своей мамой, как, впрочем, часто бывает.
Потому подумал, что когда технологии доходят до мам, значит, они уже в массах!
А у вас были такие моменты? Какие неожиданные случаи использования LLM Вы замечали у себя, у родных, коллег или даже в быту?
Может, бабушка генерит стихи для дачного конкурса, а дядя Ваня уточняет оптимальный состав смеси для укладки кирпича через чат? 😊
📝 Делитесь в комментариях будет очень интересно собрать такую «галерею повседневного ИИ»!
PS Желаю всем классной пятницы 🌿
А график новых видео обещаю в субботу!
🔥6
Планы на оставшиеся дни января!
До конца месяца — плотно и по делу:
18 янв (вс) Как перевернуть связный список, не сломав себе голову
22 янв (чт) Архитектура Spark: почему это работает
25 янв (вс) Монотонный стек: элегантное решение для поиска “следующего большего элемента”
29 янв (чт) SparkSession vs SparkContext: что использовать и почему
Как и всегда с примерами на гитхаб, до встречи завтра!
До конца месяца — плотно и по делу:
18 янв (вс) Как перевернуть связный список, не сломав себе голову
22 янв (чт) Архитектура Spark: почему это работает
25 янв (вс) Монотонный стек: элегантное решение для поиска “следующего большего элемента”
29 янв (чт) SparkSession vs SparkContext: что использовать и почему
Как и всегда с примерами на гитхаб, до встречи завтра!
GitHub
GitHub - MaratNotes/marat_notes: Заметки канала [Марат и его записки программиста](https://www.youtube.com/@marat_notes)
Заметки канала [Марат и его записки программиста](https://www.youtube.com/@marat_notes) - MaratNotes/marat_notes
👍10🔥1
Разворот списка
В этом выпуске:
🔹 Почему разворот — must-know даже в 2026 году
🔹 Как сделать это за O(n) времени и O(1) памяти (и почему это важно)
🔹 Пошаговая визуализация с тремя указателями: prev, curr, next_temp
🔹 Две типичные ошибки и как их не допустить
Потренируйся сам:
1. LeetCode 206 - базовая задача на разворот списка
2. LeetCode 25 - разворот узлов группами
3. LeetCode 234 - проверка, что список является полиндромом
📺 Смотреть во ВКонтакте: https://vkvideo.ru/video-231048746_456239040
🎥 Смотреть на YouTube: https://youtu.be/48_Dj1V8fiM
📂 Код и презентация на GitHub: https://github.com/MaratNotes/marat_notes/tree/master/grokking_algorithms/5_in_place_reversal
P.S. Следующий выпуск — про монотонный стек и задачи вроде «найти ближайший больший элемент справа».
#ГрокаемАлгособесы
В этом выпуске:
🔹 Почему разворот — must-know даже в 2026 году
🔹 Как сделать это за O(n) времени и O(1) памяти (и почему это важно)
🔹 Пошаговая визуализация с тремя указателями: prev, curr, next_temp
🔹 Две типичные ошибки и как их не допустить
Потренируйся сам:
1. LeetCode 206 - базовая задача на разворот списка
2. LeetCode 25 - разворот узлов группами
3. LeetCode 234 - проверка, что список является полиндромом
📺 Смотреть во ВКонтакте: https://vkvideo.ru/video-231048746_456239040
🎥 Смотреть на YouTube: https://youtu.be/48_Dj1V8fiM
📂 Код и презентация на GitHub: https://github.com/MaratNotes/marat_notes/tree/master/grokking_algorithms/5_in_place_reversal
P.S. Следующий выпуск — про монотонный стек и задачи вроде «найти ближайший больший элемент справа».
#ГрокаемАлгособесы
👍9🔥1
Apache Spark. Архитектура
Узнаем как изнутри устроена система 😏
В этом видео:
✅ Три роли: Driver, Executor, Cluster Manager
✅ Партиции → параллелизм → производительность
✅ DAG, Stage, Task — язык, на котором говорит Spark
✅ Почему shuffle = дорого
Смотреть на YouTube: https://youtu.be/FP-61W1N6YY
Смотреть на VK: https://vkvideo.ru/video-231048746_456239041
Материалы: https://github.com/MaratNotes/marat_notes/tree/master/how_data_works-practice_cases
P.S. В следующей лекции про SparkContext и SparkSession, расчехляйте клавиатуру!
#КакРаботаютДанные #ApacheSpark
Узнаем как изнутри устроена система 😏
В этом видео:
✅ Три роли: Driver, Executor, Cluster Manager
✅ Партиции → параллелизм → производительность
✅ DAG, Stage, Task — язык, на котором говорит Spark
✅ Почему shuffle = дорого
Смотреть на YouTube: https://youtu.be/FP-61W1N6YY
Смотреть на VK: https://vkvideo.ru/video-231048746_456239041
Материалы: https://github.com/MaratNotes/marat_notes/tree/master/how_data_works-practice_cases
P.S. В следующей лекции про SparkContext и SparkSession, расчехляйте клавиатуру!
#КакРаботаютДанные #ApacheSpark
👍6🔥3
Программист образовательный
Пишу видео про монотонный стек, одну из самых элегантных структур для задач на «следующий больший элемент».
Решил глянуть, как его визуализируют другие. Набираю в поиске: «Что такое стек?»
Первые 10 картинок:
✅ 2 — про структуру данных
❌ 8 — про другой вид стека, популярный в совсем других контекстах😃
Выпал в осадок. Поржал. Не знал что такое стек:D
Пишу видео про монотонный стек, одну из самых элегантных структур для задач на «следующий больший элемент».
Решил глянуть, как его визуализируют другие. Набираю в поиске: «Что такое стек?»
Первые 10 картинок:
✅ 2 — про структуру данных
❌ 8 — про другой вид стека, популярный в совсем других контекстах😃
Выпал в осадок. Поржал. Не знал что такое стек:D
😁5🔥1
Монотонный стек
В этом выпуске:
🔹 Как работает убывающий стек
🔹 Пошаговая визуализация на
🔹 Готовый код на Python
🔹 Как адаптировать
🔹 Когда стоит использовать этот подход
Потренируйся сам:
1. LeetCode 496: база с маппингом
2. LeetCode 503: циклический массив
3. LeetCode 739: расстояние вместо значения
▶️ Смотреть на YouTube: https://youtu.be/rs5EYz_3bAg
▶️ Или во ВКонтакте: https://vkvideo.ru/video-231048746_456239042
📂 Код и презентация на GitHub: https://github.com/MaratNotes/marat_notes/tree/master/grokking_algorithms/6_mon_stack
P.S. В следующем выпуске Топ K элементов, как эффективно выбрать K лучших элементов из массива, не сортируя всё
#ГрокаемАлгособесы
В этом выпуске:
🔹 Как работает убывающий стек
🔹 Пошаговая визуализация на
[2, 1, 4, 3] 🔹 Готовый код на Python
🔹 Как адаптировать
🔹 Когда стоит использовать этот подход
Потренируйся сам:
1. LeetCode 496: база с маппингом
2. LeetCode 503: циклический массив
3. LeetCode 739: расстояние вместо значения
▶️ Смотреть на YouTube: https://youtu.be/rs5EYz_3bAg
▶️ Или во ВКонтакте: https://vkvideo.ru/video-231048746_456239042
📂 Код и презентация на GitHub: https://github.com/MaratNotes/marat_notes/tree/master/grokking_algorithms/6_mon_stack
P.S. В следующем выпуске Топ K элементов, как эффективно выбрать K лучших элементов из массива, не сортируя всё
#ГрокаемАлгособесы
👍3🔥2
Apache Spark. SparkSession и работа с партициями
В этом видео:
Почему дефолтные 200 партиций могут убить производительность в продакшене? Разбираем на живом демо: 8 партиций vs 2000.
Покажу, как неправильная конфигурация shuffle.partitions замедляет джобы, и почему адаптивный режим (AQE) может быть полезен.
Смотреть на YouTube: https://youtu.be/RqWQpgwQuWE
Смотреть на VK: https://vkvideo.ru/video-231048746_456239043
Материалы: https://github.com/MaratNotes/marat_notes/tree/master/how_data_works-practice_cases/19_spark_session
P.S. В следующем выпуске: Почему формат хранения может быть важнее вашего кода (CSV vs Parquet).
#КакРаботаютДанные #ApacheSpark
В этом видео:
Почему дефолтные 200 партиций могут убить производительность в продакшене? Разбираем на живом демо: 8 партиций vs 2000.
Покажу, как неправильная конфигурация shuffle.partitions замедляет джобы, и почему адаптивный режим (AQE) может быть полезен.
Смотреть на YouTube: https://youtu.be/RqWQpgwQuWE
Смотреть на VK: https://vkvideo.ru/video-231048746_456239043
Материалы: https://github.com/MaratNotes/marat_notes/tree/master/how_data_works-practice_cases/19_spark_session
P.S. В следующем выпуске: Почему формат хранения может быть важнее вашего кода (CSV vs Parquet).
#КакРаботаютДанные #ApacheSpark
👍9👌1
Фрейминг: как слова меняют решения (даже в коде)
Когда я учился в универе, у нас был странный предмет, что-то вроде «Культурологии» (точно уже не помню 😅).
Из всего курса в памяти осталась одна фраза преподавателя, которую она повторяла чуть ли не на каждой паре:
Это было внутряковым мемом, я даже начал использовать это выражение в повседневности. Сейчас я понимаю, она интуитивно применяла эффект фрейминга: когнитивное искажение, при котором наши решения зависят не от сути информации, а от того, в какой форме она подана.
Ниже опишу пример из книги Даниэля Канемана «Думай медленно. Решай быстро».
Представьте эпидемию, угрожающая 600 людям. Есть два плана борьбы с ней:
План А: «Спасёт ровно 200 человек».
План Б: «Есть 1/3 вероятности, что спасутся все 600, и 2/3, что никто не выживет».
Большинство выбирают План А, потому что он сформулирован через выигрыш.
Но если переформулировать те же варианты через потери:
План А: «400 человек умрут».
План Б: «Есть 1/3 вероятности, что никто не умрёт, и 2/3, что умрут все 600».
…люди внезапно начинают выбирать План Б, хотя это те же самые исходы, просто описанные иначе.
Фрейминг работает даже тогда, когда мы знаем, что логика одинакова. Потому что наш мозг реагирует не на данные, а на историю, в которую они упакованы.
А теперь, как это проявляется в повседневной IT-жизни.
1. Code review
Сценарий: коллега прислал PR с функцией, которая обрабатывает список пользователей, но не учитывает случаи, когда список пустой, null или содержит некорректные объекты.
❌ «Тут не хватает проверок, так нельзя»
Звучит как обвинение, это может вызвать защитную реакцию.
✅ «Крутая реализация! Давай добавим пару проверок на пустой input, null и некорректные элементы»
Сначала признаётся ценность работы, а потом предлагается улучшение как естественное развитие идеи.
Фрейминг здесь: не «ты ошибся», а «давай улучшим».
2. Предложение автоматизации
Сценарий: ты замечаешь, что команда каждый месяц тратит определенное количество часов на ручную выгрузку отчётов, проверку логов и отправку email’ов.
❌ «Вы тратите кучу времени на рутину, это же можно автоматизировать за день»
Звучит как упрёк: «Вы неэффективны, а я умный». Может вызвать раздражение.
✅ «Заметил, что вы регулярно делаете ручные отчёты, важная работа! А что если мы освободим это время, написав простой скрипт, который будет собирать данные и отправлять отчёт автоматически. Проверим, стоит ли вкладываться?»
Автоматизация позиционируется как улучшение.
Фрейминг здесь: не «вы тратите время впустую», а «у вас есть шанс потратить это время на то, что важнее».
🔹 Фрейминг — это не манипуляция. Это осознанность в коммуникации.
Хороший инженер не только пишет надёжный код, но и умеет доносить ценность своей работы коллегам, менеджерам, пользователям.
Потому что в IT, как и в жизни, не всегда важно, что ты сказал, важно, как сумел донести важные смыслы
P.S. Я сам порой ловлю себя на «автоматических» фразах вроде «так нельзя», особенно в переписке, но теперь стараюсь остановиться и переформулировать.
Пишите в комментариях, ловили ли Вы себя на таких переформулировках?
#ОшибкиМышления
Когда я учился в универе, у нас был странный предмет, что-то вроде «Культурологии» (точно уже не помню 😅).
Из всего курса в памяти осталась одна фраза преподавателя, которую она повторяла чуть ли не на каждой паре:
Обратимся к этимологии слова
Это было внутряковым мемом, я даже начал использовать это выражение в повседневности. Сейчас я понимаю, она интуитивно применяла эффект фрейминга: когнитивное искажение, при котором наши решения зависят не от сути информации, а от того, в какой форме она подана.
Ниже опишу пример из книги Даниэля Канемана «Думай медленно. Решай быстро».
Представьте эпидемию, угрожающая 600 людям. Есть два плана борьбы с ней:
План А: «Спасёт ровно 200 человек».
План Б: «Есть 1/3 вероятности, что спасутся все 600, и 2/3, что никто не выживет».
Большинство выбирают План А, потому что он сформулирован через выигрыш.
Но если переформулировать те же варианты через потери:
План А: «400 человек умрут».
План Б: «Есть 1/3 вероятности, что никто не умрёт, и 2/3, что умрут все 600».
…люди внезапно начинают выбирать План Б, хотя это те же самые исходы, просто описанные иначе.
Фрейминг работает даже тогда, когда мы знаем, что логика одинакова. Потому что наш мозг реагирует не на данные, а на историю, в которую они упакованы.
А теперь, как это проявляется в повседневной IT-жизни.
1. Code review
Сценарий: коллега прислал PR с функцией, которая обрабатывает список пользователей, но не учитывает случаи, когда список пустой, null или содержит некорректные объекты.
❌ «Тут не хватает проверок, так нельзя»
Звучит как обвинение, это может вызвать защитную реакцию.
✅ «Крутая реализация! Давай добавим пару проверок на пустой input, null и некорректные элементы»
Сначала признаётся ценность работы, а потом предлагается улучшение как естественное развитие идеи.
Фрейминг здесь: не «ты ошибся», а «давай улучшим».
2. Предложение автоматизации
Сценарий: ты замечаешь, что команда каждый месяц тратит определенное количество часов на ручную выгрузку отчётов, проверку логов и отправку email’ов.
❌ «Вы тратите кучу времени на рутину, это же можно автоматизировать за день»
Звучит как упрёк: «Вы неэффективны, а я умный». Может вызвать раздражение.
✅ «Заметил, что вы регулярно делаете ручные отчёты, важная работа! А что если мы освободим это время, написав простой скрипт, который будет собирать данные и отправлять отчёт автоматически. Проверим, стоит ли вкладываться?»
Автоматизация позиционируется как улучшение.
Фрейминг здесь: не «вы тратите время впустую», а «у вас есть шанс потратить это время на то, что важнее».
🔹 Фрейминг — это не манипуляция. Это осознанность в коммуникации.
Хороший инженер не только пишет надёжный код, но и умеет доносить ценность своей работы коллегам, менеджерам, пользователям.
Потому что в IT, как и в жизни, не всегда важно, что ты сказал, важно, как сумел донести важные смыслы
P.S. Я сам порой ловлю себя на «автоматических» фразах вроде «так нельзя», особенно в переписке, но теперь стараюсь остановиться и переформулировать.
Пишите в комментариях, ловили ли Вы себя на таких переформулировках?
#ОшибкиМышления
👍10
Кто я?: Как спрашивал Джеки Чан в боевике из 90-х
Привет! Меня зовут Марат и нет, я не мастер боевых искусств (хотя иногда очень хочется таковым быть).
Мне 36 лет, из них более 15 лет в разработке (в 2010 устроился на первую работу программистом-математиком в конструкторское бюро, а до этого ещё пару лет кодил за лапшу и еду одногруппникам 😄). Здесь делюсь знаниями и мыслями о разработке и жизни.
Что уже есть на канале:
🔹 #КакРаботаютДанные
Разбираю основы дата-инженерии без лишнего: как устроены Airflow и Spark, что такое ETL, батчи, стриминг и при чём тут Kafka.
В цикле уже больше 20 видео от практических кейсов до теории, без которой порой сложно разобраться в деталях.
🔹 #ГрокаемАлгособесы
Когда видите совет «просто порешайте задачи на литкоде» — это похоже на фальш. Маловероятно зазубрить все решения, а вот понять паттерны и когда их применять реально.
Префиксные суммы, два указателя, скользящее окно: разбираем логику, а не заучиваем.
Код и видео для этих рубрик:
YouTube: https://www.youtube.com/@marat_notes
VK Видео: https://vkvideo.ru/@club231048746
GitHub: github.com/MaratNotes/marat_notes
🔹 #ITИнсайты
Разбираю чужие доклады и статьи и вытаскиваю то, что меня зацепило:
● Как превратить костыльный чат-бот с кучей Excel-файлов в модульную RAG-платформу
● Как промт-инъекции превращают документы в троянских коней и проверка работы гипотезы
● Почему в Яндексе кэшируют всё, что движется
🔹 #ОшибкиМышления
Под впечатлением от того, как наше мышление формирует реальность — разбираю когнитивные искажения, которые ловлю на себе в коде и жизни:
●Эвристика доступности: после разбора префиксных сумм начал видеть их в каждой задаче LeetCode☺️
● Эффект фрейминга: «Теряем 10% пользователей» звучит страшнее, чем «90% остаются» и это меняет приоритеты
Не для самобичевания, а чтобы замечать паттерны и принимать взвешенные решения.
🔹Моменты из жизни
Делюсь не только кодом, но и тем, что происходит между коммитами:
● Как собрать 2000 деталей конструктора и отдохнуть в уютной зимней атмосфере
● Как на вечерней пробежке оказался в эпизоде «Улиц разбитых фонарей» с оперативниками и ватными тампонами как вещественные доказательства
● Почему усталость это не про компанию, а про то, как ты строишь свой день
● Как при подготовке хакатона, понял что LLM меняет многое в его проведении
Здесь могу говорить о беге, конструкторах и рефлексии рабочих будней
🔹На горизонте
Завтра новое видео из серии #ГрокаемАлгособесы: «Топ K элементов», и в пятницу (6 февраля) вечером выложу планы по темам #КакРаботаютДанные и #ГрокаемАлгособесы
P.S. Больше 80 человек за сутки, спасибо, что пришли!❤️ Рад, что канал растёт.
Расскажите в комментах:
Что ждете от канала: как работают данные, алгособесы или прочитать истории из работы и жизни? Классно будет узнать, какие офигенные люди собрались у нас в чатике и Ваши устремления.
Привет! Меня зовут Марат и нет, я не мастер боевых искусств (хотя иногда очень хочется таковым быть).
Мне 36 лет, из них более 15 лет в разработке (в 2010 устроился на первую работу программистом-математиком в конструкторское бюро, а до этого ещё пару лет кодил за лапшу и еду одногруппникам 😄). Здесь делюсь знаниями и мыслями о разработке и жизни.
Что уже есть на канале:
🔹 #КакРаботаютДанные
Разбираю основы дата-инженерии без лишнего: как устроены Airflow и Spark, что такое ETL, батчи, стриминг и при чём тут Kafka.
В цикле уже больше 20 видео от практических кейсов до теории, без которой порой сложно разобраться в деталях.
🔹 #ГрокаемАлгособесы
Когда видите совет «просто порешайте задачи на литкоде» — это похоже на фальш. Маловероятно зазубрить все решения, а вот понять паттерны и когда их применять реально.
Префиксные суммы, два указателя, скользящее окно: разбираем логику, а не заучиваем.
Код и видео для этих рубрик:
YouTube: https://www.youtube.com/@marat_notes
VK Видео: https://vkvideo.ru/@club231048746
GitHub: github.com/MaratNotes/marat_notes
🔹 #ITИнсайты
Разбираю чужие доклады и статьи и вытаскиваю то, что меня зацепило:
● Как превратить костыльный чат-бот с кучей Excel-файлов в модульную RAG-платформу
● Как промт-инъекции превращают документы в троянских коней и проверка работы гипотезы
● Почему в Яндексе кэшируют всё, что движется
🔹 #ОшибкиМышления
Под впечатлением от того, как наше мышление формирует реальность — разбираю когнитивные искажения, которые ловлю на себе в коде и жизни:
●Эвристика доступности: после разбора префиксных сумм начал видеть их в каждой задаче LeetCode☺️
● Эффект фрейминга: «Теряем 10% пользователей» звучит страшнее, чем «90% остаются» и это меняет приоритеты
Не для самобичевания, а чтобы замечать паттерны и принимать взвешенные решения.
🔹Моменты из жизни
Делюсь не только кодом, но и тем, что происходит между коммитами:
● Как собрать 2000 деталей конструктора и отдохнуть в уютной зимней атмосфере
● Как на вечерней пробежке оказался в эпизоде «Улиц разбитых фонарей» с оперативниками и ватными тампонами как вещественные доказательства
● Почему усталость это не про компанию, а про то, как ты строишь свой день
● Как при подготовке хакатона, понял что LLM меняет многое в его проведении
Здесь могу говорить о беге, конструкторах и рефлексии рабочих будней
🔹На горизонте
Завтра новое видео из серии #ГрокаемАлгособесы: «Топ K элементов», и в пятницу (6 февраля) вечером выложу планы по темам #КакРаботаютДанные и #ГрокаемАлгособесы
P.S. Больше 80 человек за сутки, спасибо, что пришли!❤️ Рад, что канал растёт.
Расскажите в комментах:
Что ждете от канала: как работают данные, алгособесы или прочитать истории из работы и жизни? Классно будет узнать, какие офигенные люди собрались у нас в чатике и Ваши устремления.
👍14🔥6👾1
Топ К элементов
В этом видео разбор распространённого алгоритмического паттерна Топ K элементов.
🔹 Как искать топ-10 самых частых запросов среди 10 млн записей за O(n log k), а не тратить время на полную сортировку O(n log n).
🔹 При чем тут «куча»?
🔹 О чем можно забыть при реализации на собесе.
Потренируйтесь сами:
1. LeetCode 215: базовая задача, найти один элемент k-й по величине без сортировки всего массива
2. LeetCode 973: найти K ближайших точек к началу координат
3. LeetCode 692: частые слова + лексикографический порядок при равных частотах
▶️ Смотреть на YouTube: https://youtu.be/jBzysToONTY
▶️ Или во ВКонтакте: https://vkvideo.ru/video-231048746_456239044
📂 Код и презентация на GitHub: Материалы по видео: https://github.com/MaratNotes/marat_notes/tree/master/grokking_algorithms/7_top_k
P.S. Так как публикация видео перенеслась на один день, то планы по графику видео выложу завтра
#ГрокаемАлгособесы
В этом видео разбор распространённого алгоритмического паттерна Топ K элементов.
🔹 Как искать топ-10 самых частых запросов среди 10 млн записей за O(n log k), а не тратить время на полную сортировку O(n log n).
🔹 При чем тут «куча»?
🔹 О чем можно забыть при реализации на собесе.
Потренируйтесь сами:
1. LeetCode 215: базовая задача, найти один элемент k-й по величине без сортировки всего массива
2. LeetCode 973: найти K ближайших точек к началу координат
3. LeetCode 692: частые слова + лексикографический порядок при равных частотах
▶️ Смотреть на YouTube: https://youtu.be/jBzysToONTY
▶️ Или во ВКонтакте: https://vkvideo.ru/video-231048746_456239044
📂 Код и презентация на GitHub: Материалы по видео: https://github.com/MaratNotes/marat_notes/tree/master/grokking_algorithms/7_top_k
P.S. Так как публикация видео перенеслась на один день, то планы по графику видео выложу завтра
#ГрокаемАлгособесы
🔥7❤1
📅 Планы по курсам
После вчерашнего видео про Топ K, хочу рассказать о планах по курсам
#КакРаботаютДанные
5. Parquet vs CSV: почему формат решает всё (12.02.2026)
6. Трансформации без шаффла (DataFrame Api)
7. Шаффл и косые данные (skew)
8. Оконные функции и тонкости их использования
9. Отладка через Spark UI,
10. Инкрементальная обработка с Delta Lake
По алгоритмическим паттернам ожидается большой и глубокий анализ следующих тем:
#ГрокаемАлгособесы
8. Слияние интервалов (17.02.2026)
9. Бинарный поиск с вариациями
10. Обход бинарного дерева
11. Поиск в глубину
12. Поиск в ширину
13. Обход матриц
14. Backtracking
15. Topological Sort
16. Динамическое программирование
17. НОД/НОК
Вопрос к вам:
Как Вам набор тем? Что-то еще есть что хотелось бы раскрыть?
Голосуйте в комментах 👇
P.S. Добавил картинку как вариацию Левиафана из «Моби Дика» в качестве аллегории, что знание как белый кит, которое может стать недостижимым идеалом.
Мы не достигаем полного понимания, собираем кусочки, делаем шаги, ошибаемся и находим красивые моменты по пути.
Поэтому не забывайте про хобби, отдых и всё то, что наполняет вас вне работы.
Это часть процесса и то что делает нас самими собой 💙
После вчерашнего видео про Топ K, хочу рассказать о планах по курсам
#КакРаботаютДанные
5. Parquet vs CSV: почему формат решает всё (12.02.2026)
6. Трансформации без шаффла (DataFrame Api)
7. Шаффл и косые данные (skew)
8. Оконные функции и тонкости их использования
9. Отладка через Spark UI,
10. Инкрементальная обработка с Delta Lake
По алгоритмическим паттернам ожидается большой и глубокий анализ следующих тем:
#ГрокаемАлгособесы
8. Слияние интервалов (17.02.2026)
9. Бинарный поиск с вариациями
10. Обход бинарного дерева
11. Поиск в глубину
12. Поиск в ширину
13. Обход матриц
14. Backtracking
15. Topological Sort
16. Динамическое программирование
17. НОД/НОК
Вопрос к вам:
Как Вам набор тем? Что-то еще есть что хотелось бы раскрыть?
Голосуйте в комментах 👇
P.S. Добавил картинку как вариацию Левиафана из «Моби Дика» в качестве аллегории, что знание как белый кит, которое может стать недостижимым идеалом.
Мы не достигаем полного понимания, собираем кусочки, делаем шаги, ошибаемся и находим красивые моменты по пути.
Поэтому не забывайте про хобби, отдых и всё то, что наполняет вас вне работы.
Это часть процесса и то что делает нас самими собой 💙
🔥14❤7