На странице собраны вопросы по Golang — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, concurrency, database.
подход к управлению распределёнными транзакциями крупная транзакция представляется последовательностью локальных операций в отдельных сервисах для каждой операции предусматривается компенсирующее действие, позволяющее…
Ручное преобразование int32 в строку с использованием рун низкоуровневое представление числа как последовательности цифр сначала определяем знак и отдельно сохраняем его, если число меньше нуля поочерёдно получаем…
Как преобразовать число в строку за один проход? алгоритмическая задача: преобразование числа → строка за O(n) отказ от промежуточных структур, например массивов цифр применение рекурсии либо итеративного метода с…
Время жизни переменной в heap участок динамической памяти, предназначенный для переменных существует до явного освобождения (free/delete) либо запуска сборки мусора не привязана к времени выполнения функции, в отличие…
параллельное выполнение сетевых запросов, асинхронный ввод-вывод применить async/await вместе с Promise.all в JavaScript или использовать эквивалентные средства в других языках одновременно инициировать все запросы и…
Конкуренция транзакций, финансовые системы Организовать конкурентный контроль доступа к балансу Использовать атомарные операции либо транзакции с подходящим уровнем изоляции Доступны два подхода: оптимистичная…
безопасность API при передаче данных необходима, чтобы предотвратить их утечку и подмену Для защиты канала связи используют HTTPS — протокол с шифрованием TLS, который предотвращает перехват данных и MITM-атаки…
Как из сервиса вернуть доменную ошибку и отдать корректный HTTP-код? Контекст: обработка ошибок в backend-сервисах и API Для представления доменных ошибок применяю исключения (exceptions) либо error objects В…
Как изменяется стек при вызове функции? в стек помещается контекст вызова функции формируется фрейм стека (Stack Frame), где хранятся параметры, локальные переменные и адрес возврата выполнение переключается на тело…
Как индексы влияют на производительность Индекс представляет собой структуру данных, предназначенную для ускорения поиска в БД С его помощью строки находятся без полного просмотра таблицы (избегают full table scan)…
Пошаговая отправка сообщения клиентом в gRPC-сервис gRPC — фреймворк для удалённого вызова процедур (RPC), работающий поверх HTTP/2 Клиент компилирует protobuf-файлы и получает локальный stub — клиентский код Затем…
Как корректно настроить http.Server.Shutdown для воркеров и ресурсов Контекст: graceful shutdown HTTP-сервера в Go http.Server.Shutdown выполняет плавную остановку: прекращает приём новых соединений и ожидает…