Kors
Администратор
- Регистрация
- 12 Дек 2014
- Сообщения
- 192.567
- Реакции
- 246.029
**Складчина: Оптимизация Go, как в BigTech [Balun Courses]**
Курс поможет решить следующие проблемы:
1. Необходимо разбираться в perf-снимот и читать код в сторонних библиотеках.
2. Нужно оптимизировать код, но не хватает знаний за пределами синтаксиса.
3. Хочется заниматься низкоуровневым программированием, а не только простыми фичами.
4. Сложности с пониманием исходного кода Go из-за недостаточных знаний об устройстве языка/архитектуре компьютера.
5. Подготовка к собеседованиям в BigTech, включая вопросы по внутреннему устройству Go и Computer Science.
За 5 недель вы:
1. Изучите computer science для работы в BigTech, научитесь понимать исполнение кода от синтаксиса до машинных инструкций.
2. Познакомитесь с архитектурой операционных систем, вызовами syscall и умением работать с ассемблером в Go.
3. Оптимизируете код на примерах крупных компаний и низкоуровневого программирования.
4. Погрузитесь в работу с low-level пакетами: unsafe и runtime, reflect и debug.
5. Научитесь использовать профайлер для оптимизации CPU, памяти и блокировок, что поможет повысить уровень ЗП и ценность в компании.
**Программа курса:**
### Основы Computer Science. Часть 1
#### Урок №1 – Микроархитектура процессора
- Внутреннее устройство компьютера: ISA, разделение памяти, организация чипсетов.
- Внутреннее устройство процессора: архитектура CPU, конвейер, регистры, команды, SMT, Verilog.
#### Урок №2 – Оперативная, кеш память
- Внутреннее устройство кеша и оперативной памяти: кеш линии, кэширование, чтение/запись, memory endian, page tables, shared memory.
**Результат:**
- Освоение основ Computer Science важных для собеседований.
- Умение ускорять код через понимание его исполнения.
### Основы Computer Science. Часть 2
#### Урок №3 – Архитектура ОС
- Введение в операционные системы, прерывания, системные вызовы.
- Примеры операционных систем xv6.
#### Урок №4 – Управление памятью в ОС
- Механизмы управления памятью, виртуальные/физические адреса.
- Абстракции ОС: процессы, потоки, memory ordering.
**Результат:**
- Освоение основ Computer Science важных для собеседований.
- Умение ускорять код через понимание его исполнения.
**Домашнее задание:** Работа с syscalls, написание каналов в Go через syscall pipe.
### Неделя 3
### Ассемблер в Go и работа со стеком
#### Урок №5 – Введение в ассемблер Go
- Типы инструкций, кроссплатформенность, Addressing modes.
#### Урок №6 – Инструкции работы со стеком
- Стек программы, работа со стеком, локальные переменные, соглашения вызова функций.
**Результат:**
- Понимание трансляции программы в ассемблерный код.
- Навыки программирования на ассемблере.
**Домашнее задание:** Написание программы на ассемблере Go.
### Неделя 4
### Дополнительные фишки оптимизации, кодинг бенчмарков
#### Урок №7 – Устройство памяти в Go, бенчмарки
- Устройство памяти в Go, Go аллокатор, бенчмарки в Go.
#### Урок №8 – Оптимизации в Go
- Escape analysis, оптимизации в Go, работа с пакетом unsafe.
**Результат:**
- Понимание управления памятью в Go и low-level пакетов.
- Применение оптимизаций в Go на практике.
**Домашнее задание:** Написание своей реализации RPC, оптимизация с использованием unsafe.
### Неделя 5
### Рантайм в Go и профилирование
#### Урок №9 – Управление рантаймом Go
- Пакет runtime, управление внутренним состоянием рантайма Go.
#### Урок №10 – Профилирование в Go
- Профилирование в Go, работа с профилировщиком.
**Результат:**
- Оптимизация приложения с использованием продвинутых пакетов Go.
- Навыки профилирования приложения.
**Домашнее задание:** Написание микросервиса с использованием CGO и профилирование.
Курс поможет решить следующие проблемы:
1. Необходимо разбираться в perf-снимот и читать код в сторонних библиотеках.
2. Нужно оптимизировать код, но не хватает знаний за пределами синтаксиса.
3. Хочется заниматься низкоуровневым программированием, а не только простыми фичами.
4. Сложности с пониманием исходного кода Go из-за недостаточных знаний об устройстве языка/архитектуре компьютера.
5. Подготовка к собеседованиям в BigTech, включая вопросы по внутреннему устройству Go и Computer Science.
За 5 недель вы:
1. Изучите computer science для работы в BigTech, научитесь понимать исполнение кода от синтаксиса до машинных инструкций.
2. Познакомитесь с архитектурой операционных систем, вызовами syscall и умением работать с ассемблером в Go.
3. Оптимизируете код на примерах крупных компаний и низкоуровневого программирования.
4. Погрузитесь в работу с low-level пакетами: unsafe и runtime, reflect и debug.
5. Научитесь использовать профайлер для оптимизации CPU, памяти и блокировок, что поможет повысить уровень ЗП и ценность в компании.
**Программа курса:**
### Основы Computer Science. Часть 1
#### Урок №1 – Микроархитектура процессора
- Внутреннее устройство компьютера: ISA, разделение памяти, организация чипсетов.
- Внутреннее устройство процессора: архитектура CPU, конвейер, регистры, команды, SMT, Verilog.
#### Урок №2 – Оперативная, кеш память
- Внутреннее устройство кеша и оперативной памяти: кеш линии, кэширование, чтение/запись, memory endian, page tables, shared memory.
**Результат:**
- Освоение основ Computer Science важных для собеседований.
- Умение ускорять код через понимание его исполнения.
### Основы Computer Science. Часть 2
#### Урок №3 – Архитектура ОС
- Введение в операционные системы, прерывания, системные вызовы.
- Примеры операционных систем xv6.
#### Урок №4 – Управление памятью в ОС
- Механизмы управления памятью, виртуальные/физические адреса.
- Абстракции ОС: процессы, потоки, memory ordering.
**Результат:**
- Освоение основ Computer Science важных для собеседований.
- Умение ускорять код через понимание его исполнения.
**Домашнее задание:** Работа с syscalls, написание каналов в Go через syscall pipe.
### Неделя 3
### Ассемблер в Go и работа со стеком
#### Урок №5 – Введение в ассемблер Go
- Типы инструкций, кроссплатформенность, Addressing modes.
#### Урок №6 – Инструкции работы со стеком
- Стек программы, работа со стеком, локальные переменные, соглашения вызова функций.
**Результат:**
- Понимание трансляции программы в ассемблерный код.
- Навыки программирования на ассемблере.
**Домашнее задание:** Написание программы на ассемблере Go.
### Неделя 4
### Дополнительные фишки оптимизации, кодинг бенчмарков
#### Урок №7 – Устройство памяти в Go, бенчмарки
- Устройство памяти в Go, Go аллокатор, бенчмарки в Go.
#### Урок №8 – Оптимизации в Go
- Escape analysis, оптимизации в Go, работа с пакетом unsafe.
**Результат:**
- Понимание управления памятью в Go и low-level пакетов.
- Применение оптимизаций в Go на практике.
**Домашнее задание:** Написание своей реализации RPC, оптимизация с использованием unsafe.
### Неделя 5
### Рантайм в Go и профилирование
#### Урок №9 – Управление рантаймом Go
- Пакет runtime, управление внутренним состоянием рантайма Go.
#### Урок №10 – Профилирование в Go
- Профилирование в Go, работа с профилировщиком.
**Результат:**
- Оптимизация приложения с использованием продвинутых пакетов Go.
- Навыки профилирования приложения.
**Домашнее задание:** Написание микросервиса с использованием CGO и профилирование.
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- Storyteller (2026) [Андрей Бибиков]
- [Вязание] Вязаный спицами кардиган резинкой бриошь Bergen [Вяжи.ру] [Мартин Стори]
- Сезонный гид. Трендбук. Осень 2026. Россия [Рита Степанченко]
- Деньги бесплатны [Роуз Лоуренс]
- Матан [Поступашки] [Владислав Васильев]
- [Лепка] Подписка (донат) на клуб Украшения из полимерной глины (ноябрь 2026) [Ольга Бутяева]