Forwarded from Golang Books
Media is too big
VIEW IN TELEGRAM
⚡️ Внутренняя Механика Планировщика Go - как реально работает G-P-M под капотом
Go стал популярным благодаря горутинам - быстрым и лёгким. Но настоящая сила в планировщике, который умеет выполнять миллионы задач на ограниченном количестве потоков ОС.
Разбираем устройство модели G-P-M 👇
1. Три основных сущности: G, P, M
- G — горутина: стек, состояние, контекст.
- P — логический процессор, который содержит очередь готовых горутин.
- M — поток ОС, который выполняет горутины из очереди P.
P распределяет работу.
M выполняет её.
G — сама работа.
2. Очереди и балансировка
У каждого P своя локальная очередь.
Если P простаивает, он забирает задачи у других (work stealing).
Это стабилизирует нагрузку и снижает задержки.
3. Блокировки и парковка
Когда горутина блокируется:
- её паркуют
- поток освобождают
- P поднимает другую готовую горутину
- когда syscall завершён, горутину возвращают в очередь
Так минимизируются блокировки потоков ОС.
4. Горутины уступают время сами
Создание новой G, операции с каналами или вызов runtime.Gosched() позволяют планировщику переключить выполнение.
5. Роль GOMAXPROCS
GOMAXPROCS определяет количество P.
Обычно равно числу CPU.
Увеличение сверх количества ядер не ускоряет работу.
6. Почему горутины такие дешёвые?
- стартовый стек около 2 КБ
- автоматическое расширение и сжатие
- быстрые переключения
- минимальная зависимость от ОС
Поэтому легко запускать сотни тысяч и даже миллионы горутин.
Планировщик Go - это компактный и эффективный механизм, который:
- распределяет нагрузку
- минимизирует блокировки
- масштабирует миллионы горутин
- обеспечивает стабильную и предсказуемую конкурентность
Эта архитектура - одна из главных причин успеха Go в высоконагруженных системах.
Go стал популярным благодаря горутинам - быстрым и лёгким. Но настоящая сила в планировщике, который умеет выполнять миллионы задач на ограниченном количестве потоков ОС.
Разбираем устройство модели G-P-M 👇
1. Три основных сущности: G, P, M
- G — горутина: стек, состояние, контекст.
- P — логический процессор, который содержит очередь готовых горутин.
- M — поток ОС, который выполняет горутины из очереди P.
P распределяет работу.
M выполняет её.
G — сама работа.
2. Очереди и балансировка
У каждого P своя локальная очередь.
Если P простаивает, он забирает задачи у других (work stealing).
Это стабилизирует нагрузку и снижает задержки.
3. Блокировки и парковка
Когда горутина блокируется:
- её паркуют
- поток освобождают
- P поднимает другую готовую горутину
- когда syscall завершён, горутину возвращают в очередь
Так минимизируются блокировки потоков ОС.
4. Горутины уступают время сами
Создание новой G, операции с каналами или вызов runtime.Gosched() позволяют планировщику переключить выполнение.
5. Роль GOMAXPROCS
GOMAXPROCS определяет количество P.
Обычно равно числу CPU.
Увеличение сверх количества ядер не ускоряет работу.
6. Почему горутины такие дешёвые?
- стартовый стек около 2 КБ
- автоматическое расширение и сжатие
- быстрые переключения
- минимальная зависимость от ОС
Поэтому легко запускать сотни тысяч и даже миллионы горутин.
Планировщик Go - это компактный и эффективный механизм, который:
- распределяет нагрузку
- минимизирует блокировки
- масштабирует миллионы горутин
- обеспечивает стабильную и предсказуемую конкурентность
Эта архитектура - одна из главных причин успеха Go в высоконагруженных системах.
Forwarded from Zarina
Всех приветсвую!
🔴 nFactorial School возвращается с бесплатным и открытым мастер-классом!
В этот раз мы покажем, как проходят реальные технические собеседования в крупных BigTech компаниях - и проведём публичное mock interview. Mock interview - один из самых быстрых способов приблизиться к офферу: он экономит вам сотни часов подготовки и десяток неудачных интервью.
BigTech на интервью оценивают не объём знаний, а ваше поведение и структуру ответа: как вы мыслите, ищете и формулируете решение. Поэтому мы приглашаем вас увидеть этот процесс вживую вместе с инженерами из Booking и Ozon. 🔥
📍 Live Mock Interview от SWE из Booking.com
Когда?
13 декабря | 15:00 (по Алматы)
Кто будет проводить?
Антон Воронцов - Senior SWE @ Ozon.ru, студент n!, участник
Саттар Стамкулов - Software Engineer @ Booking.com, ментор n!, интервьюер
Что вас ждёт?
- Coding интервью, который максимально приближен к реальному формату (будет проходить на английском языке)
- Настоящая задача уровня FAANG
- Знакомство с форматом интервью
- Увидим весь цикл интервью вживую: от знакомства, формулировки задачи до финального фидбэка
- Как правильно вести себя на интервью
- Обратная связь, типичные ошибки и как их избежать
- Разбор критерии, по которым оценивают кандидата
- Q&A сессия
Будет интересно разработчикам, которые готовятся к собеседованиям, студентам, джунам и тем, кто хочет увидеть реальный процесс собеседований.
📌 https://nfactorialschool.typeform.com/to/gv57cUCC - Регистрироваться здесь💃💃
В этот раз мы покажем, как проходят реальные технические собеседования в крупных BigTech компаниях - и проведём публичное mock interview. Mock interview - один из самых быстрых способов приблизиться к офферу: он экономит вам сотни часов подготовки и десяток неудачных интервью.
BigTech на интервью оценивают не объём знаний, а ваше поведение и структуру ответа: как вы мыслите, ищете и формулируете решение. Поэтому мы приглашаем вас увидеть этот процесс вживую вместе с инженерами из Booking и Ozon. 🔥
Когда?
13 декабря | 15:00 (по Алматы)
Кто будет проводить?
Антон Воронцов - Senior SWE @ Ozon.ru, студент n!, участник
Саттар Стамкулов - Software Engineer @ Booking.com, ментор n!, интервьюер
Что вас ждёт?
- Coding интервью, который максимально приближен к реальному формату (будет проходить на английском языке)
- Настоящая задача уровня FAANG
- Знакомство с форматом интервью
- Увидим весь цикл интервью вживую: от знакомства, формулировки задачи до финального фидбэка
- Как правильно вести себя на интервью
- Обратная связь, типичные ошибки и как их избежать
- Разбор критерии, по которым оценивают кандидата
- Q&A сессия
Будет интересно разработчикам, которые готовятся к собеседованиям, студентам, джунам и тем, кто хочет увидеть реальный процесс собеседований.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Forwarded from Дневник CTO (Muammar Al-Shedivat)
И по своему опыту, и слушая различные подкасты, еще и еще раз убеждаюсь в том, что если вы технарь и хотите стать фаундером стартапа — постарайтесь стать лучшим в том, что вы делаете. Если в довесок к этому вы научились нетворкаться — всё, к вам потянутся кофаундеры
Очевидно, но когда доходит до практики, замечаю, что многие ребята слишком рано хотят уйти из найма. Не торопитесь, по статистике успешным фаундерам в среднем 40+ лет. Ну и из жизни Пророка ﷺ, его пророческая миссия началась, когда ему было 40
Так что дерзайте и становитесь лучшими в своих областях
Очевидно, но когда доходит до практики, замечаю, что многие ребята слишком рано хотят уйти из найма. Не торопитесь, по статистике успешным фаундерам в среднем 40+ лет. Ну и из жизни Пророка ﷺ, его пророческая миссия началась, когда ему было 40
Так что дерзайте и становитесь лучшими в своих областях
❤4🔥2
EPAM Career Journey
EPAM offers diverse opportunities to help you shape a learning journey according to your level and career goals. If you already know your starting point, explore their available training programs to elevate your skills.
EPAM offers diverse opportunities to help you shape a learning journey according to your level and career goals. If you already know your starting point, explore their available training programs to elevate your skills.
EPAM Campus
Navigating your path to a tech career | EPAM Campus
✅ Empower your career journey: assess your IT skills with our navigation test and define your career path
🔥4
System Design Fundamentals
Systems Design Fundamentals Course. This completely free course covers the fundamentals of systems design, providing comprehensive theory and excellent examples.
#systemdesign #course #interview
Systems Design Fundamentals Course. This completely free course covers the fundamentals of systems design, providing comprehensive theory and excellent examples.
#systemdesign #course #interview
AlgoMaster.io - Master Software Engineering Interviews
Master DSA, Coding Interview Patterns and System Design. Ace your Software Engineering interviews.
Forwarded from CTO
YouTube
What is Data Science?
Want a career in Data Science? Start here → https://ibm.biz/BdK65F
Data Science touches almost every operation of a business. See how → https://ibm.biz/BdPEfu
Data Science is the convergence of computer science, mathematics, and business expertise and helps…
Data Science touches almost every operation of a business. See how → https://ibm.biz/BdPEfu
Data Science is the convergence of computer science, mathematics, and business expertise and helps…
5❤1
Forwarded from Владимир Балун
📹 Записали видео с Женей Айти Красавчиком - где разобрали реальные профили разработчиков в LinkedIn
Поговорили о том:
- что писать в профиле, чтобы привлекать внимание рекрутеров
- какие ошибки чаще всего мешают получить оффер
- как описывать опыт, если ищешь первую работу за границей
- и как усилить профиль, если хочешь перейти на уровень выше
Бонусом разобрали мой профиль и профиль Жени - показали на живых примерах, что работает, а что лучше переписать. Если вы в хотите найти работу на международном рынке - видео точно будет полезным.
Посмотреть видео можно по ссылке: https://youtu.be/lLA24RbpnWg
Кто я | Навигация | Спасибо
Поговорили о том:
- что писать в профиле, чтобы привлекать внимание рекрутеров
- какие ошибки чаще всего мешают получить оффер
- как описывать опыт, если ищешь первую работу за границей
- и как усилить профиль, если хочешь перейти на уровень выше
Бонусом разобрали мой профиль и профиль Жени - показали на живых примерах, что работает, а что лучше переписать. Если вы в хотите найти работу на международном рынке - видео точно будет полезным.
Посмотреть видео можно по ссылке: https://youtu.be/lLA24RbpnWg
Кто я | Навигация | Спасибо
System Design was HARD until I Learned these 30 Concepts
ps: the basic concepts of system design that everyone should know (БАЗА)
#systemdesign
ps: the basic concepts of system design that everyone should know (БАЗА)
#systemdesign
blog.algomaster.io
System Design was HARD until I Learned these 30 Concepts
System Design can feel overwhelming especially when you're just starting out and don’t know where to begin.
База по Базам Данных - Storage (Индексы, Paging, LSM, B+-Tree, R-Tree) | Влад Тен Систем Дизайн
ps: Соңына дейін жетпедім, бірақта басы тым жақсы
#systemdesign #database
ps: Соңына дейін жетпедім, бірақта басы тым жақсы
#systemdesign #database
YouTube
База по Базам Данных - Storage (Индексы, Paging, LSM, B+-Tree, R-Tree) | Влад Тен Систем Дизайн
База по Базам Данных - Storage (Индексы, Paging, LSM, B+-Tree, R-Tree) | Влад Тен Систем Дизайн
Подарка на 10 000 подписчиков
Подарка на 10 000 подписчиков
👍4