Вопросы
1. Что такое горутины? Зачем они нужны?
2. Чем отличается горутина от системных тредов?
3. Как шедулер переключает горутины?
4. Как горутины общаются между собой и синхронизируются?
5. Чтение из закрытого канала, запись в закрытый канал, чтение/запись из канала nil.
6. Что такое контекст? Как работает context.Done? Как бы ты реализовал context.Done?
7. Что такое string в Go?
8. Как получить длину строки?
9. Что такое слайс? Как связан с массивом? Как работает append?
10. Будут ли равны указатели у слайсов до и после append, если длина=капасити?
11. Что такое мапа? Как хранятся внутри ключи и значения? Бакеты, хэш-функция, эвакуация.
12. Почему слайс при append расширяется быстро, а мапа медленно?
13. Мапа потокобезопасна? А почему?
14. Как работает garbage collector?
15. Как искал утечки памяти?
16. Как собирал метрики с Go-сервисов?
17. Как трейсил микросервисы?