Golang вопросы собеседований
@notxxx1 - админ @Golang_google - Golang для разработчиков @itchannels_telegram - 🔥лучшие из ит @golangl - chat @golangtests - golang tests @golang_jobsgo - go chat jobs @ai_machinelearning_big_data - AI @data_analysis_ml РКН: clck.ru/3FmtKd
Show more📈 Analytical overview of Telegram channel Golang вопросы собеседований
Channel Golang вопросы собеседований (@golang_interview) in the Russian language segment is an active participant. Currently, the community unites 14 936 subscribers, ranking 8 597 in the Technologies & Applications category and 44 440 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 14 936 subscribers.
According to the latest data from 07 July, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 0 over the last 30 days and by -5 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 20.17%. Within the first 24 hours after publication, content typically collects 9.43% reactions from the total number of subscribers.
- Post reach: On average, each post receives 3 012 views. Within the first day, a publication typically gains 1 408 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 11.
- Thematic interests: Content is focused on key topics such as git, docker, github, контейнер, sql.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“@notxxx1 - админ
@Golang_google - Golang для разработчиков
@itchannels_telegram - 🔥лучшие из ит
@golangl - chat
@golangtests - golang tests
@golang_jobsgo - go chat jobs
@ai_machinelearning_big_data - AI
@data_analysis_ml
РКН: clck.ru/3Fmt...”
Thanks to the high frequency of updates (latest data received on 08 July, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
Data loading in progress...
| Date | Subscriber Growth | Mentions | Channels | |
| 08 July | +1 | |||
| 07 July | +1 | |||
| 06 July | +1 | |||
| 05 July | +5 | |||
| 04 July | +7 | |||
| 03 July | +5 | |||
| 02 July | +6 | |||
| 01 July | +3 |
kill, stop, pause, rm, restart для контейнеров
• сетевые задержки через netem delay
• потерю пакетов через netem loss и iptables loss
• ограничение скорости сети
• дублирование и повреждение пакетов
• стресс CPU, памяти и I/O через stress-ng
• выбор контейнеров по имени, regex, labels или случайно
• запуск хаоса по расписанию через --interval
Пример:
pumba --interval=30s --random kill "re2:^test"
https://github.com/alexei-led/pumba| 2 | Go-разработчики, идём по барам с 2ГИС!
16 июля, 18:00, Нижний Новгород
В программе три доклада, бархоппинг и разгон факапов.
Бархоппинг — это маршрут по барам. В каждом месте вас ждут мини-задачка и бокал чего‑то вкусного.
Уже чувствуете запах крафта? Тогда скорее регистрируйтесь!
В заявке обязательно поделитесь каким-нибудь фэйлом. Лучшие обсудим в финале, посмеёмся над собой и поучимся у других | 1 321 |
| 3 | 👣 MapStore для Go
Локальная map-база поверх файловой системы.
По сути, это способ хранить map[string]any на диске, но не руками через хаотичные JSON-файлы, а через нормальный слой с кодеками, событиями и безопасной записью.
Что есть:
• JSON или кастомные форматы
• atomic file writes
• optimistic concurrency
• directory store с партиционированием
• optional encryption через OS keyring
• optional full-text search через SQLite FTS5
• pure Go, без cgo, Linux/macOS/Windows
go get github.com/flexigpt/mapstore-go
https://github.com/flexigpt/mapstore-go | 2 623 |
| 4 | GoPost - нативный API-клиент на Go + React через Wails, без Electron, аккаунтов и лишнего облака.
Главное:
1. около 15 МБ
2. работает офлайн
3. хранит всё plain JSON-файлами
4. можно версионировать коллекции в Git
5. есть GraphQL, WebSocket, SSE
6. импорт/экспорт .http
7. CLI-runner с JUnit для CI
8. response diff и extract переменных через JSONPath
По сути, это Postman для тех, кому нужен быстрый локальный инструмент без блоата и телеметрии.
GitHub: github.com/berksunduri/GOPost | 3 538 |
| 5 | Разрабатываете на Go больше четырёх лет? Сразу 7 наших команд ждут вас:
Сервис Транспорта строит маршруты во всех продуктах 2ГИС, отображает пробки, дорожные события и автобусы на карте.
Social сотворяет магию вокруг социального графа.
Platform Backend Services превращает бизнес‑требования в платформенные сервисы: от идеи до запуска фич мобильными командами без лишних зависимостей.
Web API решает все справочные задачи, управляет стилями карт и обратной связью от пользователей в продуктах.
Сервис Рекламы создаёт техническую основу для продуктов рекламного направления.
2ГИС Логистика строит и пересчитывает маршруты с учётом пробок, погодных условий, типов транспорта, параметров груза и сложных логистических цепочек.
ГеоПоток помогает бизнесу повышать прозрачность процессов и сокращать издержки.
Все вакансии на сайте
Другие инженерные инсайты от 2ГИС → в Telegram-канале RnD | 1 988 |
| 6 | Open-source мониторинг без SaaS-привязки
CheckCle выглядит как интересная self-hosted альтернатива для мониторинга инфраструктуры, сервисов и приложений.
Проект даёт uptime-мониторинг, проверки HTTP, DNS, Ping и TCP-сервисов, распределённые региональные проверки, историю инцидентов, SSL и domain monitoring, public status pages, отчёты и алерты в Telegram, Slack, Discord, Matrix и email.
Главный плюс в том, что всё можно поднять у себя через Docker. Не нужен внешний SaaS, не нужно отдавать данные третьей стороне, не нужно платить за каждый монитор или сидеть в чужой панели.
По стеку тоже интересно: основа на Go, фронт на TypeScript, лицензия MIT. На GitHub у проекта уже около 2.7k звёзд, так что это не просто заброшенная утилита на вечер.
Подойдёт тем, кто хочет свой мини-UptimeRobot/Better Stack для VPS, pet-проектов, внутренних сервисов или небольшой команды.
Репозиторий: https://github.com/operacle/checkcle | 3 190 |
| 7 | 👣 Fenwick Tree на Go: всё держится на одном битовом трюке
Fenwick Tree, или Binary Indexed Tree, считает prefix sums за O(log n).
Главная операция:
i & -i
Она находит младший установленный бит числа.
Именно это значение показывает, на сколько нужно прыгнуть по индексам внутри дерева.
Пример:
i = 12 // 1100
i & -i = 4 // 0100
В Go реализация выглядит так:
package main
type Fenwick struct {
tree []int
}
func NewFenwick(n int) *Fenwick {
return &Fenwick{
tree: make([]int, n+1),
}
}
func (f *Fenwick) Update(i, delta int) {
for i < len(f.tree) {
f.tree[i] += delta
i += i & -i
}
}
func (f *Fenwick) Query(i int) int {
sum := 0
for i > 0 {
sum += f.tree[i]
i -= i & -i
}
return sum
}
Как это работает:
* Update идёт вверх по структуре и обновляет все узлы, которые отвечают за индекс
* Query идёт вниз и собирает блоки, из которых состоит prefix sum
* i & -i каждый раз выбирает размер текущего блока
Главный нюанс: Fenwick Tree обычно использует 1-based indexing.
То есть первый элемент имеет индекс 1, а не 0.
Пример использования:
fw := NewFenwick(5)
fw.Update(1, 10)
fw.Update(2, 20)
fw.Update(3, 30)
println(fw.Query(3)) // 60
Красота Fenwick Tree в том, что дерево не хранится явно.
Нет указателей.
Нет рекурсии.
Нет сложной структуры узлов.
Только массив и один битовый трюк.
Дерево спрятано прямо внутри двоичного представления индексов. | 2 955 |
| 8 | Gortex индексирует репозитории в виде графа кода и открывает доступ к нему через CLI, MCP Server и веб-интерфейс. Это позволяет AI coding agents сокращать расход токенов до 50 раз.
* До 50 раз меньше токенов на ответ благодаря graph-native поиску.
* Заранее рассчитанный depth-3 reach index для impact analysis за доли миллисекунды.
* Одна установка автоматически настраивает все найденные AI coding agents на вашей машине.
* Доступен на macOS, Linux и Windows, релизы подписаны через Sigstore.
https://github.com/zzet/gortex | 3 389 |
| 9 | No text... | 3 470 |
| 10 | Morph - генератор мапперов для Go, который закрывает одну из самых скучных частей backend-разработки: перекладывание данных между похожими типами.
Типичный кейс: у вас есть protobuf-модели, доменные структуры, DTO, database-типы и API-ответы. Поля почти одинаковые, но код всё равно приходится писать руками:
func MapFromRecipeToToRecipe(source *from.Recipe) to.Recipe {
if source == nil {
return to.Recipe{}
}
var target to.Recipe
target.ID = to.RecipeID(source.RecipeId)
target.Name = source.Name
target.Servings = int(source.Servings)
return target
}
На одном маппере это терпимо. На десятках типов начинается боль: забытые поля, кривые конверсии, ручная синхронизация после каждого изменения схемы.
Morph генерирует такой код автоматически и умеет работать не только с простыми структурами.
Что поддерживает:
* structs и enums
* basic types, pointers, slices, arrays, maps
* nested structs
* concrete generic containers
* safe и настроенные type conversions
* вложенные сгенерированные мапперы
* пользовательские callables для сложной логики
* discovery готовых mapping-функций из указанных пакетов
* presets, чтобы не дублировать конфиг для типовых сценариев
Самый полезный случай - protobuf → idiomatic Go model. protoc часто генерирует не тот код, который хочется таскать по доменному слою: другие имена, другие типы, timestamp-обёртки, enum-формат, optional-поля. Morph позволяет описать правила один раз и дальше генерировать нормальные мапперы.
Запуск простой:
go install github.com/seeruk/morph/cmd/morph@latest
morph
Конфигурация живёт в morph.yaml, а сам инструмент можно использовать и как CLI, и как библиотеку внутри более сложных codegen-пайплайнов.
Хороший вариант для Go-проектов, где ручной mapping уже стал отдельным источником багов и мусорного кода.
GitHub:
https://github.com/seeruk/morph
#golang | 4 121 |
| 11 | 🔍Тестовое собеседование с Go Senior из Uzum в этот четверг
11 июня(в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Go-разработчика.
Как это будет:
📂 Маруф Караев, Senior из Uzum, ex-Яндекс, ex-EPAM будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Маруф будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Маруфу
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Go-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_go_bot
Реклама.
О рекламодателе. | 2 996 |
| 12 | 👣 Go 1.26 делает `go fix` заметно полезнее: теперь это не просто инструмент для старых миграций, а нормальный способ постепенно приводить код к современным Go-идиомам.
Код живёт годами, язык меняется, а старые паттерны остаются. В итоге в проекте рядом могут лежать strings.Index + slicing, ручной clamp через if, хелперы вроде newInt, старые циклы и куча мелочей, которые уже можно записать короче, безопаснее и понятнее.
Что появилось:
- go fix в Go 1.26 переписали и усилили анализаторами
- он умеет модернизировать код под новые возможности языка и стандартной библиотеки
- может заменять старые паттерны на min/max, strings.Cut, range по int и другие более чистые формы
- для Go 1.26 появился new(expr), который убирает кучу вспомогательных функций для указателей на значения
- часть таких подсказок уже попадает в gopls, то есть IDE может показывать их прямо во время работы
Пример, где это особенно приятно: раньше для optional-поля часто писали newInt(10) или ptr.To(10). В Go 1.26 можно проще:
Attempts: new(10)
Мелочь, но таких мелочей в большом Go-проекте сотни.
go fix теперь стоит запускать не один раз в жизни при миграции, а после обновления toolchain. Желательно из чистого git-состояния, чтобы ревью потом смотрело только автоматические изменения.
Zзык остаётся консервативным, но экосистема постепенно учится сама вычищать старые шаблоны и подтягивать проекты к более читаемому стилю.
#golang
https://altafino.com/blog/using-go-1-25-and-go-1-26-to-write-cleaner-more-maintainable-go-3ETksqLv07ShL2dFmF6LVndO8Ps | 3 378 |
| 13 | ✔️ Go-ошибки - это не просто `err != nil`, а история о том, что именно сломалось.
В Go у ошибок по умолчанию нет stack trace, как в Java или других языках. Поэтому контекст нужно добавлять руками: ошибка пришла из базы, из репозитория, из сервиса, из handler - и каждый слой должен аккуратно объяснить, что происходило.
Когда команда делает это хорошо, получается понятная цепочка:
unable to get user: failed to query users table: connection refused
Когда плохо - в логах остаётся просто connection refused, и потом никто не понимает, где именно это произошло.
Проблема в том, что такой контекст надо постоянно поддерживать. Код меняется, старые сообщения устаревают, кто-то забывает завернуть ошибку, и история разваливается.
Автор предлагает практичный компромисс: добавлять stack trace в момент, когда приложение создаёт ошибку или впервые получает её от сторонней библиотеки. Тогда у команды всегда есть базовая точка опоры, а ручной контекст можно добавлять там, где он действительно нужен.
Хорошие ошибки в Go должны не просто сообщать, что всё упало. Они должны рассказывать, как именно оно к этому пришло.
https://robinsiep.com/blog/posts/go-errors/
#golang | 3 558 |
| 14 | 📌 HyperLogLog на Go простыми словами
Redis может примерно считать уникальные значения, почти не храня сами значения.
Идея такая:
- берём строку
- считаем от неё хеш
- первые биты выбирают ячейку
- остальные биты проверяем на количество нулей подряд
- чем длиннее серия нулей, тем более редкое событие мы увидели
- редкие события намекают, что элементов прошло много
Минимальный пример на Go:
package main
import (
"fmt"
"hash/fnv"
"math/bits"
)
const registersCount = 16
type HyperLogLog struct {
registers [registersCount]uint8
}
func hash64(s string) uint64 {
h := fnv.New64a()
_, _ = h.Write([]byte(s))
return h.Sum64()
}
func (hll *HyperLogLog) Add(value string) {
hash := hash64(value)
// первые 4 бита выбирают регистр: 2^4 = 16
index := hash >> 60
// остальные биты используем для поиска серии нулей
rest := hash << 4
// сколько нулей подряд в начале
zeros := uint8(bits.LeadingZeros64(rest) + 1)
if zeros > hll.registers[index] {
hll.registers[index] = zeros
}
}
func main() {
hll := HyperLogLog{}
values := []string{
"user_1",
"user_2",
"user_3",
"user_1",
"user_2",
"user_4",
"user_5",
}
for _, v := range values {
hll.Add(v)
}
fmt.Println(hll.registers)
}
Это не полноценный Redis HyperLogLog, а понятная учебная версия.
Что тут важно:
• дубликаты дают тот же хеш
• один и тот же хеш попадает в тот же регистр
• регистр хранит только максимум найденных нулей
• сами user_1, user_2, user_3 не сохраняются
• память остаётся почти постоянной
В Redis всё серьёзнее: там 16 384 регистра, аккуратная математика для оценки cardinality и поправки на маленькие и большие значения. | 3 444 |
| 15 | O(1) не значит «быстро»
Одна из самых частых ошибок в алгоритмах: считать, что O(1) всегда быстрее O(n).
На практике это не так.
O(1) означает только одно: время работы не растёт вместе с размером входных данных.
Но сама операция может быть дорогой.
Например, хеш-таблица формально даёт O(1) для поиска, но если данные не в кэше CPU, один cache miss может сделать её медленнее, чем простой линейный проход по маленькому массиву.
Именно поэтому в Go, Python и даже C-библиотеках для маленьких map/таблиц иногда используют обычный linear search.
Парадоксально, но:
O(n) при n = 16 и тёплом кэше может быть быстрее, чем O(1) с холодным cache miss.
Big O описывает асимптотический рост, а не реальную скорость на маленьких данных. | 12 103 |
| 16 | 🚀 Golang Roadmap 2026 — продвинутый курс на русском
📌 О курсе
Это бесплатный open-source roadmap на русском языке. Внутри — 19 модулей, каждый со своей теорией, практикой, бесплатными ресурсами и финальным проектом. Программа собрана так, чтобы провести вас от полного нуля до уровня Senior/Staff Go Engineer за 12–18 месяцев при темпе 10–15 часов в неделю.
Главный принцип курса — практика > видосы. Каждую тему вы закрываете кодом: пишете, ломаете, чините, рефакторите. Любой модуль завершается мини-проектом, который можно положить в портфолио.
🎯 Кому подойдёт
🐹 Новичкам в Go — даже если до этого писали только на Python/JS/PHP
🛠 Backend-разработчикам с другого стека — хотите перейти на Go
📈 Junior Go-разработчикам — нужен путь до Middle/Senior
🚀 Middle-инженерам — закрыть пробелы в архитектуре, observability, distributed
🤖 Тем, кто хочет писать AI-инфраструктуру — модуль 18 специально про это
https://github.com/Develp10/golangroadmap2026\ | 4 231 |
| 17 | # MCP становится новым API-слоем для агентов
Если продуктом можно управлять через UI, REST и Terraform, то у агента тоже должен быть нормальный официальный вход. Не парсинг страниц, не хаки, а tools со схемами, типами и понятными описаниями.
Главная мысль статьи - MCP-интерфейс нужно проектировать не для человека, а для модели.
Для агента описание tool и input schema - это почти как документация и типы для разработчика. Плохое название поля, мутный enum или устаревший комментарий сразу превращаются в ошибки вызова.
Что делает Oblique:
- берёт gRPC/Protobuf как источник правды
- генерирует MCP tools
- подтягивает комментарии из proto-файлов
- помечает read-only и destructive tools
- чистит ответы от лишних полей
- прогоняет сценарии через evals
Обычный API часто возвращает много служебного шума: timestamps, metadata, внутренние поля. Для агента это лишние токены и больше шанс ошибиться. Поэтому MCP-ответы делают компактнее и ближе к задаче.
MCP - это отдельный слой продукта, где важны названия, схемы, права, компактность ответа и тесты на поведение агента.
Если продукт должен нормально работать с Claude Code, Codex и другими агентными средами, MCP постепенно становится базовой инфраструктурой.
https://oblique.security/blog/mcp/ | 4 249 |
| 18 | Собираетесь к нам в Go?
➡ Рассказали, как мы построили наймовый процесс, чтобы сделать его честнее для всех.
Другие инженерные инсайты от 2ГИС → в Telegram-канале RnD | 3 098 |
| 19 | 🚀 Удобная сборка с rigx для C, C++, Go и других языков
rigx — это экспериментальная система сборки, которая упрощает процесс создания и тестирования приложений на нескольких языках. Она использует декларативный подход с конфигурацией в rigx.toml, обеспечивая изоляцию и кэширование сборок для повышения надежности и скорости.
🚀 Основные моменты:
- Поддержка множества языков: C, C++, Go, Rust, Zig, Nim, Python.
- Сборки и тесты выполняются в песочнице, не загрязняя систему.
- Легкая конфигурация с помощью простого TOML-файла.
- Возможность параллельного выполнения тестов и интеграционных тестов.
- Кэширование выходных данных для повышения производительности.
📌 GitHub: https://github.com/unofficialtools/rigx | 3 096 |
| 20 | 📘 На Mentorix вышел курс — «Golang: микросервисная архитектура и проектирование API»
Уже работаете с Go и хотите перейти на уровень системного проектирования? Этот курс — про то, как разрабатывать API, строить распределённые сервисы и поддерживать их стабильную работу в продакшене под нагрузкой.
• Полный стек: HTTP/REST, gRPC, RabbitMQ и Kafka, PostgreSQL, Redis, Docker, Prometheus + Grafana
• 200+ интерактивных заданий с автопроверкой — пишете код прямо в браузере, в любое удобное время
• Финальный проект: рабочая микросервисная экосистема, которую кладёте в портфолио и показываете на собесе
🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn
🚀 Прокачайте Go и выйдите на уровень мидл/сеньор-разработчика микросервисов. Начните сегодня — следующая неделя будет уже с новыми навыками.
👉 Пройти курс на Mentorix | 0 |
Available now! Telegram Research 2025 — the year's key insights 
