В этой статье я постараюсь уместить основные вопросы для самоподготовки к собеседованию на позицию Golang разработчика. Для простоты, я разбил их по темам. Данные вопросы могут быть полезными, как повод того, чтобы раскрыть более подробно тему.
Строки
- Что такое строка?
- Как определить длину строки?
- Кодировка, юникод
- Преобразование строки в число
Массивы
- Что такое массив?
- Длина массива – len
Срезы
- Что такое срезы?
- Три компонента среза
- Добавление в срез, функция append
Map
- Что такое map?
- Как получить элемент, адрес отображения?
- Порядок итерации
Структуры
- Что такое структуры?
- Сравнение структур
Ошибки
- Преимущества реализации ошибок
- Реализация обнаружения ошибок
- Panic и Recover
Интерфейсы
- Зачем нужны интерфейсы, особенности в Golang
- Зачем нужны пустые интерфейсы
- Что такое декларация типов?
Go подпрограммы
- Буфферизированные и небуфферизированные каналы
- Закрытые каналы
- Что такое горутина
- Как завершить много горутин
- Wait group
- Когда используют контекст
- Состояние гонки
- Сколько весит горутина