и посмотреть медиа
Golang | Вопросы собесов
и посмотреть медиа
Вопросы собеседований по Golang с ответами и объяснениями.
Вопросы собеседований по Golang с ответами и объяснениями.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Сборник вопросов, которые задают на собеседованиях Go-разработчикам. Покрыты темы горутин, каналов, интерфейсов, concurrency и стандартной библиотеки. Каждый вопрос сопровождается подробным разбором и примерами кода для глубокого понимания.
🤔 Как устроен runtime в Go? Go runtime — это встроенная среда выполнения, которая управляет памятью, потоками, сборкой мусора и планировщиком горутин. Он делает Go удобным для многопоточного и высоконагруженного программирования без необходимости вручную управлять потоками. 🚩Основные компоненты Go `runtime` Горутины (goroutines) — лёгкие потоки, управляемые Go. Планировщик (scheduler) — распределяет горутины по потокам ОС. Модель памяти — управление стеком и кучей. Сборщик мусора (GC) — автоматически очищает неиспользуемую память. Syscalls — взаимодействие с ОС. 🚩Горутины и планировщик (scheduler) Горутины легче, чем потоки ОС: Go может запускать миллионы горутин, а планировщик (M:N) распределяет их по потокам ОС. Go использует M:N-модель, где: - M — системные потоки (OS threads). - N — горутины (goroutines). - P — процессоры (logical processors) — управляют выполнением горутин. P привязан к M, а G (горутины) распределяются между `P` динамически. Это позволяет Go эффективно использовать CPU без ручного управления потоками. Goroutine (G1, G2, G3, ...) ↓ Scheduler → P (Processor) → M (OS Thread) → CPU 🚩Управление памятью и стеком Стек (stack) в Go динамический — он начинается с 2 KB и увеличивается при необходимости. Если стек заполнен, Go автоматически расширяет его. В отличие от C, Go не требует malloc/free, так как есть GC (garbage collector). 🚩Сборщик мусора (Garbage Collector) Go использует автоматический сборщик мусора, который: Работает параллельно с программой Минимизирует паузы (low-latency GC) Очищает неиспользуемые объекты из кучи import "runtime" runtime.GC() // Принудительный запуск сборщика мусора (обычно не нужно) Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!
Materials about cities and bicycle infrastructure.
ProviderISTV: Internet 24/7, TV from 09:00 to 21:00. News and services.
Workshop for the creation of custom turnkey motorcycles. Individual projects and professional assembly.