20 сентября, москва
backend-митап

Глубокий Go — нюансы и тонкости языка за 1.5 месяца

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

преподает ex-Team Lead из Яндекс
оценка курса
4,94 / 5
поток
поток №4
длительность
1.5 месяца
когда
14 октября

Это обучение для разработчиков с опытом

{
ффф"for_developers": {
ффффф"junior": true,
ффффф"middle": true,
ффффф"senior": true

ффф}
}
Нужно знать синтаксис языка Go, поверхностно знать базовые алгоритмы и структуры данных
Идеально подойдет:
Golang-разработчикам и свитчерам на Go
Будет полезно:
DevOps-инженерам и фулстек-разработчикам

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

/1
Хочу посмотреть на Golang  под другим углом, разобраться во всех нюансах и деталях
/2
Допускаю ошибки и не понимаю, как ускорить код на Go. Из-за этого не могу апнуть грейд и зарплату
/3
На работе пишу простые продуктовые фичи, но хочется заняться сложными и интересными задачами
/4
Сложно разобрать код, который написан с использованием дженериков / рефлексии или указателей
/5
Хочу устроиться разработчиком в BigTech, но на собеседованиях спрашивают внутренности языка и каверзные вопросы по Go
/6
Пытался (-ась) свичнуться на Go, но понял (-а), что в нем много подводных камней. Хочу перейти в Go, желательно без потери в зарплате

Изучишь тонкости Golang, которые должен знать каждый Senior

Разберешь на атомы строки, мапы, планировщик, сборщик мусора др. — часовые разборы всех нюансов по каждой теме из программы
Узнаешь, как работает аллокатор Go, как и где Go аллоцирует память
Научишься работать с памятью и указателями, как разработчики на C++, — данные будут занимать минимум места, а код станет быстрее
Работодатели очень ценят разработчиков, которые уменьшают затраты компании:)
Изучишь нюансы и best practice написания кода на языке Go, и сможешь свитчнуться, если сейчас пишешь на другом ЯП
Разберешься в глубоких темах языка Go, которые спрашивают на собеседованиях в BigTech

изучаем все, что bigtech-компании требуют в вакансиях

{
ффф"golang": {
ффффф"demand": 100%
ффф}
}
Вся программа курса состоит из тем, которые необходимы в работе и которые 100% спросят при трудоустройстве в крупные компании
Скриншоты вакансий сделаны на hh.ru
На скриншотах представлены вакансии на позицию Go-разработчика в:

  1. Mail.ru
  2. SBER Tech
  3. ВКонтакте
  4. Яндекс
По итогам продвинутого курса ты научишься писать быстрый и чистый код и экономить время с помощью знания тонкостей и особенностей языка Go

Все считают Go простым

Но писать на нем производительный код могут единицы

Подводных камней много, и на обучении про одни только слайсы мы будем говорить часами

12 лекций и домашек — все, что пригодится в работе

{
ффф"ratio": {
ффффф"practice": 60%,
ффффф"theory": 40%
ффф}
}
программа курса — 60% практики
Урок №1 — Основные типы данных

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

Endianness
  • Big Endian
  • Little Endian

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

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

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

______________________________


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

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

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

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

Открыть ДЗ
Программа курса развивается вместе с Golang
В курсе есть все последние изменения и нововведения языка. Например: итераторы, арены, пакеты unique и weak и др.
Начни бесплатно

Весь процесс обучения по шагам

Уроки длятся по 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
спикер конференций
CodeFest и Saint HighLoad++
подписчиков на YouTube
30 000+
менторства и личного обучения
> 600 часов
учеников обучились на моих курсах
> 1000
занимаюсь программированием
6+ лет

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

{
ффф"reviews": {
ффффф"reliability": true
ффф}
}
4.94 / 5
Начинаем 14 октября
Курс можно купить в рассрочку и оплатить из другой страны
Стандарт
75 600 Р
Только 50 мест
75 600 Р
Стоимость увеличится через
дней
часов
минут
секунд
Премиум
12 практических занятий
Доступ к записям на 1 год
Домашка с автоматизированной проверкой
Сode-review сокурсников
Разбор кейсов из жизни и поддержка в чате
Групповые Q&A-сессии 1 раз в неделю
Проверка ДЗ с фидбеком от преподавателя
86 900 Р
Только 50 мест
86 900 Р
Стоимость увеличится через
дней
часов
минут
секунд
Проверка ДЗ с фидбеком от преподавателя
Групповые Q&A-сессии 1 раз в неделю
Разбор кейсов из жизни и поддержка в чате
Сode-review сокурсников
Домашка с автоматизированной проверкой
Доступ к записям на 2 года
12 практических занятий
Стандарт
93 050 Р
Только 50 мест
129 600 Р
Стоимость увеличится через
дней
часов
минут
секунд
Премиум
15 практических занятий
Доступ к записям на 1 год
Домашка с автоматизированной проверкой
Сode review сокурсников
Разбор кейсов из жизни и поддержка в чате
Групповые Q&A-сессии 1 раз в неделю
Проверка ДЗ с фидбеком от преподавателя
13 050 Р
Только 50 мест
165 800 Р
Стоимость увеличится через
дней
часов
минут
секунд
Проверка ДЗ с фидбеком от преподавателя
Групповые Q&A-сессии 1 раз в неделю
Разбор кейсов из жизни и поддержка в чате
Сode review сокурсников
Домашка с автоматизированной проверкой
Доступ к записям на 2 года
15 практических занятий
+ курс «Сoncurrency в Go» со скидкой
+ курс «Сoncurrency в Go» со скидкой

