Глубокий Go — курс о нюансах и тонкостях языка

Разберешь Go на винтики — от битиков до рантайма. Не изучаем внешние библиотеки и синтаксис только устройство языка и его стандартная библиотека

Преподает ex-Team Lead в Яндекс

оценка студентов
4.94 / 5
когда
29 сентября
поток
поток №7
длительность
1.5 месяца
Вырасти из Middle в Senior
уперлись в потолок, а без глубокого понимания Go не берут на интересные проекты
Изучить best practices
разобраться в тонкостях языка, писать более производительный и чистый код
Свичнуться в Golang
есть база, и нужно быстро понять, как все работает в Go и не тащить старые паттерны из текущего стека
Подготовиться к собеседованиям
уверенно отвечать на каверзные вопросы по техничке, ответы на которые редко встретишь в практике
в случаях, когда нужно:
Подойдет go-разработчикам от уровня middle
и cвитчерам из backend-стека

весь курс — о тонкостях GO, которые должен знать каждый Senior

/1
Раскладываем строки, мапы, планировщик, сборщик мусора и др. на атомы — часовые разборы всех нюансов по каждой теме
/2
Разбираемся в нюансах и best practices языка и учимся использовать их на практике
/3
Учимся работать с памятью и указателями по паттернам из C++, чтобы данные занимали минимум места, а код работал быстрее
/4
Быстро прокачиваем hard’ы для свитча из другого backend-стека

В программе 60% практики — все, что используется в работе

Урок №1 — Основные типы данных

Типы данных
  • Zero value
  • Примитивные и составные
  • Выравнивание типов данных
  • Размеры типов данных

Endianness
  • Big Endian
  • Little Endian

Внутреннее устройство целочисленных типов данных
  • Прямой код
  • Обратный код
  • Дополнительный код

Указатели
  • Арифметика указателей
  • Указатели на указатели
  • Проблемы с uintptr
  • unsafe.Pointer()
  • unsafe.Sizeof()

  • Битовые маски
  • Битовые операции
  • Разряды битов и байтов
  • Байтовая и словесная адресация
  • Переполнение знаковых и беззнаковых типов данных
  • Обнаружение переполнений
  • Копирование переменных

______________________________


Урок №2 — Массивы и срезы

Внутреннее устройство массивов в Golang
  • Копирование массивов
  • Правильная итерация по массивам
  • Оптимизации по работе с массивами
  • Аллокация массивов в стеке и в куче

Внутреннее устройство срезов в Go
  • Увеличение и уменьшение емкости среза
  • Увеличение и уменьшение размера среза
  • Аллокация среза без инициализации
  • Аллокация срезов в стеке и в куче
  • Разница пустых и нулевых срезов
  • BCE (Bound Check Elimination)
  • Утечки памяти со срезами
  • Копирование срезов
  • Расширения срезов
  • Сравнение срезов
  • Очистка срезов
  • Bound checks
  • memclr

Советы по использованию
  • Конвертация срезов в массивы и обратно
  • Получение подсрезов из массивов и срезов
  • Реализация очереди и стека на основе среза
  • Удаление из начала / конца и середины среза

Открыть ДЗ
можно начать бесплатно

Из чего состоит курс

Уроки длятся по 1.5−2 часа, и все можно смотреть в свободное от учебы и работы время. Материалы актуальны на текущий год

Записанные лекции в студийном качестве

Все задания помогают на практике прочувствовать, как устроен язык Go. Ты даже перепишешь его небольшие части

Домашняя работа для закрепления лекций

Все вопросы по урокам и домашним работам можно задавать на общих zoom-созвонах

Q&A-сессии с ответами на вопросы

Прокачаешься не только на домашках, но и на решении реальных задач, которые уже встречались в IT-компаниях или встретятся тебе в будущем в процессе разработки

Кейсы из рабочей практики

Получишь возможность совместно с другими учениками курса делать код-ревью друг другу для дополнительного закрепления полученных знания

Code review сокурсников

Получишь список книг, статей, курсов и видео, которые позволят изучить разработку на языке Go еще глубже

Дополнительные материалы

Хотя... Глубже будет некуда:)
Выдадим после успешного прохождения курса для подтверждения твоих навыков

Сертификат по итогам курса

учимся на своей платформе

Преподаватель — владимир балун, ex-team lead в яндекс

руководил разработкой системы трейсинга (11ГБ/с трафик)
Yandex
разрабатывал системы трейсинга и непрерывного профилирования
Ozon
разрабатывал движок по подбору таргетированной рекламы
Tinkoff
разрабатывал Kaspersky Endpoint Security
Kaspersky Lab
поддерживал ICQ и разрабатывал My Teams
Mail.ru
руководил курсом Golang Developer.Professional
OTUS
Saint HighLoad++, GolangConf, CodeFest, Стачка и E-CODE
Спикер конференций
30 000+
подписчиков
на YouTube
>600 часов
менторства и личного обучения
>1000
учеников обучились на моих курсах
6+ лет
занимаюсь программированием

средняя оценка учеников

