Программа и содержание

Подойдет 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 год

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

Общий чат для вопросов

ИСТОЧНИК

СКАЧАТЬ