У нас можно пройти обучение за счет работодателя

{
ффф"it_companies": {
ффффф"trust": 100%
ффф}
}
Ниже — компании, которые уже обучили у нас сотрудников. При таком способе оплаты стоимость будет выше на 10%
Это связано с издержками на подготовку договоров и актов:(
Развеиваем мифы
  • Сергей
    Мне еще рано идти на такой курс
  • Владимир
    Обучение по программе Глубокого Go подходит даже junior-разработчикам. Чем быстрее узнаешь о подводных камнях в разработке, тем проще будет идти вверх по карьерной лестнице

    Все новое и неизведанное кажется для нас страшным и сложным, я тебя понимаю) Если твой уровень соответствует всем требованиям специалиста, которому подходит курс, то со всем справишься
  • Виолетта
    Сейчас много курсов «Go для профессионалов». Чем обучение на курсе «Глубокий Go» отличается от других?
  • Владимир
    Ни одна школа не разбирает темы из программы так глубоко. Урок по одним только слайсам длится 1,5-2 часа. И таких тем, по которым «проходятся за 15 минут» очень много

    Уроки на курсе сосредоточены на самом языке и его стандартной библиотеке, а не на внешних библиотеках, фреймворках и синтаксисе
  • Виталик
    Что можно обсуждать 2 часа на одной теме, которая везде проходится за 15 минут?
  • Владимир
    В этом и проблема: в большинстве своем курсы по Golang — это верхнеуровневые знания разработки, которых недостаточно, чтобы перерасти грейд junior/middle

    Мы погрузимся в Go и разберем его на винтики — от и до. Никакого синтаксиса и внешних библиотек. Только внутрянка и core языка
По этой же теме
Курс

Concurrency в Golang

За 2 месяца изучаем все тонкости параллельного программирования
туториал

Как избежать утечки памяти в golang

Практическая статья с примерами написания кода и советами по решению проблемы
Частые вопросы
{
ффф"questions": {
ффффф"quantity": 11
ффф}
}
Для комфортного обучения на курсе нужно знать основы программирования, синтаксис языка Go, поверхностно базовые алгоритмы и структуры данных

Уроки на курсе идеально подходят действующим Gо-разработчикам, которые хотят посмотреть на язык под другим углом. Также, в курсе будут разбираться нюансы и тонкости языка программировани Go, поэтому после курса ты сможешь без проблем перейти в Go из другого ЯП.

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

Остались вопросы?

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

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

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

После прохождения всей модулей курса ты сможешь:
  • увереннее проходить собеседования в BigTech и построить карьеру мечты,
  • понимать аллокатор, GC и планировщик,
  • уменьшать аллокации и bound checks и ускорять критичные участки,
  • писать поддерживаемый, понятный код, который экономит ресурсы компании.

Как проходит обучение? Все уроки в записи, каждый урок длительностью по 1,5–2 часа, потребуется примерно 4-5 часов в неделю. После просмотра уроков ты практикуешься, делаешь ДЗ с автопроверкой, а также ходишь на еженедельные Q&A и разбираешь реальные кейсы. В тариф "Премиум" также входит проверка д/з преподавателем, а доступ к записям будет целых 2 года.

Уже более 1 000 студентов повысили свою квалификацию как программиста и прошли курсы в Balun.Courses. Среди наших выпускников — программисты из банков и других крупных компаний. Средняя оценка нашей программы составляет 4.94 из 5 на основании отзывов наших студентов, которые вы можете увидеть на сайте.
Если ты сомневаешься, подходит ли тебе наш формат, приходи на бесплатный открытый урок. Мы проводим открытые уроки по всем имеющимся направлениям: System Design, оптимизации в Go, микросервисам и проектированию высоконагруженных систем, Observability и другим, участие на многих уроках является бесплатным.
Углубленное обучение по Go
Особенности аллоцирования объектов в Go
Следующий урок

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