Капоне
Администратор
- Регистрация
- 1 Апр 2015
- Сообщения
- 154.226
- Реакции
- 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.
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- Закрытая группа Центра практика (октябрь 2026) [practicebox] [Анна Селиверстова, Ольга Миллер, Калинина Кристина]
- Ланчбоксы: идеи блюд на 30 дней [Klaudia Tobiasz] + Ланчбоксы: 60 новых рецептов для ланчбокса [Joanna Anger, Anna Piszczek]
- Практик трансформационных гипнотических путешествий, часть 01 из 10 (2026) [Игорь Ледоховский]
- Практик трансформационных гипнотических путешествий, часть 02 из 10 (2026) [Игорь Ледоховский]
- Практик трансформационных гипнотических путешествий, часть 03 из 10 (2026) [Игорь Ледоховский]
- Практик трансформационных гипнотических путешествий, часть 04 из 10 (2026) [Игорь Ледоховский]