В школьной программе, университете, на различных курсах и даже на собеседованиях на аналитиков дают решать задачи на комбинаторику и теорию вероятности, которые оторваны от реальности. Самый известный пример — «в ящике лежат 5 чёрных шаров и 3 белых, найти вероятность того, что вы достанете белый». На момент, когда подобные программы писали, действительно было мало примеров, связанных с этими математическими направлениями, но благо сейчас всё иначе. В этой статье я хочу рассказать как работает комбинаторика и теория вероятности на примере игры Hearthstone «Поля сражений».
Рубрика «задачи»
Теория вероятности и комбинаторика на примере игры Hearthstone Поля сражений
2026-09-30 в 6:54, admin, рубрики: hearthstone, задачи, игры, комбинаторика, теория вероятностейПродолжаю публикацию интересных задач на логику с красивым решением.
Формулировка:
3 честных рациональных инопланетянина (А, Б, В) стоят в колонне. В видит А и Б; Б видит только А; А не видит никого. На каждого надет колпак либо синего, либо зеленого, либо красного цвета, количество колпаков того или иного цвета не ограничено. Договорившись об общей стратегии, они по очереди (начиная с В) называют возможный цвет своего колпака. Цель - гарантировать, чтобы верно ответили все, кроме одного.
Решение:
Проектирование веб-краулера. Как решать System Design?
2026-06-20 в 13:49, admin, рубрики: highload, middle, senior, system design, задачи, задачи для собеседований, проектирование, Сис диз, собеседованиеПривет! Продолжаю разбирать классические задачи с System Design интервью на стримах (за анонсами можете следить тут https://t.me/siliconchannel), а это текстовая версия стрима. В прошлый раз была бесконечная лента, сегодня очередная классика жанра - веб-краулер. Условие звучит примерно так:
Спроектировать веб-краулер, который обходит интернет, вытаскивает со страниц текст и складывает его в хранилище. На этом тексте потом будут обучать LLM (условный ChatGPT). На весь обход даётся 5 дней - данные нужны быстро. Масштаб: ~10 млрд страниц, средняя страница весит ~2 МБ. В ресурсах мы не ограничены (в разумных пределах).Читать полностью »
3 известные интересные задачи на логику
2026-05-22 в 9:57, admin, рубрики: задачи, логика, логическое мышление, математикаУ вас есть две веревки и коробок спичек. Каждая веревка сгорает ровно за 1 час. При этом они горят неравномерно (например, первая половина может сгореть за 5 минут, а остаток — за 55 минут). Как с помощью этих веревок отмерить ровно 45 минут?
Решение: Поджигаем первую веревку с обоих концов одновременно, а вторую веревку — только с одного конца. Первая веревка полностью сгорит ровно через 30 минут (так как пламя встретится). В этот самый момент поджигаем второй конец второй веревки. Ей оставалось гореть 30 минут с одного конца, но с двух концов она сгорит в два раза быстрее — за 15 минут. Итого: 30 + 15 = 45 минут.
Шесть интересных логических задач
2026-05-19 в 10:58, admin, рубрики: задачи, комбинаторика, логика, математикаПродолжаю публикацию интересных математических задач.
5 рациональных пиратов (А, Б, В, Г и Д) должны разделить 100 золотых монет. Иерархия: А — самый старший, Д — самый младший. Старший предлагает план дележа. Если за него проголосует хотя бы половина пиратов (включая его самого), план принимается. Если нет — старшего выбрасывают за борт, и право предложить план переходит к следующему. Как пират А должен разделить золото, чтобы остаться в живых и получить максимум?
РешениеЧитать полностью »
Почему сложные задачи висели неделями: я думал, проблема в дисциплине, а оказалось — в избегании когнитивной нагрузки
2026-04-16 в 5:12, admin, рубрики: дедлайн, задачи, мозг, организация времени, прокрастинация, тайм-менеджментИногда у меня неделями лежала одна и та же задача: открыть новый документ, собрать структуру, написать сложное письмо, придумать логику материала. При этом внешне я был занят весь день, но к вечеру видел знакомую картину: мелочи закрыты, созвоны прошли, а главный кусок работы снова остался нетронутым.
Сократили срок выхода задач в продакшен почти вдвое: что реально сработало
2026-03-16 в 8:15, admin, рубрики: agile, SaaS, scrum, бэклог, задачи, приоритизация, процессы, разработка, релизы, спринтыМеня зовут Василий Ферапонтов, я отвечаю за SaaS-направление в Аспро. Мы развиваем собственный продукт — облачную систему управления бизнесом. В команде несколько продуктовых и платформенных групп, всего больше двадцати человек в разработке.
Год назад у нас была ситуация, которая многим знакома. Команды заняты, задачи двигаются, релизы происходят… но предсказуемости нет. Сроки плавают, бэклог разрастается, внутри много устных договоренностей. Все работают, но система не работает.
За один квартал мы перестроили процессы и получили вполне измеримый результат:
Как я сделал полностью бесплатное Android-приложение для задач и финансов — и почему не взял ни копейки
2026-02-22 в 7:15, admin, рубрики: android, jetpack compose, kotlin, room, rustore, бесплатно, бюджет, задачиПроблема
Мне нужен был простой инструмент: список задач, учёт расходов и таймер для фокусировки. Казалось бы — чего проще?
Но вот реальность:
-
Todoist — бесплатно только 5 проектов, дальше ₽359/мес
-
TickTick — помодоро и календарь только в Premium за ₽249/мес
-
Money Manager — реклама на каждом экране, ₽199 за отключение
-
Forest — ₽299 за приложение
Итого: чтобы покрыть задачи + бюджет + таймер, нужно либо 3-4 приложения, либо платить ~₽500-800/мес.
Мне показалось это абсурдным. И я решил сделать своё.
Решение: Todo Budget
Одно приложение, в котором есть:
Массивы и слайсы в Golang
2026-01-29 в 9:15, admin, рубрики: backend, Go, golang, задачи, массивы, массивы и слайсы в go, слайсыДля начала хотелось бы сказать, что же такое массивы и слайсы.
Массивы
Массив в Go - это структура данных, которая представляет собой упорядоченную последовательность элементов одного типа фиксированной длины.
Давайте рассмотрим на примере:
package main
func main() {
/*
Массив создаётся в таком формате:
Имя := [количество элементов массива] тип данных {элементы массива, через запятую}
*/
arr := [3]int{0, 1, 2}
fmt.Println(arr[1])
}
На примере выше был создан массив с 3-мя элементами и типом данных int.
После создания массива мы не можем изменять его вместительность, однако можем менять сами элементы.
Проектирование сервиса персональной ленты. Как решать System Design?
2026-01-12 в 6:00, admin, рубрики: highload, middle, senior, system design, Бесконечная лента, задачи, задачи для собеседований, проектирование, Сис диз, собеседованиеПривет! Эта статья - текстовая версия моего стрима с разбором задачи на бесконечную ленту по System Design из https://t.me/siliconchannel/141 этого поста.
Рассмотрим классическую задачу из System Design интервью - персональная лента подписок. По сути, мы проектируем упрощённый клон Instagram. Сама задача звучит следующим образом:
Делаем сервис: подписки на авторов, публикации постов, выдача персональной ленты с пагинацией. Нагрузка: чтение доминирует - 30 тыс. RPS; запись постов 1000 RPS; есть “мегапопулярные” авторы.
