На странице собраны вопросы по Golang — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, concurrency, database.
в HTTP/1.1 предусмотрена поддержка постоянных соединений Keep-Alive оставляет TCP-соединение открытым после завершения запроса даёт возможность последовательно выполнять несколько запросов через одно соединение…
Как устроен Redis и для чего нужен TTL? Redis — это in-memory key-value хранилище Информация размещается в оперативной памяти, поэтому доступ к ней занимает микросекунды Поддерживаются разные структуры: строки,…
структура данных для хранения пар ключ → значение внутри представляет собой хеш-таблицу ключ обязан быть comparable (поддерживать операцию ==) поиск, добавление и удаление выполняются в среднем за ~O(1) для обработки…
Как устроен планировщик горутин в Go и какую роль играют GOMAXPROCS и ядра ОС В Go используется M:N модель: большое количество горутин распределяется между меньшим числом системных потоков (OS threads). За…
Планировщик задач в Go: кооперативная и вытесняющая многозадачность В Go применяется гибридный планировщик, объединяющий признаки кооперативной и вытесняющей многозадачности При кооперативной многозадачности goroutine…
В Go применяется параллельный конкурентный GC В основе лежит трёхфазный алгоритм: маркировка (tracing), приостановка мира и очистка На этапе маркировки GC определяет объекты, которые остаются достижимыми…
Сеть Pod — фундаментальный сетевой уровень Kubernetes отвечает за связь между Pod внутри кластера каждому Pod назначается собственный IP-адрес без NAT — обмен данными выполняется напрямую по IP создаётся с помощью…
Как устроена балансировка нагрузки в gRPC? взаимодействие поверх HTTP/2 с поддержкой мультиплексирования клиентская балансировка с подключаемыми load balancer, например round-robin применение DNS-based discovery для…
PostgreSQL — реляционная БД с поддержкой репликации В режиме master-slave репликация бывает асинхронной или синхронной WAL (Write-Ahead Log) передаётся на слейв Слейв доступен для чтения, но не принимает запись данных…
HTTP-методы создания и изменения ресурсов В REST API HTTP-методы позволяют управлять ресурсами и выполнять операции над ними. POST — предназначен для создания нового ресурса: данные передаются на сервер, который часто…
Идемпотентность HTTP-методов к идемпотентным относятся: GET, PUT, DELETE, HEAD, OPTIONS, TRACE повторное выполнение запроса не приводит к изменению результата после первого вызова (состояние сервера остается тем же)…
ORM для Go: основные варианты и преимущества к популярным ORM относятся GORM, Ent, SQLBoiler, XORM и Pop GORM: широкий набор возможностей, удобные миграции, работа со связями и большое сообщество Ent: создание…