{
ффф"reviews": {
ффффф"reliability": true
ффф}
}
4.94 / 5

метрики удовлетворенности одного из прошлых потоков

Учеников готовы рекомендовать этот курс друзьям и коллегам
Итоговая оценка курса
по 10-ти балльной шкале

истории учеников

начинаем 29 сентября

Можно оплатить в рассрочку и иностранной валютой. Вернем 100% средств в первую неделю обучения, если не понравится
Стандарт
Премиум
12 практических занятий
Домашние задания
Сode-review сокурсников
Общий чат и допматериалы
Q&A-сессии с ответами на вопросы
Доступ к курсу на 1 год
Проверка домашних заданий
Вернем все деньги в первую неделю обучения, если не понравится
54 700 Р
75 300
Стоимость увеличится через:
52д 48ч 32м 17с
Можно в рассрочку — частями и без процентов
9 100
Р х 6
или
18 250
Р х 3
Будет дешевле, если проходили у нас:
При заполнении формы оплаты укажи email, к которому привязан аккаунт на платформе. Скидка применится автоматически
1 курс
54 700
49 230 Р
3+ курса
54 700
43 760 Р
5+ курсов
54 700
38 290 Р
Стандарт
Премиум
12 практических занятий
Домашние задания
Сode-review сокурсников
Общий чат и допматериалы
Q&A-сессии с ответами на вопросы
Доступ к курсу на 2 года
Проверка домашних заданий
Вернем все деньги в первую неделю обучения, если не понравится
58 200 Р
89 600
Стоимость увеличится через:
52д 48ч 32м 17с
Можно в рассрочку — частями и без процентов
9 700
Р х 6
или
19 400
Р х 3
Будет дешевле, если проходили у нас:
При заполнении формы оплаты укажи email, к которому привязан аккаунт на платформе. Скидка применится автоматически
1 курс
58 200
52 380 Р
3+ курса
58 200
46 560 Р
5+ курсов
58 200
40 740 Р
Стандарт
12 практических занятий
Домашние задания
Сode-review сокурсников
Общий чат и допматериалы
Q&A-сессии с ответами на вопросы
Доступ к курсу на 1 год
Проверка домашних заданий
54 700 Р
75 300
Стоимость увеличится через:
52д 48ч 32м 17с
Можно в рассрочку — частями и без процентов
9100
х 6
|
18 250
х 3
Будет дешевле, если проходили у нас:
При заполнении формы оплаты укажи email, к которому привязан аккаунт на платформе. Скидка применится автоматически
1 курс
54 700
49 230 Р
3+ курса
54 700
43 760 Р
5+ курсов
54 700
38 290 Р
Премиум
12 практических занятий
Домашние задания
Сode-review сокурсников
Общий чат и допматериалы
Q&A-сессии с ответами на вопросы
Доступ к курсу на 2 года
Проверка домашних заданий
58 200 Р
89 600
Стоимость увеличится через:
52д 48ч 32м 17с
Можно в рассрочку — частями и без процентов
9100
х 6
|
18 250
х 3
Будет дешевле, если проходили у нас:
При заполнении формы оплаты укажи email, к которому привязан аккаунт на платформе. Скидка применится автоматически
1 курс
58 200
52 380 Р
3+ курса
58 200
46 560 Р
5+ курсов
58 200
40 740 Р
быстрый Курс

Подготовка к go-собеседованию за 7 часов

По этой же теме
Частые вопросы
MIddle — минимальный грейд для комфортной учебы на курсе

Нужно иметь коммерческий опыт разработки, знать синтаксис Go и хотя бы поверхностно владеть базовыми алгоритмами и структурами данных

Также, уроки на курсе подходят свитчерам из другого backend-стека, но важно знать синтаксис Go. Быстро и бесплатно с ним можно познакомиться на этом курсе

Будет сложно Junior Go-разработчикам и свитчерам из других предметных областей, у которых нет базы в backend’е. Здесь мы разбираем тонкости и нюансы Golang, а вам нужно набрать уверенную базу. Для начала рекомендуем сходить на наш курс «Go на практике»

Если программа этого курса покажется легкой, приходи на бесплатную консультацию в техподдержку — определим уровень и поможем определиться с выбором

задать вопрос

Пиши, если есть вопрос по курсу или не знаешь, с чего начать — поможем советом
Курс для продвинутых разработчиков «Глубокий Go» в Balun.Courses — онлайн-программа, в рамках которой ты разберешься со всеми тонкостями и нюансами, которые прячет Golang, и сможешь стать востребованным разработчиком не только в своей команде, но и на рынке.

Наш формат обучения подойдет, если ты программист уровня junior/middle/senior и имеешь опыт в сфере программирования. Если ты новичок, ранее нигде не проходил курс (course) по языку программирования Go, у тебя иная специальность/профессия и твоя цель на старте — пройти переподготовку и освоить программирование/разработку с нуля, наша программа не подойдет, т.к. учиться будет сложно. Чтобы успешно проходить обучения по нашим программам в Balun.Courses, необходимо знать основы языков в программировании и иметь опыт работы разработчиком в сфере программирования— это важное условие.

