Подборка объединяет вопросы, отмеченные на этапах интервью в 2ГИС. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: api, backend, microservices.
Как работает context.Done() и почему закрытие канала получают все горутины? context.Done() — канал для наблюдения за отменой контекста возвращает канал, закрываемый при отмене или завершении заданного времени одно…
Сигналы завершения и причина неперехватываемости SIGKILL Сигналы завершения SIGINT, SIGTERM, SIGQUIT дают процессу возможность освободить ресурсы и корректно завершить работу SIGINT — сигнал прерывания, отправляемый с…
Архитектурные функции транспортного и сервисного слоёв транспортный слой: обеспечивает связь с внешним миром — API, UI и другими системами транспортный слой: принимает входящие запросы и направляет их во внутренние…
Средства Go для контроля времени выполнения операции WithTimeout: запускает отсчёт с момента вызова и принимает duration WithDeadline: устанавливает конкретное время в будущем — дату и время завершения WithTimeout…
Почему блокировки только записи недостаточно? (check-then-act под замком) Контекст: конкуррентность и синхронизация потоков Если под замком находится только запись, сама проверка остаётся уязвимой к изменениям из…
Почему одну DTO не следует передавать через все слои и как разделять модели Многослойная архитектура строится так, чтобы каждый слой выполнял свою специализированную задачу DTO предназначены для транспортировки данных…
Почему «отправка в брокер до коммита» не обеспечивает транзакционность с двумя очередями? область: распределённые транзакции и messaging «отправка в брокер до коммита» означает, что сообщение попадает в очередь до…