Владимир Балун | Программирование
4.08K subscribers
254 photos
42 videos
288 links
▪️Основатель balun.courses и it-interview.io
▪️Еx-Team Lead в Яндекс, ex-ведущий разработчик в Ozon, ex-разработчик в Mail.ru и Тинькофф

Курсы по программированию: https://clck.ru/3ASG8D
Подготовка к собеседованиям: https://clck.ru/3ASu3o
Download Telegram
Мне через несколько недель предстоит занять роль TeamLead-a в Яндексе и поэтому мне нужно будет набрать двоих хороших Go инженеров (либо тех, кто хочет перейти на Go) к себе в команду!

Нам предстоит вместе заниматься развитием системы распределенной трассировки запросов, которой сейчас уже пользуются Такси, Маркет, Облако, Кинопоиск и так далее.

Несколько слов о текущей системы:
- написана на Go
- 8 гигабайт трафика в секунду
- 8 000 000 спанов в секунду
- кластер ClickHouse почти на 800 терабайт

В общем если ты хотел бы попасть в Яндекс и тебя заинтересовал этот проект, то ты можешь написать мне в личку @vladimir_balun, чтобы мы его подробнее обсудили, и чтобы я пореферил тебя - так шансов у тебя будет больше. Кстати, еще нам нужны несколько менеджеров!

P.S. информация о Yandex Observability Platform: https://www.notion.so/Yandex-Observability-Platform-d49c596d4538448a98ec588c5b61ddc0?pvs=21
📹 Мое собеседование в Яндекс:
https://youtu.be/LgdJkfugtwc
🚀 Готовы анонсировать курс по Concurrency в Go!

Курс будет углубленным, например там будет внутреннее устройство мьютексов/горутин/планифровщика, lock-free структуры данных, барьеры памяти, паттерны и так далее, а в качестве домашних заданий мы будем писать in-memory базу данных с репликацией (в общем, все подробности на сайте).

Пока еще точная дата старта курса не известна (скорее всего, это будет конец этого года), но уже сейчас можно оставить заявку на участие в этом курсе, чтобы затем получить предложение о самой выгодной цене на курс.

Ссылка для предзаписи
📹От кода к команде #1 | Набираю разработчиков к себе в команду
https://youtu.be/hnSWaUszIZ0?si=vxUOoHXBtUZDTfj7

Все еще идет набор хороших Go инженеров (либо тех, кто хочет на него перейти) ко мне в команду по разработке системе распределенной трассировки запросов! Вся подробная информация по ссылке выше - по всем вопросам можно писать сюда @vladimir_balun
📹 Что должен знать Junior Go разработчик:
https://youtu.be/sr8u1V_nno4?si=pIU_y6yH2sIoEXLN
Уже почти две недели меня нет в России - в планах попробовать перезимовать эту зиму где-нибудь в тепле. Сейчас живу в Анталии, здесь все еще тепло (+30 почти каждый день), ну а дальше посмотрим…
📹 Трудности при изучении программирования:
https://youtu.be/sf825MvPw6c?si=mjZl1FIC5OXukYiV
❗️Всем привет, проекту it-interview.io для развития нужны те, кто хотел бы проводить mock-собеседования или полноценные собеседования для различных корпоративных клиентов (как правило, небольших компаний). Нам нужны опытные специалисты из разных сфер - ML, frontend, backend, System Design, Analytics и так далее. Критериев отбора всего несколько - текущая работа или опыт работы в BigTech компании на позиции Senior или выше, а также опыт проведения собеседований...

Проведенные собеседования неплохо оплачиваются - всю подробную информацию можно узнать у меня в Телеграм: @vladimir_balun
📹 Один из моих дней жизни в Анталии: https://youtu.be/LZ4qE3tYIbU
Кстати, сегодня еще сменил место дислокации - теперь обитаю в UAE
🚀 Познакомься с теорией кэширования!

📌 Кэширование – это способ хранения данных, как можно ближе к месту их будущего использования для того, чтобы переиспользовать раннее полученные вычисления, скоращать response time, снижать нагрузку на сторонние сервисы, либо стабилизировать работу при краткосрочных отказах системы.

🗓 18 ноября в 18:00 по МСК пройдет бесплатный открытый урок по теории кэширования!

