В этом видео:
00:00 — Задача на аллокатор и сборщик мусора
11:10 — Задача на uintptr
22:52 — Задача на структуры
34:07 — Задача на строки
43:37 — Задача на срезы
49:20 — Подготовка к Golang собеседованию
В уроке рассматриваются сложные задачи, которые часто можно встретить на собеседованиях по Go. Автор детально объясняет внутренние механизмы языка, и показывает, как теоретические знания помогают решать практические задачи.
В начале урока разбирается устройство аллокатора и сборщика мусора. Объясняется, как Go управляет памятью, когда запускается GC и почему понимание этих процессов важно для оптимизации. Приводятся примеры ситуаций, где неосвобожденные ссылки мешают сборке мусора, а также показано, как избежать утечек памяти и лишних аллокаций.
Далее следует задача, связанная с типом uintptrt. Автор раскрывает разницу между указателями и этим типом, объясняя, почему uintptrt не гарантирует безопасность в работе со сборщиком мусора. На примерах показано, как легко нарушить работу программы, если неправильно обращаться с адресами памяти, и в каких случаях этот тип всё же полезен.
Следующий блок урока посвящен структурам — их передаче по значению и по ссылке, особенностям встраивания и компоновки. Рассматриваются вопросы выравнивания, внутреннего представления и влияния этих факторов на производительность.
В части о строках подробно разбирается их неизменяемость, хранение данных и типичные ошибки при конкатенации. Автор объясняет, как оптимально работать со строками, избегая лишних копирований и аллокаций.
Раздел о срезах показывает, как устроены срезы, что происходит при расширении и копировании, и почему важно понимать ёмкость и длину среза.
Завершается урок практическими советами по подготовке к собеседованиям: какие темы нужно повторить, на какие вопросы обратить внимание и как тренироваться на реальных примерах.
Автор данного урока — Владимир Балун, Ex-Team Lead в Яндекс, ex-ведущий разработчик в Ozon, ex-разработчик в Mail.ru, Kaspersky Lab, Тинькофф.
00:00 — Задача на аллокатор и сборщик мусора
11:10 — Задача на uintptr
22:52 — Задача на структуры
34:07 — Задача на строки
43:37 — Задача на срезы
49:20 — Подготовка к Golang собеседованию
В уроке рассматриваются сложные задачи, которые часто можно встретить на собеседованиях по Go. Автор детально объясняет внутренние механизмы языка, и показывает, как теоретические знания помогают решать практические задачи.
В начале урока разбирается устройство аллокатора и сборщика мусора. Объясняется, как Go управляет памятью, когда запускается GC и почему понимание этих процессов важно для оптимизации. Приводятся примеры ситуаций, где неосвобожденные ссылки мешают сборке мусора, а также показано, как избежать утечек памяти и лишних аллокаций.
Далее следует задача, связанная с типом uintptrt. Автор раскрывает разницу между указателями и этим типом, объясняя, почему uintptrt не гарантирует безопасность в работе со сборщиком мусора. На примерах показано, как легко нарушить работу программы, если неправильно обращаться с адресами памяти, и в каких случаях этот тип всё же полезен.
Следующий блок урока посвящен структурам — их передаче по значению и по ссылке, особенностям встраивания и компоновки. Рассматриваются вопросы выравнивания, внутреннего представления и влияния этих факторов на производительность.
В части о строках подробно разбирается их неизменяемость, хранение данных и типичные ошибки при конкатенации. Автор объясняет, как оптимально работать со строками, избегая лишних копирований и аллокаций.
Раздел о срезах показывает, как устроены срезы, что происходит при расширении и копировании, и почему важно понимать ёмкость и длину среза.
Завершается урок практическими советами по подготовке к собеседованиям: какие темы нужно повторить, на какие вопросы обратить внимание и как тренироваться на реальных примерах.
Автор данного урока — Владимир Балун, Ex-Team Lead в Яндекс, ex-ведущий разработчик в Ozon, ex-разработчик в Mail.ru, Kaspersky Lab, Тинькофф.