Этап 1 из 7 · ≈ 8 ч

Основы языка

Основа с Junior

Синтаксис, пакеты, структуры и методы, указатели, нулевые значения.

Что важно знать

  • Статическая типизация, компиляция в один бинарник.
  • Нулевые значения вместо неинициализированных переменных.
  • Экспорт — заглавная буква имени.
  • Указатели без арифметики; приёмник-указатель для изменения.

Критерии освоения

Junior ≈ 8 ч

  • Пишет программы со структурами, методами и указателями
  • Объясняет нулевые значения, область видимости по регистру имени и пакеты
  • Выбирает между приёмником-значением и приёмником-указателем

Практика. Сделать консольное приложение учёта задач со структурами, методами и сохранением в JSON.

Проверка знаний

Войдите, чтобы пройти тест: сданный тест отмечает тему пройденной на карте и в ИПР.

Вопросы с собеседований

Смотреть все
Как работает defer и в каком порядке выполняются отложенные вызовы?Junior

defer откладывает вызов до выхода из функции — при обычном return и при panic. Отложенные вызовы выполняются в порядке LIFO (последний — первым). Аргументы вычисляются сразу в момент defer, а не при выполнении. Через именованные результаты defer может…

Полный разбор
Как в Go передаются аргументы и зачем нужны указатели?Junior

Всё передаётся по значению — копируется само значение: структура целиком, массив целиком. Чтобы функция изменила объект вызывающего, передают указатель (T, взять адрес — &x). Срезы, мапы и каналы — маленькие дескрипторы, ссылающиеся на общие данные, поэтому…

Полный разбор
Чем := отличается от var и что такое затенение переменных?Junior

:= — короткое объявление с выводом типа, только внутри функций; объявляет хотя бы одну новую переменную слева. var — работает и на уровне пакета, позволяет указать тип без значения. Затенение: := во вложенном блоке создаёт новую переменную с тем же именем, и…

Полный разбор
Чем Go отличается от других языков и почему его выбирают для бэкенда?Junior

Go — компилируемый статически типизированный язык с простым синтаксисом, сборщиком мусора и встроенной конкурентностью (горутины и каналы). Компилируется в один статический бинарник, быстро собирается — удобно для сервисов, CLI и инфраструктуры (Docker…

Полный разбор
Что такое нулевые значения в Go?Junior

Любая переменная без явной инициализации получает нулевое значение своего типа: 0 для чисел, "" для строк, false для bool, nil для указателей, срезов, мап, каналов, функций и интерфейсов; у структуры — нулевые значения всех полей.

Полный разбор

← Вся карта «Go»

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования