Скачать Оптимизация Go, как в BigTech [Balun Courses]

Принц

Администратор
Регистрация
16 Дек 2016
Сообщения
186.741
Реакции
465.822
Складчина: Оптимизация Go, как в BigTech [Balun Courses]

Проблемы, которые решает курс:

1. Пишу бизнес-логику и приложения на Go, но не могу разобраться perf-снимот или прочитать код в сторонней библиотеке.
2. Паникую, если нужно оптимизировать код, потому что не знаю, что происходит за пределами синтаксиса.
3. На работе пишу простые фичи, но хочется заниматься чем-то нетривиальным и низкоуровневым.
4. Не могу разобраться в исходном коде Go, потому что не понимаю, как устроен язык/архитектура компьютера.
5. Хочу устроиться в BigTech, но на собеседованиях валюсь на вопросах по внутреннему устройству GO и Computer Science.

За 5 недель на практике научишься выжимать все соки из Golang:

1. Изучишь computer science для работы в BigTech и научишься понимать, как исполняется код от языкового синтаксиса до машинных инструкций.
2. Узнаешь, как устроена операционка и на практике разберешь calling convention и научишься вызывать syscall’ы.
3. С нуля научишься использовать ассемблер в Go для понимания языковых оптимизаций.
4. Научишься оптимизировать код на примерах bigtech-компаний и низкоуровневого программирования.
5. Глубоко разберешь подкапотную работу low-level пакетов: unsafe и runtime, reflect и debug.
6. Научишься использовать профайлер для оптимизаций CPU, памяти и блокировок.
7. И за счет всех этих знаний сможешь повысить уровень ЗП и свою ценность в компании, как специалиста.

Спойлер: Программа курса

Основы Computer Science. Часть 1

Урок №1 – Микроархитектура процессора

- Внутреннее устройство компьютера
- Industry Standard Architecture (ISA)
- Модели разделения памяти
- Организация чипсетов

Урок №2 – Оперативная, кеш память

- Внутреннее устройство кеша процессора
- Кеш линии
- Политики кэширования
- Когерентность кеша

Внутреннее устройство оперативной памяти

- Memory endian
- Page tables
- Hierarchical page tables
- Страничная адресация

Результат:

- за пару часов получил(-а) основы Computer Science, которые спрашивают на собеседованиях
- умеешь ускорять код через понимание, как он исполняется "под капотом"

Основы Computer Science. Часть 2

Урок №3 – Архитектура операционных систем

- Введение в операционные системы
- Прерывания и системные вызовы

Урок №4 – Управления памяти в операционке

- Механизмы управления памятью
- Абстракции операционной системы

Результат:

- за пару часов получаешь основы Computer Science, которые спрашивают на собеседованиях
- умеешь ускорять код через понимание, как он исполняется "под капотом"

Домашнее задание:

- написать программы, которые взаимодействуют с операционной системой через syscalls. Написать свои каналы в Go, используя syscall pipe.