1. Что такое slice
Вопрос
2. Что такое горутины и зачем нужны
Ответ
Техника мультиплексирования множества параллельных потоков выполнения на несколько потоков ОС/ядер.
Вопрос
3. Что такое context switching и как горутины решают эту проблему
Ответ
Context switching это остановка выполнения одного процесса и переключение на другой процесс, с сохранением стейта (стека, текущей инструкции) выгруженного процесса и загрузкой стейта нового процесса. Либо переход из user mode в kernel mode (syscall). Го рантайм работает в юзермоде и горутины не являются тредами, поэтому переключение между горутинами не вызывает переключение контекста ОС-тредов. Но переключение между горутинами все равно имеет некий оверхед т.к…