Подойдет 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
- выравнивание структур
- встраивание типов
- сравнение структур
- пустые структуры
Теория урока:
Задачи урока:
- устройство интерфейсов
Defer
- сравнение интерфейсов
- приведение интерфейсов
- копирование интерфейсов
- срез пустых интерфейсов
- nil интерфейсы
- особенности type assertion
- особенности type switch
Теория урока:
Задачи урока:
- устройство defer
Ошибки
- defer с циклами
- вычисление defer
- модификация возвращаемого значения с использованием defer
- производительность defer
- последовательность defer-ов
- defer с receiver-ом
Теория урока:
Задачи урока:
- устройство ошибок
Аллокатор
- константные ошибки
- перехват деления на ноль
- перехват переполнения стека и OOM
- перехват размывания nil pointer
- оборачивание ошибок
- пропуск паники
- тонкости паники
- подмена паники
Теория урока:
Задачи урока:
- устройство аллокатора
Сборщик мусора
- аллокация объектов на стеке и в куче
- аллокация интерфейсов
- аллокация массивов и срезов
Теория урока:
Задачи урока:
- устройство сборщика мусора
Горутины и планировщик Go
- большие аллокации
- баласты памяти
Теория урока:
Задачи урока:
- устройство горутин и планировщика
Concurrency: примитивы синхронизации
- количество горутин
- запуск горутин
- GOMAXPROCS
- async preemption
- паники с горутинами
- перехват паники из горутины
Задачи урока:
Concurrency: каналы
- date race и race condition
- deadlock
- livelock
- некорректная синхронизация структур данных
- локальные мьютексы
- гранулярность блокировок
- опасные операции с мьтексами
- копирование примитивов синхронизации
- CAS
- опасные операции с sync. Cond
- false sharing
Теория урока:
Задачи урока:
- устройство каналов в языке программирования Go
Concurrency: контексты
- select
- data race с каналами
- опасные операции с каналами
- утечки горутин с каналами
- проверка закрытия канала
- nil каналы
- неблокирующая запись и чтение
- приоритизация select
- последовательное выполнение
- особенности записи в канал
Теория урока:
Задачи урока:
- устройство контекстов
Concurrency: паттерны
- nil context
- родительские и дочерние контексты
- особенности context. WithValue
- использование контекста
Задачи урока:
- паттерн Fan-In
- паттерн Fan-Out
- паттерн worker pool
- паттерн pipeline
- синхронизация кэша
- распределенный запрос в несколько реплик
- распределенный запрос в несколько шардов
Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
Новые складчины | страница 16
Категории
Страница 16 из 34

![[IMG]](proxy14p.php?image=https%3A%2F%2Fs2.radikal.cloud%2F2025%2F03%2F11%2FIZOBRAZENIE_2025-03-11_14001444930090a56afa8553c.png&hash=664d40b3feb38c0709e46ee0cd70d539&v=4)
![[IMG]](proxy14p.php?image=https%3A%2F%2Fs2.radikal.cloud%2F2025%2F03%2F11%2FIZOBRAZENIE_2025-03-11_1351590960a1ae1c77f0ac62a.png&hash=fdd2ec93f6a6a04d370dbbf338e53622&v=4)
![[IMG]](proxy14p.php?image=https%3A%2F%2Fi.postimg.cc%2FRVCpBq4F%2FScreenshot125.png&hash=a061b9e80a89085657ce044df7bf9c43&v=4)