[Balun.Courses] Владимир Балун → Быстрая подготовка к собеседованию по Golang (2025)
Подойдет Golang-разработчикам и Switcher’ам, которые:
* Перегуглили весь интернет запросом «Задачи с собеседований по Go», и до сих пор не чувствуют уверенности
* Не знают, как проходят собеседования по Go или идут туда первый раз
* Хотят быстро изучить все вопросы и подготовиться к задачам, которые спросят на собеседовании по Go
* Пытались свичнуться на GO, но поняли, что в нем много подводных камней. Не хватает знаний, чтобы пройти собеседование
Изучишь тонкости, без которых сложно пройти собеседование по GO:
* Разберешь 100 задач, которые могут встретиться на реальном собеседовании
* Узнаешь, как работает аллокатор, сборщик мусора и планирощик Golang
* Узнаешь, как устроены строки, срезы, словари и каналы Go
* Изучишь различные темы по Concurrency — deadlock, livelock, data race, race condition и многое другое
* Изучишь множество нюансов, тонкостей и подводных камней Go
* Разберешься в глубоких темах Go, которые спросят на собеседовании в BigTech
Содержание курса:
15 уроков
100 задач
Все темы спрашивают на реальных интервью. В уроках быстро разбираем теорию, чтобы закрыть вопросы, которые спрашивают на собеседованиях + разбираем задачи на эти темы
Типы данных
Задачи урока:
* переполнение целочисленных переменных
* особенности битовых операций со знаковыми числами
* особенности работы с разными системами счисления
* нюансы uintptr
* endianness
* указатели на указатель
Массивы и срезы
Теория урока:
* устройство массивов и срезов
Задачи урока:
* бесконечная итерация по срезу
* глубокое копирование срезов
* создание среза без инициализации
* возврат среза из функции
* пустые и нулевые срезы
* утечки памяти при работе со срезами
* опасные операции со срезами и массивам
Строки
Теория урока:
* устройство строки
Задачи урока:
* длина строки
* различные способы итерации по строке
* разница итерации по строке и по срезу байт
* особенности получения подстроки из строки
* различные способы конкатенации строк
* использование strings. Builder
* копирование strings. Builder
* конвертация строки в срез байт и обратно
* изменение строки
* утечки памяти при работе со строками
Словари
Теория урока:
* устройство словаря
Задачи урока:
* сравниваемые ключи
* последовательность итерации
* изменение словаря во время итерации
* утечки памяти со словарями
* словари с вещественными числами
* опасные операции со словарями
Структуры
Задачи урока:
* разные ресиверы
* ambigious selectors
* выравнивание структур
* встраивание типов
* сравнение структур
* пустые структуры
Интерфейсы
Теория урока:
* устройство интерфейсов
Задачи урока:
* сравнение интерфейсов
* приведение интерфейсов
* копирование интерфейсов
* срез пустых интерфейсов
* nil интерфейсы
* особенности type assertion
* особенности type switch
Defer
Теория урока:
* устройство defer
Задачи урока:
* defer с циклами
* вычисление defer
* модификация возвращаемого значения с использованием defer
* производительность defer
* последовательность defer-ов
* defer с receiver-ом
Ошибки
Теория урока:
* устройство ошибок
Задачи урока:
* константные ошибки
* перехват деления на ноль
* перехват переполнения стека и OOM
* перехват размывания nil pointer
* оборачивание ошибок
* пропуск паники
* тонкости паники
* подмена паники
Аллокатор
Теория урока:
* устройство аллокатора
Задачи урока:
* аллокация объектов на стеке и в куче
* аллокация интерфейсов
* аллокация массивов и срезов
Сборщик мусора
Теория урока:
* устройство сборщика мусора
Задачи урока:
* большие аллокации
* баласты памяти
Горутины и планировщик Go
Теория урока:
* устройство горутин и планировщика
Задачи урока:
* количество горутин
* запуск горутин
* GOMAXPROCS
* async preemption
* паники с горутинами
* перехват паники из горутины
Concurrency: примитивы синхронизации
Задачи урока:
* date race и race condition
* deadlock
* livelock
* некорректная синхронизация структур данных
* локальные мьютексы
* гранулярность блокировок
* опасные операции с мьтексами
* копирование примитивов синхронизации
* CAS
* опасные операции с sync. Cond
* false sharing
Concurrency: каналы
Теория урока:
* устройство каналов в языке программирования Go
Задачи урока:
* select
* data race с каналами
* опасные операции с каналами
* утечки горутин с каналами
* проверка закрытия канала
* nil каналы
* неблокирующая запись и чтение
* приоритизация select
* последовательное выполнение
* особенности записи в канал
Concurrency: контексты
Теория урока:
* устройство контекстов
Задачи урока:
* nil context
* родительские и дочерние контексты
* особенности context. WithValue
* использование контекста
Concurrency: паттерны
Задачи урока:
* паттерн Fan-In
* паттерн Fan-Out
* паттерн worker pool
* паттерн pipeline
* синхронизация кэша
* распределенный запрос в несколько реплик
* распределенный запрос в несколько шардов
Курс готовит только к технической секции по GO
В материалах нет информации по подготовке к System Design, алгоритмической и другим секциям. Для этого у нас есть отдельные курсы: System Design, Алгоритмы, Глубокий Go и Concurrency в Go
Тариф Стандарт
* 15 уроков
* Доступ к курсу на 1 год
* Допматериалы
* Общий чат для вопросов
—————————————————————————
🔗 Продажник:
Доступно пользователям: Зарегистрированный
📥 СКАЧАТЬ КУРС:
Для просмотра содержимого вам необходимо Войти или Зарегистрироваться.
🔐 Хотите получить доступ?
Чтобы увидеть скрытые ссылки и ставить лайки, активируйте VIP-статус.
💎 ПОЛУЧИТЬ ДОСТУП Наш Telegram канал