uz
Feedback
Golang вопросы собеседований

Golang вопросы собеседований

Kanalga Telegram’da o‘tish

@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

Ko'proq ko'rsatish

📈 Telegram kanali Golang вопросы собеседований analitikasi

Golang вопросы собеседований (@golang_interview) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 14 931 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 8 640-o'rinni va Rossiya mintaqasida 44 584-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 14 931 obunachiga ega bo‘ldi.

30 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 11 ga, so‘nggi 24 soatda esa 1 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 19.73% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 9.49% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 2 946 marta ko‘riladi; birinchi sutkada odatda 1 417 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 17 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent git, docker, github, контейнер, sql kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
@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...

Yuqori yangilanish chastotasi (oxirgi ma’lumot 01 Iyul, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

14 931
Obunachilar
+124 soatlar
+17 kunlar
+1130 kunlar
Postlar arxiv
GoPost - нативный API-клиент на Go + React через Wails, без Electron, аккаунтов и лишнего облака. Главное: 1. около 15 МБ 2.
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

Разрабатываете на Go больше четырёх лет? Сразу 7 наших команд ждут вас: Сервис Транспорта строит маршруты во всех продуктах 2
Разрабатываете на Go больше четырёх лет? Сразу 7 наших команд ждут вас:
Сервис Транспорта строит маршруты во всех продуктах 2ГИС, отображает пробки, дорожные события и автобусы на карте. Social сотворяет магию вокруг социального графа. Platform Backend Services превращает бизнес‑требования в платформенные сервисы: от идеи до запуска фич мобильными командами без лишних зависимостей. Web API решает все справочные задачи, управляет стилями карт и обратной связью от пользователей в продуктах. Сервис Рекламы создаёт техническую основу для продуктов рекламного направления. 2ГИС Логистика строит и пересчитывает маршруты с учётом пробок, погодных условий, типов транспорта, параметров груза и сложных логистических цепочек. ГеоПоток помогает бизнесу повышать прозрачность процессов и сокращать издержки.
Все вакансии на сайте Другие инженерные инсайты от 2ГИС → в Telegram-канале RnD

Open-source мониторинг без SaaS-привязки CheckCle выглядит как интересная self-hosted альтернатива для мониторинга инфраструк
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

👣 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 в том, что дерево не хранится явно. Нет указателей. Нет рекурсии. Нет сложной структуры узлов. Только массив и один битовый трюк. Дерево спрятано прямо внутри двоичного представления индексов.

Gortex индексирует репозитории в виде графа кода и открывает доступ к нему через CLI, MCP Server и веб-интерфейс. Это позволя
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

Morph - генератор мапперов для Go, который закрывает одну из самых скучных частей backend-разработки: перекладывание данных м
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

🔍Тестовое собеседование с Go Senior из Uzum в этот четверг 11 июня(в четверг!) в 19:00 по мск приходи онлайн на открытое соб
🔍Тестовое собеседование с Go Senior из Uzum в этот четверг 11 июня(в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Go-разработчика. Как это будет: 📂 Маруф Караев, Senior из Uzum, ex-Яндекс, ex-EPAM будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Маруф будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Маруфу Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Go-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_go_bot Реклама. О рекламодателе.

👣 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

✔️ Go-ошибки - это не просто `err != nil`, а история о том, что именно сломалось. В Go у ошибок по умолчанию нет stack trace,
✔️ 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

📌 HyperLogLog на Go простыми словами Redis может примерно считать уникальные значения, почти не храня сами значения. Идея та
📌 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 и поправки на маленькие и большие значения.

O(1) не значит «быстро» Одна из самых частых ошибок в алгоритмах: считать, что O(1) всегда быстрее O(n). На практике это не т
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 описывает асимптотический рост, а не реальную скорость на маленьких данных.

🚀 Golang Roadmap 2026 — продвинутый курс на русском 📌 О курсе Это бесплатный open-source roadmap на русском языке. Внутри —
🚀 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\

# MCP становится новым API-слоем для агентов Если продуктом можно управлять через UI, REST и Terraform, то у агента тоже долж
# 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/

Собираетесь к нам в Go? ➡ Рассказали, как мы построили наймовый процесс, чтобы сделать его честнее для всех. Другие инженерны
Собираетесь к нам в Go? ➡ Рассказали, как мы построили наймовый процесс, чтобы сделать его честнее для всех. Другие инженерные инсайты от 2ГИС → в Telegram-канале RnD

🚀 Удобная сборка с rigx для C, C++, Go и других языков rigx — это экспериментальная система сборки, которая упрощает процесс
🚀 Удобная сборка с rigx для C, C++, Go и других языков rigx — это экспериментальная система сборки, которая упрощает процесс создания и тестирования приложений на нескольких языках. Она использует декларативный подход с конфигурацией в rigx.toml, обеспечивая изоляцию и кэширование сборок для повышения надежности и скорости. 🚀 Основные моменты: - Поддержка множества языков: C, C++, Go, Rust, Zig, Nim, Python. - Сборки и тесты выполняются в песочнице, не загрязняя систему. - Легкая конфигурация с помощью простого TOML-файла. - Возможность параллельного выполнения тестов и интеграционных тестов. - Кэширование выходных данных для повышения производительности. 📌 GitHub: https://github.com/unofficialtools/rigx

📘 На Mentorix вышел курс — «Golang: микросервисная архитектура и проектирование API» Уже работаете с Go и хотите перейти на
📘 На Mentorix вышел курс — «Golang: микросервисная архитектура и проектирование API» Уже работаете с Go и хотите перейти на уровень системного проектирования? Этот курс — про то, как разрабатывать API, строить распределённые сервисы и поддерживать их стабильную работу в продакшене под нагрузкой. • Полный стек: HTTP/REST, gRPC, RabbitMQ и Kafka, PostgreSQL, Redis, Docker, Prometheus + Grafana • 200+ интерактивных заданий с автопроверкой — пишете код прямо в браузере, в любое удобное время • Финальный проект: рабочая микросервисная экосистема, которую кладёте в портфолио и показываете на собесе 🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn 🚀 Прокачайте Go и выйдите на уровень мидл/сеньор-разработчика микросервисов. Начните сегодня — следующая неделя будет уже с новыми навыками. 👉 Пройти курс на Mentorix

❓ Как объявить канал только для отправки в аргументе функции?
Anonymous voting

🔐 Стань этичным хакером - с нуля до Pro Хочешь зарабатывать на поиске уязвимостей, а не бояться их? Этот курс проведёт тебя
🔐 Стань этичным хакером - с нуля до Pro Хочешь зарабатывать на поиске уязвимостей, а не бояться их? Этот курс проведёт тебя от первой команды в терминале до реальных техник пентеста. Что внутри: → Разведка целей: nmap, curl, анализ заголовков → Криптография и разбор кода на практике → Эксплуатация уязвимостей и документирование находок → Только живые задачи — никакой воды Без скучной теории. Только то, за что платят в bug bounty и на собеседованиях в InfoSec. 📈 От «что такое порт» — до отчёта пентестера за несколько недель. 👉 Записывайся на Stepik и начни взламывать легально уже сегодня.

👣 Почта прямо в терминале: Go-разработчикам завезли Matcha Matcha - это мощный email-клиент для терминала, написанный на Go
👣 Почта прямо в терминале: Go-разработчикам завезли Matcha Matcha - это мощный email-клиент для терминала, написанный на Go и Bubble Tea. Идея простая: не выходить из CLI даже ради почты. Можно читать письма, отправлять ответы, работать с несколькими аккаунтами и rich content прямо из терминального интерфейса. Что внутри: - TUI-интерфейс на Bubble Tea - поддержка нескольких аккаунтов - встроенная система плагинов - 35+ community plugins - marketplace прямо из терминала - CLI-команда для отправки писем - поддержка AI-agent сценариев - AI rewrite plugin для черновиков через OpenAI, Ollama, Gemini или Claude Отдельно интересно, что Matcha можно использовать не только как «почту для гиков», но и как инструмент для агентных workflow: агент может отправлять письма через matcha send без интерактивного интерфейса. Для тех, кто любит терминал, Go и красивые TUI-приложения - проект точно стоит посмотреть. https://github.com/floatpane/matcha #golang