Vendetta
Администратор
- Регистрация
- 16 Сен 2015
- Сообщения
- 242.572
- Реакции
- 426.072
**Складчина: Оптимизация Go, как в BigTech [Balun Courses]**
Курс поможет решить следующие проблемы:
1. Неразборчивость perf-снимот при написании бизнес-логики и приложений на Go, а также кода в сторонних библиотеках.
2. Неопределенность в оптимизации кода из-за недостаточного понимания его работы за пределами синтаксиса.
3. Желание заниматься более сложными и низкоуровневыми задачами, вместо написания простых фич на работе.
4. Непонимание исходного кода Go из-за недостаточного знания языка и архитектуры компьютера.
5. Трудности на собеседованиях в BigTech из-за нехватки знаний по внутреннему устройству Go и Computer Science.
За 5 недель обучения на практике вы научитесь:
1. Понимать компьютерную науку для работы в BigTech, разбираясь в исполнении кода от синтаксиса до машинных инструкций.
2. Работать с операционной системой, разбираясь в calling convention и вызовах syscall'ов.
3. Использовать ассемблер в Go для оптимизации кода и изучения языковых оптимизаций.
4. Оптимизировать код, основываясь на примерах крупных компаний и низкоуровневого программирования.
5. Углубленно изучить работу low-level пакетов: unsafe и runtime, reflect и debug.
6. Применять профилировщик для оптимизации CPU, памяти и блокировок.
7. Повысить свою ценность в компании и уровень заработной платы благодаря полученным знаниям.
**Программа курса:**
### Основы Computer Science. Часть 1
#### Урок №1 – Микроархитектура процессора
**Внутреннее устройство компьютера:**
- ISA
- Модели памяти
- Организация чипсетов
**Внутреннее устройство процессора:**
- Архитектура CPU
- Многотактовые процессоры
- Конвейер процессора
- Работа с регистрами
- Типы команд
- SMT и hyperthreading
- Примеры процессоров на Verilog
#### Урок №2 – Оперативная и кеш память
**Внутреннее устройство кеша процессора:**
- Кеш линии
- Политики кэширования
- Когерентность кеша
- Уровни кеша
- Чтение и запись в кеш
**Внутреннее устройство оперативной памяти:**
- Memory endian
- Page tables
- Hierarchical page tables
- Трансляция адресов
- Shared memory
- DMA
**Результат:**
- Овладеваете основами Computer Science, необходимыми для работы и собеседований
- Умеете оптимизировать код, понимая его работу "под капотом"
### Основы Computer Science. Часть 2
#### Урок №3 – Архитектура операционных систем
**Введение в операционные системы:**
- Различия между monolitic и micro ядрами
- Примеры операционных систем
**Прерывания и системные вызовы:**
- fork(), exec(), clone()
- Copy on write
- Стеки для пользовательского, ядерного и прерываний
- Примеры Golang syscalls
#### Урок №4 – Управление памятью в ОС
**Механизмы управления памятью:**
- Memory ordering
- Memory reclaim
- Виртуальные и физические адреса
- Memory mapped files
- Фрагментация памяти
- Примеры аллокаторов в xv6
**Абстракции ОС:**
- Процессы, потоки
- Process context
- Interrupt request
- Tasklets
- OOM Killer
**Результат:**
- Освоены основы Computer Science для собеседований и работы
- Умение ускорять код, понимая его работу "под капотом"
**Домашнее задание:**
- Реализовать программы, использующие syscalls и писать свои каналы в Go с использованием syscall pipe
---
Продолжение в следующем сообщении.
Курс поможет решить следующие проблемы:
1. Неразборчивость perf-снимот при написании бизнес-логики и приложений на Go, а также кода в сторонних библиотеках.
2. Неопределенность в оптимизации кода из-за недостаточного понимания его работы за пределами синтаксиса.
3. Желание заниматься более сложными и низкоуровневыми задачами, вместо написания простых фич на работе.
4. Непонимание исходного кода Go из-за недостаточного знания языка и архитектуры компьютера.
5. Трудности на собеседованиях в BigTech из-за нехватки знаний по внутреннему устройству Go и Computer Science.
За 5 недель обучения на практике вы научитесь:
1. Понимать компьютерную науку для работы в BigTech, разбираясь в исполнении кода от синтаксиса до машинных инструкций.
2. Работать с операционной системой, разбираясь в calling convention и вызовах syscall'ов.
3. Использовать ассемблер в Go для оптимизации кода и изучения языковых оптимизаций.
4. Оптимизировать код, основываясь на примерах крупных компаний и низкоуровневого программирования.
5. Углубленно изучить работу low-level пакетов: unsafe и runtime, reflect и debug.
6. Применять профилировщик для оптимизации CPU, памяти и блокировок.
7. Повысить свою ценность в компании и уровень заработной платы благодаря полученным знаниям.
**Программа курса:**
### Основы Computer Science. Часть 1
#### Урок №1 – Микроархитектура процессора
**Внутреннее устройство компьютера:**
- ISA
- Модели памяти
- Организация чипсетов
**Внутреннее устройство процессора:**
- Архитектура CPU
- Многотактовые процессоры
- Конвейер процессора
- Работа с регистрами
- Типы команд
- SMT и hyperthreading
- Примеры процессоров на Verilog
#### Урок №2 – Оперативная и кеш память
**Внутреннее устройство кеша процессора:**
- Кеш линии
- Политики кэширования
- Когерентность кеша
- Уровни кеша
- Чтение и запись в кеш
**Внутреннее устройство оперативной памяти:**
- Memory endian
- Page tables
- Hierarchical page tables
- Трансляция адресов
- Shared memory
- DMA
**Результат:**
- Овладеваете основами Computer Science, необходимыми для работы и собеседований
- Умеете оптимизировать код, понимая его работу "под капотом"
### Основы Computer Science. Часть 2
#### Урок №3 – Архитектура операционных систем
**Введение в операционные системы:**
- Различия между monolitic и micro ядрами
- Примеры операционных систем
**Прерывания и системные вызовы:**
- fork(), exec(), clone()
- Copy on write
- Стеки для пользовательского, ядерного и прерываний
- Примеры Golang syscalls
#### Урок №4 – Управление памятью в ОС
**Механизмы управления памятью:**
- Memory ordering
- Memory reclaim
- Виртуальные и физические адреса
- Memory mapped files
- Фрагментация памяти
- Примеры аллокаторов в xv6
**Абстракции ОС:**
- Процессы, потоки
- Process context
- Interrupt request
- Tasklets
- OOM Killer
**Результат:**
- Освоены основы Computer Science для собеседований и работы
- Умение ускорять код, понимая его работу "под капотом"
**Домашнее задание:**
- Реализовать программы, использующие syscalls и писать свои каналы в Go с использованием syscall pipe
---
Продолжение в следующем сообщении.
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- Клуб Минус отёки. Плоский живот (октябрь 2026) [Мария Фомичева]
- Практикумы по Бацзы [Юдола Белимирова]
- Психологическое консультирование женско-мужских отношений в норме и патологии (обновление) [Слушатель] [Наталья Дмитриева, Румия Калинина] [Повтор]
- [БХВ] LLMOps. Практическое руководство [Никита Горячев]
- [Ватные игрушки] Космонавт [Ватрушки] [Анна Бабинова, Ольга Кудрина]
- Цифровой мозг. Как организовать заметки, задачи, идеи, ссылки и проекты в единую систему [Григорий Мартынов]
- Психология стресса - Как заставить стресс работать на вас [TTC] [Д-р Кимберли Бетани Бонура]
- Остеопатическая коррекция центральной нервной системы и мочеполовой системы при энурезе [Ксения Корнеева]