Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Go questions
- ## Каналы
- - **Какие каналы бывают? Какие операции с ними можно делать**
- - **Как можно сделать неблокирующие чтение или запись в канал?**
- - **Можно ли читать или писать в закрытый канал?**
- - **Как устроен канал? Как происходит запись/чтение из канала?**
- ## Горутины
- - **Чем занимается планировщик в го?**
- - **За счет чего горутины легковесны?**
- - **Сколько горутин может исполнятся одновременно в момент времени?**
- - **Какие средства синхронизации горутин вы знаете?**
- - **В какой момент планировщик может переключить контекст горутин?**
- - **Может ли планировщик переключить контекст в горутине, в которой нет этих событий?**
- - **Что происходит когда в одном из потоков заканчиваются горутины для исполнения?**
- - **Как работает network poller?**
- - **Как обрабатываются системные вызовы в го?**
- ## Интерфейсы
- - **Что необходимо для иплементации интерфейса?**
- - **Что такое пустой интерфейс? Как работать с пустым интерфейсом?**
- - **Как устроен интерфейс. Задача <https://play.golang.org/p/3TDsa44_o26>**
- - **Что можно сделать с помощью пакета reflect**
- - **Где используется рефлексия? Как можно ее избежать?**
- - **В чем минусы рефлексии?**
- ## Слайсы
- - **Как устроен слайс?**
- - **Что происходит при выполнении append?**
- - **Как можно избежать переносов данных слайса при постоянном добавлении в слайс?**
- - **Как происходит передача слайса в функцию? Что будет если функция изменит слайс?**
- - **В чем отличие string от []byte?**
- ## Мапы
- - **Как происходит передача map в функцию?**
- - **В каком порядке будет происходить итерация по map?**
- - **Расскажи про устройство map**
- - **Когда произойдет рост map?**
- - **Как происходит эвакуация данных?**
- - **Почему нельзя взять указатель на элемент map (&m["key"])**
- ## Defer
- - **В каком порядке выполняются функции объявленные в defer?**
- - Задача <https://play.golang.org/p/qdknqCWutXo>
- - **Можно ли избежать падения программы при панике?**
- - **Есть ли оверхед при использовании defer? Из-за чего?**
- - **Как оптимизировали defer в новых версиях go (>1.14)?**
- ## Управление памятью
- - **В чем преимущества/недостатки выделения памяти в стеке и куче?**
- - **Когда память для переменных выделяется в стеке, а когда в куче?**
- - **Какие этапы есть у GC?**
- - **Как работает конкурентный GC**
- - **В какие моменты происходит stop the world (STW)**
- - **Как можно управлять GC? когда GC стартует?**
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement