Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
G

go-interview

> 编程语言
Open source

:octocat: Вопросы и ответы для собеседования Back-end/Golang разработчика и не только

1.2K stars0 likes0 views
WebsiteGitHub

About

:octocat: Вопросы и ответы для собеседования Back-end/Golang разработчика и не только

Здесь собирается большая коллекция вопросов и ответов на них, необходимых не только для прохождения собеседований, но и для комплексного развития кругозора

Содержание

  1. Разогрев
  2. Общие вопросы
    • В чем отличие протоколов TCP и UDP? В каком случае UDP предпочтительнее?
    • Что такое NAT?
    • Что такое HTTP и HTTPS, в чем их отличия?
    • Что такое SSL и TLS, есть ли между ними отличия?
    • coming soon
  3. Вопросы по шаблонам проектирования
    • С какими паттернами проектирования знакомы?
    • Расскажите про паттерны Builder(Строитель), Factory(Фабрика), Closer(Доводчик), Singleton(Одиночка)
    • Расскажите, какой паттерн использовали в продукте/своем коде?
    • Знакомы ли с концепцией 12FA для проектирования SaaS приложений?
  4. Вопросы про микросервисы
    • Что такое микросервисная архитектура? (кратко)
    • Чем отличается микросервис от монолита?
    • Опишите плюсы и минусы двух концепций
  5. Вопросы про инфраструктуру и деплой
    • Что такое сине-зеленый деплой(blue-green deployment)?
    • Что такое Canary (канареечные развертывания)?
    • Что такое Dark (скрытые) или А/В-развертывания?
    • Что такое SLA, SLO, SLI?
    • Какие инструменты CI/CD вам известны?
    • Как обеспечить непрерывность и стабильность деплоя приложения?
    • С какими проблемами при деплое продукта вы сталкивались, как митигировали?
  6. Вопросы про кеширование и базам данных
    • Что такое индексы в MySQL, как и для чего их использовать и создавать?
    • Что такое составной индекс, как и для чего их использовать и создавать?
    • Как использовать индексы в JOIN запросах Mysql?
    • Что такое частичные индексы, как и для чего их использовать и создавать?
    • В чем отличия InnoDB и MyISAM?
    • Возможен ли JOIN со вложенными запросами, как?
    • Что такое дедлоки (deadlock), почему возникают, как можно недопускать?
    • Что такое HAVING, что он делает как и зачем его использовать?
    • Разница между WHERE и HAVING и можно ли использовать HAVING без группировки данных?
    • Что такое EXPLAIN?
    • Как узнать версию Mysql?
    • Как можно оптимизировать ORDER BY RAND()?
    • Как правильно выбрать тип данных в Mysql, когда нужны:
      • NULL значения, когда лучше использовать?
      • Целые числа (TINYINT, SMALLINT, INT, BIGINT) и UNSIGNED, длинна числовых типов?
      • Большие числа: demical, что это и как работает?
      • Float | Double VS Demical, в чем разница, что и как использовать?
      • Строки VARCHAR и CHAR, отличия когда лучше использовать?
      • BLOB / TEXT, чем отличаются, как выполнять сортировку по полям данного типа?
      • ENUM, когда может пригодится?
      • DATETIME / TIMESTAMP, в чем их разница, какие максимальные значения?
    • Когда и зачем может пригодиться денормализация данных?
    • Что такое шардинг и репликация?
    • В чем отличие синхронной репликации от асинхронной? Какая подходит лучше для какого кейса?
    • Если индекс создан для 2-х колонок и запрос содержит только одну из них - будет ли он работать?
  7. Вопросы по языку Golang
    • Что из себя представляет тип данных string в языке Golang? Можно ли изменить определенный символ в строке? Что происходит при склеивании строк?
    • Вытекающий вопрос — как эффективно склеивать множество строк?
    • Что будет происходить при конкурентной записи в map? Как можно решить эту проблему?
    • Расскажите о ООП в Golang.#1
    • Какое будет значение у переменной x после выполнения программы?
    • Какое значение примет выражение (true && false) || (false && true) || !(false && false)?
    • Мы знаем, что в десятичной системе самое большое число из одной цифры - это 9, а из двух - 99. В бинарной системе самое большое число из двух цифр это 11 (3), самое большое число из трех цифр это 111 (7) и самое большое число из 4 цифр это 1111 (15). Вопрос: каково самое большое число из 8 цифр? (Подсказка: 101-1=9 и 102-1=99)
    • Что выведет следующая программа?
    • Что выведет следующая программа?
    • Как работает Garbage Collection в Go?
    • Что такое interface, как они работают в Go?
    • Что такое slice, как устроены и чем отличаются от массивов?
    • Что такое len и capacity в slice Go?
    • Возможно ли предугадать, что GC отработает за константное время N?
    • Что будет, если создать канал и отправить туда запись, но у него нет читателей?
    • По какому алгоритму растет slice? (если знаете старую и новую формулу - круто)
    • Сколько весят такие структуры данных, как слайс, мапа, пустая строка, число в байтах?
    • В какой момент инициализированное значение переменной передается в defer? Как это связано с именованием функции?
  8. Вопросы о распределённых системах
    • Как тестировать распределённую систему?
    • Знакомы ли с lock-free концепцией? Можете описать принцип работы?
  9. Вопросы по организации кода
    • Как тесты и TDD влияют на организацию кода?
    • В чём разница между сцеплением и связанностью?
    • Почему в TDD тесты пишутся прежде кода?
    • Если у вашего кода плохая организация, как вы это поймёте?
  10. Вопросы от Данила Подольского на позицию Senior Golang Backend Developer в компанию Evrone
    • Go — императивный или декларативный? А в чем разница?
    • Что такое type switch?
    • Как сообщить компилятору, что наш тип реализует интерфейс?
    • Как работает append?
    • Какое у slice zero value? Какие операции над ним возможны?
    • Как устроен тип map?
    • Каков порядок перебора map?
    • Что будет, если читать из закрытого канала?
    • Что будет, если писать в закрытый канал?
    • Как вы отсортируете массив структур по алфавиту по полю Name?
    • Что такое сериализация? Зачем она нужна?
    • Сколько времени в минутах займет у вас написание процедуры обращения односвязного списка?
    • Где следует поместить описание интерфейса: в пакете с реализацией или в пакете, где этот интерфейс используется? Почему?
    • Предположим, ваша функция должна возвращать детализированные Recoverable и Fatal ошибки. Как это реализовано в пакете net? Как это надо делать в современном Go?
    • Главный недостаток стандартного логгера?
    • Есть ли для Go хороший orm? Ответ обоснуйте.
    • Какой у вас любимый линтер?
    • Можно ли использовать один и тот же буфер []byte в нескольких горутинах?
    • Какие типы мьютексов предоставляет stdlib?
    • Что такое lock-free структуры данных, и есть ли в Go такие?
    • Способы поиска проблем производительности на проде?
    • Стандартный набор метрик prometheus в Go -программе?
    • Как встроить стандартный профайлер в свое приложение?
    • Overhead от стандартного профайлера?
    • Почему встраивание — не наследование?
    • Какие средства обобщенного программирования есть в Go?
    • Какие технологические преимущества языка Go вы можете назвать?
    • Какие технологические недостатки языка Go вы можете назвать?
  11. Популярные задачи на собеседованиях
    • На вход подаются два неупорядоченных слайса любой длины. Надо написать функцию, которая возвращает их пересечение
    • Написать генератор случайных чисел
    • Слить N каналов в один
    • Сделать конвейер чисел
    • Написать WorkerPool с заданной функцией
    • Сделать кастомную waitGroup на семафоре
    • Что выведет код?
    • Какая есть проблема в коде?
    • Что выведет код?
    • Что выведет код?

Ответ

Тут ответ

Надо будет отсортировать!

Быстрый экскурс по вопросам Go. Будет дополняться

  • практические задачи по темам
  • дополнительные материалы
  • просто практические задачки по Go

Начнем! (Чисто для себя)

  1. Что такое Go?

Ответ

Go (Golang) — это компилируемый, статически типизированный, многопоточный язык программиров

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Goanswersgogolanginterview

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言