Список вопросов
Характеристики golang
Какие технологические преимущества экосистемы Go вы можете назвать?
Чем вам нравится golang
Статическая или динамическая типизация? строготипизирован или нет
Что вас огорчает в системе типов Go?
Почему на Go практически не пишут расширений для других языков и динамических библиотек?
Go - императивный или декларативный? А в чем разница?
Что значит "A little copying is better than a little dependency"? Какие заповеди Роба Пайка вам известны?
Что такое type-switch?
Как сообщить компилятору, что наш тип реализует интерфейс?
Как вы применяете пакеты internal?
можно ли использовать один и тот же буфер []byte в нескольких горутинах?
Почему иногда говорят, что в Go nil имеет тип?
Как получить переменную, которая не-nil, но nil?
ООП
Какого типа?
Что такое интерфейс
Какие средства обобщенного программирования есть в Go?
Как соблюдать SOLID при программировании на Go?
Почему встраивание - не наследование?
Где следует поместить описание интерфейса и почему?
Ваш любимый способ делать dependency injection?
Структуры данных
Массив
Как устроен
Как работает append?
как сделать из слайса массив?
slice
Внутреннее устройство
Основные ошибки использования
какое у slice zero value? какие операции над ним возможны?
Map
Как устроен
Каков порядок перебора map?
какая функция используется для хеширования в map?
Что может быть ключем в map?
Канал
Назначение
Внутреннее устройство
Буферизация
Закрытие
Что будет, если писать в закрытый канал?
Что будет, если читать из закрытого канала?
Как закрывать канал со стороны читателя?
Зачем может потребоваться схема “много писателей - один читатель”?
Как вы отсортируете массив структур по алфавиту по полю Name?
Удалить дубликаты из массива без переаллокации - можно ли?
что лучше - список или массив?
как вы реализуете разреженный массив на go?
Горутины.
Почему легковесны
Как устроены
Могут ли прерываться при длительной обработке
Что такое thread pool, какого он размера и зачем он нужен?
Что происходит, когда вы отправляете данные из горутины в сетевое соединение?
Примитивы синхронизации
Планировщик
Какого типа многозадачность
Как устроен планировщик
Какие функции выполняет
GC
как устроен
Алгоритмы
Concurrency
Mutex и RWMutex
В чем разница?
Что будет, если попытаться взять RLock и следом WLock?
Сериализация/десериализация
Коммуникация
Что такое lock-free структуры данных, и есть ли в go такие?
Как вы реализуете LRU cache на go?
Паттерны проектирования на golang
Last updated
Was this helpful?