Углубленное изучение языка программирования в нашей школе начинаем с базовых типов и указателей, массивов и срезов, которые должен знать backend-разработчик: BCE, zero value, различия пустых и нулевых срезов, аллокации в стеке и куче. Затем вы освоите строки и словари: кодировки, strings. Builder, интернирование, утечки памяти, swiss table и нюансы переиндексации. Отдельные блоки — функции и defer, хвостовая рекурсия, структуры и выравнивание, unsafe-приемы и Data Oriented Design. Финальная часть — интерфейсы, обработка ошибок, сборщик мусора, аллокатор, планировщик и горутины: sysmon, preemption, work stealing, GMP-модель, что тоже обязательно пригодится в разработке. Также мы поможем подготовиться к интервью по Golang и расскажем, какие вопросы и задачи часто спрашивают на собеседованиях в крупных BigTech-компаниях. Все полученные знания в Balun.Courses ты можно смело использовать при прохождении интервью при трудоустройстве.

Как итоговый результат — после прохождения всех модулей курса по Golang в Balun.Courses ты сможешь:
  • увереннее проходить собеседования по Golang в BigTech и построить карьеру мечты,
  • понимать такие инструменты, как аллокатор, GC и планировщик,
  • уменьшать аллокации и bound checks и ускорять критичные участки,
  • писать поддерживаемый, понятный код и создавать эффективные приложения и сервисы, который экономит ресурсы компании, что очень актуально и важно для бизнеса,
  • написать резюме, которое выделит тебя среди других в условиях высокой конкуренции и привлечет потенциальных работодателей.

Все уроки на онлайн-обучении по Golang в школе Balun.Courses в записи, каждый урок длительностью по 1,5−2 часа. Для учебы в Balun.Courses потребуется примерно 4−5 часов в неделю. Доступ к записям открывается сразу после оплаты. После просмотра уроков ты практикуешься, делаешь ДЗ с автопроверкой, а также ходишь на еженедельные Q&A и разбираешь реальные кейсы. Записи будут доступны в зависимости от тарифа 1 или 2 года. В тариф «Премиум» также входит проверка домашних заданий преподавателем. Есть и поддержка от преподавателя в общем чате, который ответит на ваши вопросы.

Для того, чтобы не отставать от программы, по опыту наших студентов стоит уделять 10−12 часов в неделю. Выход уроков не привязан к строгому графику, поэтому ты можешь изучать материалы в своем темпе.

Преподаватель — Владимир Балун, который является руководителем Balun.Courses.

По окончанию освоения программы в Balun.Courses выдается именной сертификат, который покажет твой продвинутый уровень в сфере программирования. Сертификат от школы Balun.Courses также можно положить в свое портфолио и показывать работодателю вместе со своим резюме.

Уже более 1 000 студентов повысили свою квалификацию по направлению Golang как бэкенд-программиста в Balun.Courses. Среди наших выпускников — программисты из банков и других крупных компаний. Курсы Balun.Courses оценивают в среднем 4.94 из 5 на основании отзывов наших студентов, которые вы можете увидеть на сайте. Golang-разработчик с таким продвинутым бэкграундом, знающий, какие тонкости и нюансы кроет в себе язык программирования, очень ценится на рынке.Если ты сомневаешься, подходит ли тебе наш курс (course), приходи на бесплатный открытый урок по Golang.

Если ты сомневаешься, подходит ли тебе наш курс (course), приходи на бесплатный открытый урок по Golang. В нашей школе Balun.Courses мы проводим полезные и бесплатные вебинары по всем имеющимся направлениям, как System Design, разработке AI, основам Git, облачным системам, оптимизации в языке программирования Golang, микросервисам и проектированию высоконагруженных систем, подготовке к алгоритмическим собеседованиям, Observability и другим, участие на многих уроках является бесплатным. Такой открытый урок поможет не только узнать что-то новое о тонкостях языка программирования — так ты ознакомишься с форматом подачи материала в Balun.Courses еще до того, как начнется новый курс (course).

Если есть вопросы или сомнения, подойдет ли тебе курс (course), ты можешь связаться с нами по контактам, которые указаны на сайте, или оставить заявку — мы проведем консультацию, ответим на вопросы и предоставим необходимую информацию про курс.

У нас есть корпоративное обучение (course) в сфере программирования для сотрудников. Можно оплатить его полностью или частями, например, где одну часть оплачивает работодатель, другую - специалист. Мы можем составить индивидуальную программу под задачи вашего бизнеса. Также у нас действуют специальные предложения: чем больше студентов приведете на наши программы (course) в сфере программирования, тем больше будет скидка. А в отдельной статье рассказываем, как согласовать обучение от компании с работодателем.

Оставляя заявку на сайте, вы даете согласие на обработку персональных данных согласно Политике, а также с офертой и пользовательским соглашением.

Углубленное обучение по Golang для продвинутых разработчиков

Особенности аллоцирования объектов в Go
Следующий урок

Выравнивание структур данных