Капоне
Администратор
- Регистрация
- 1 Апр 2015
- Сообщения
- 153.942
- Реакции
- 465.805
**Складчина: Оптимизация Go, как в BigTech [Balun Courses]**
Курс помогает решить следующие проблемы:
1. Необходимо разобраться в perf-снимоте и коде сторонних библиотек при работе с Go.
2. Отсутствует понимание процесса оптимизации кода в глубоких слоях языка.
3. Желание заниматься более сложным и низкоуровневым программированием.
4. Затруднения с пониманием исходного кода на Go из-за недостаточного знания языка и архитектуры компьютера.
5. Подготовка к собеседованиям в BigTech: ответы на вопросы о внутреннем устройстве Go и Computer Science.
За 5 недель вам предлагается освоить следующее:
1. Computer science для работы в BigTech: понимание выполнения кода от языкового синтаксиса до машинного кода.
2. Устройство операционной системы, работа с calling convention и syscalls.
3. Использование ассемблера в Go для языковых оптимизаций.
4. Оптимизация кода на примере компаний BigTech и низкоуровневого программирования.
5. Глубокое понимание работы low-level пакетов: unsafe, runtime, reflect, debug.
6. Применение профайлера для оптимизации CPU, памяти и блокировок.
7. Повышение уровня ЗП и ценности как специалиста в компании благодаря полученным знаниям.
**Содержание курса:**
### Основы Computer Science. Часть 1
#### Урок №1 – Микроархитектура процессора
- Индустриальный стандарт ISA, организация памяти, чипсеты.
- Архитектура CPU, работа конвейера, устройство регистров, виды команд.
- SMT, hyperthreading, пример процессора на Verilog.
#### Урок №2 – Оперативная, кэш-память
- Устройство кэша процессора, уровни кэша, стратегии кэширования.
- Устройство оперативной памяти, таблицы страниц, адресация, DMA.
**Результат:**
- Освоение основ Computer Science для успешных собеседований.
- Умение ускорять код через понимание его исполнения.
### Основы Computer Science. Часть 2
#### Урок №3 – Архитектура операционных систем
- Введение в ОС, типы архитектур, user/kernel space, прерывания.
- Системные вызовы, управление памятью, примеры xv6.
#### Урок №4 – Управление памятью в ОС
- Управление памятью, таблицы адресов, фрагментация памяти.
- Абстракции ОС: процессы, потоки, буферизация.
**Результат:**
- Углубленное знание Computer Science для собеседований.
- Умение ускорять код через понимание выполнения.
**Домашнее задание:**
- Написать программы, взаимодействующие с ОС через syscalls и каналы в Go.
### Неделя 3
### Ассемблер в Go и работа со стеком
#### Урок №5 – введение в ассемблер Go
- Типы инструкций, кроссплатформенность, адресация.
#### Урок №6 – инструкции работы со стеком
- Стек программы, инструкции, локальные переменные, соглашения вызова.
**Результат:**
- Понимание трансляции программы в ассемблерный код.
- Навык написания программ на ассемблере.
**Домашнее задание:**
- Написать программу на ассемблере Go.
### Неделя 4
### Дополнительные фишки оптимизации, кодинг бенчмарков
#### Урок №7 – устройство памяти в Go, бенчмарки
- Устройство памяти, аллокатор Go, бенчмарки.
#### Урок №8 – оптимизации в Go
- Устройство Go, оптимизации, работа с пакетом unsafe.
**Результат:**
- Понимание устройства рантайма Go и его оптимизация.
- Умение работать с low-level пакетами и рефлексией.
**Домашнее задание:**
- Написать свою реализацию RPC с использованием рефлексии Go.
### Неделя 5
### Рантайм в Go и профилирование
#### Урок №9 – управление внутренним состоянием рантайма Go
- Управление рантаймом, профилирование, аллокаторы.
#### Урок №10 – профилирование в Go
- Виды профилировщиков, работа с ними.
**Результат:**
- Оптимизация приложений через управление рантаймом.
- Навык профилирования приложений.
**Домашнее задание:**
- Создание микросервиса с CGO, профилирование, использование PGO.
Курс помогает решить следующие проблемы:
1. Необходимо разобраться в perf-снимоте и коде сторонних библиотек при работе с Go.
2. Отсутствует понимание процесса оптимизации кода в глубоких слоях языка.
3. Желание заниматься более сложным и низкоуровневым программированием.
4. Затруднения с пониманием исходного кода на Go из-за недостаточного знания языка и архитектуры компьютера.
5. Подготовка к собеседованиям в BigTech: ответы на вопросы о внутреннем устройстве Go и Computer Science.
За 5 недель вам предлагается освоить следующее:
1. Computer science для работы в BigTech: понимание выполнения кода от языкового синтаксиса до машинного кода.
2. Устройство операционной системы, работа с calling convention и syscalls.
3. Использование ассемблера в Go для языковых оптимизаций.
4. Оптимизация кода на примере компаний BigTech и низкоуровневого программирования.
5. Глубокое понимание работы low-level пакетов: unsafe, runtime, reflect, debug.
6. Применение профайлера для оптимизации CPU, памяти и блокировок.
7. Повышение уровня ЗП и ценности как специалиста в компании благодаря полученным знаниям.
**Содержание курса:**
### Основы Computer Science. Часть 1
#### Урок №1 – Микроархитектура процессора
- Индустриальный стандарт ISA, организация памяти, чипсеты.
- Архитектура CPU, работа конвейера, устройство регистров, виды команд.
- SMT, hyperthreading, пример процессора на Verilog.
#### Урок №2 – Оперативная, кэш-память
- Устройство кэша процессора, уровни кэша, стратегии кэширования.
- Устройство оперативной памяти, таблицы страниц, адресация, DMA.
**Результат:**
- Освоение основ Computer Science для успешных собеседований.
- Умение ускорять код через понимание его исполнения.
### Основы Computer Science. Часть 2
#### Урок №3 – Архитектура операционных систем
- Введение в ОС, типы архитектур, user/kernel space, прерывания.
- Системные вызовы, управление памятью, примеры xv6.
#### Урок №4 – Управление памятью в ОС
- Управление памятью, таблицы адресов, фрагментация памяти.
- Абстракции ОС: процессы, потоки, буферизация.
**Результат:**
- Углубленное знание Computer Science для собеседований.
- Умение ускорять код через понимание выполнения.
**Домашнее задание:**
- Написать программы, взаимодействующие с ОС через syscalls и каналы в Go.
### Неделя 3
### Ассемблер в Go и работа со стеком
#### Урок №5 – введение в ассемблер Go
- Типы инструкций, кроссплатформенность, адресация.
#### Урок №6 – инструкции работы со стеком
- Стек программы, инструкции, локальные переменные, соглашения вызова.
**Результат:**
- Понимание трансляции программы в ассемблерный код.
- Навык написания программ на ассемблере.
**Домашнее задание:**
- Написать программу на ассемблере Go.
### Неделя 4
### Дополнительные фишки оптимизации, кодинг бенчмарков
#### Урок №7 – устройство памяти в Go, бенчмарки
- Устройство памяти, аллокатор Go, бенчмарки.
#### Урок №8 – оптимизации в Go
- Устройство Go, оптимизации, работа с пакетом unsafe.
**Результат:**
- Понимание устройства рантайма Go и его оптимизация.
- Умение работать с low-level пакетами и рефлексией.
**Домашнее задание:**
- Написать свою реализацию RPC с использованием рефлексии Go.
### Неделя 5
### Рантайм в Go и профилирование
#### Урок №9 – управление внутренним состоянием рантайма Go
- Управление рантаймом, профилирование, аллокаторы.
#### Урок №10 – профилирование в Go
- Виды профилировщиков, работа с ними.
**Результат:**
- Оптимизация приложений через управление рантаймом.
- Навык профилирования приложений.
**Домашнее задание:**
- Создание микросервиса с CGO, профилирование, использование PGO.
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- Все хорошо (перевод) [Роуз Лоуренс]
- Udemy Personal Plan — доступ к онлайн-курсам [№2 на 1 месяц] [udemy.com]
- Стратегия большой игры - Запад против Запада [Дмитрий Евстафьев]
- [Крипта] Аналитика и сигналы. Подписка на Market Insights (№3 на 1 месяц, с 01.11.2026) [substack.com] [Вячеслав Базылев]
- 3D и я (перевод) [Роуз Лоуренс]
- Тренды и бизнес-модели каждую неделю [№11 на 1 месяц с 27.10.2026] [tweekly.ru] [Алексей Черняк]