Чему ты научишься:
- узнаешь, что такое кэширование и когда его стоит применять
- поймешь, в чем разница между внутренним и внешним кэшированием
- разберешься с подходами к кэшиваронию (lazy caching, write-through, write-back, read-through, write-around)
- разберешься с алгоритмами вытеснения данных из кэша (OPT, 2Q, LIFO, FIFO, LFU, MRU, LRU, SLRU, TLRU, LRU-k, Second Chance, Clock)
- познакомишься с тегированием и версионированием кэша

➡️ Регистрация на открытый урок ⬅️
🎥 Запись открытого урока по теории кэширования: https://youtu.be/iLMlYgQoTIE?si=zS6n1QgnCJijP5fD

Таймкоды:
00:00 - План занятия
01:03 - Что такое кэширование
03:18 - Основные термины кэширования
04:55 - Какие данные кэшировать
06:02 - Кэширование ошибок
07:13 - Как предотвратить cache miss attack
10:34 - Эффективность кэширования
12:56 - Внутреннее кэширование
14:41 - Внешнее кэширование
19:23 - Cache Aside
21:32 - Cache Through
23:16 - Cache Ahead
29:33 - Алгоритмы вытеснения данных из кэша
30:01 - Random алгоритм
30:23 - FIFO алгоритм
30:49 - LIFO алгоритм
31:16 - LRU алгоритм
32:06 - MRU алгоритм
32:29 - LFU алгоритм
37:11 - Алгоритм Белади (OPT)
38:13 - Second Chance алгоритм
39:56 - Clock алгоритм
40:40 - 2Q алгоритм
41:42 - SLRU алгоритм
42:49 - TLRU алгоритм
43:17 - LRU-k алгоритм
47:24 - Инвалидация данных в кэше
47:41 - Инвалидация по TTL
48:35 - Jitter
49:40 - Thundering herd problem
51:13 - Инвалидация по событию
52:41 - Версионирование кэша
56:11 - Тегирование кэша
1:03:37 - Многомерный кэш
Каждую неделю, по воскресеньям, у нас с подписчиками boosty проходят часовые созвоны, где мы обсуждаем различные вопросы по программированию и не только!

Со следующей недели, хотим попробовать еще дополнительно, раз в неделю, встречаться, чтобы общаться на английском - English Speaking Club по интересам: https://boosty.to/vladimir_balun
📹 Параллельное программирование | ROADMAP | Подробный план изучения
https://youtu.be/CCGhHqhQSpc?si=wX4St2Rl987vOcNQ

Таймкоды:
00:00 - Введение
00:34 - Основы исполнения кода
01:09 - Основы операционных систем
02:01 - Параллельное и конкурентное исполнение кода
02:42 - Примитивы синхронизации
03:45 - Основы архитектуры компьютера
04:06 - Атомики
04:51 - Проблемы параллельного программирования
05:23 - Продвинутые примитивы синхронизации
06:02 - Паттерны параллельного программирования
06:46 - Ввод-вывод
07:15 - Барьеры памяти
08:03 - Продвинутая архитектура компьютера
08:57 - Алгоритмы синхронизации
09:56 - Lock-free структуры данных
10:30 - Wait-free структуры данных
10:45 - Как изучать параллельное программирование
11:34 - Заключение
На выходных переехали на Шри-Ланку, Новый год придется встречать под пальмой 🏝️
This media is not supported in your browser
VIEW IN TELEGRAM
🎥 Concurrency в Go - барьеры памяти | Как устроены атомики под капотом

Таймкоды:
00:00 - Введение
00:12 - Пример неправильного конкурентного кода
02:16 - Переупорядочевание инструкций компилятором
02:58 - Переупорядочевание инструкций процессором
03:40 - Пример переупорядочевания инструкций
04:32 - Основные операции с памятью
04:46 - Логические барьеры памяти
05:19 - Полный барьер (full barrier)
06:15 - Барьер записи (write barrier)
06:29 - Барьер чтения (read barrier)
07:15 - Acquire barrier
07:31 - Release barrier
07:42 - Внутреннее устройство мьютексов
08:18 - Оптимизации
08:53 - Пример правильного конкурентного кода
11:01 - Заключение

https://youtu.be/YHIYT_jPR7Q?si=t2BQ5IJytvuugs3T