TGViewer
Channel Public Channel
Golang Backend | YeaHub

Golang Backend | YeaHub

@yeahub_go_backend

Теория, подготовка к интервью и курсы для Golang разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Subscribers
861
Photos
404
Videos
21
Links
592
Recent Posts 20 shown
Post #716 74
Grafana для разработчика: базовые сценарии

Grafana визуализирует метрики и помогает находить проблемы в приложениях.

Зачем разработчику Grafana

Просмотр метрик приложения в реальном времени. Быстрая диагностика проблем без изучения логов.

Настройка дашбордов

Панели с графиками, таблицами, счетчиками. Каждая панель настраивается через запросы к источникам данных.

Источники данных

Prometheus для метрик. Loki для логов. PostgreSQL или ClickHouse для аналитики.

Интеграция с Go

Экспортируйте метрики через Prometheus клиент. Grafana автоматически их подхватит.


http.Handle("/metrics", promhttp.Handler())


Основные типы визуализаций

Time series для метрик во времени. Stat для текущих значений. Table для детальных данных. Heatmap для распределений.

Практические дашборды

RPS и время ответа API. Использование памяти и CPU. Количество активных горутин. Ошибки по типам.

Алерты

Настройка правил через Prometheus или Grafana Alerting. Уведомления в Slack, Telegram, PagerDuty.

Практические советы

Не перегружайте дашборд панелями. Одна панель один вопрос.

Используйте переменные для фильтрации по сервису или окружению.

Grafana помогает замечать проблемы до того как они станут инцидентами.
Post #715 95
#Собес #Go_interfaces #structural_typing #duck_typing
🤔 Почему в Go интерфейсы реализованы именно таким способом (неявная реализация через структурную типизацию)?

💬 Кратко:
В Go интерфейсы реализованы неявно через структурную типизацию, что означает, что тип автоматически удовлетворяет интерфейсу, если он реализует все его методы. Это избавляет от необходимости явно объявлять реализацию интерфейса, как в Java или C#. Такой подход упрощает создание гибких и слабосвязанных компонентов, позволяя легко заменять реализации без изменения кода. Структурная типизация также способствует лучшей модульности и тестированию, так как интерфейсы могут быть определены там, где они используются.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #713 128
#Собес #index #write #performance
🤔 Почему индексы могут замедлять INSERT и UPDATE операции?

💬 Кратко:

Индексы ускоряют чтение, но замедляют запись. При INSERT и UPDATE базе нужно обновлять не только таблицу, но и все связанные индексы. Чем больше индексов, тем выше накладные расходы. Это особенно заметно при массовых операциях записи.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #712 140
#Собес #golang #postgres #kafka

🤔 Техническое собеседование - Middle Golang Backend Developer в T-Tech

Проект: платёжные и расчётные сервисы, высокая надёжность, строгие требования к консистентности данных, асинхронные процессы, интеграция с внешними системами. Вилка 310к+

💬 Вопросы:

- В чем разница между git pull и git fetch?

- Когда Redis не подходит для использования?

- Можно ли искать в Redis не по ключу, а по значению?

- Какие способы взаимодействия между микросервисами существуют и в чём их различия (например, REST, Kafka)?

- Объясни разницу между defer, panic и recover в Go

👉 Все вопросы из этого собеседования (13)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
  • 🤯 1
Post #711 107
Пакет io: работа с потоками данных

Пакет io предоставляет базовые интерфейсы для работы с потоками ввода-вывода.

Reader и Writer

io.Reader читает данные в байтовый срез. io.Writer записывает байты.


type Reader interface {
Read(p []byte) (n int, err error)
}

type Writer interface {
Write(p []byte) (n int, err error)
}


Эти интерфейсы реализуют файлы, сетевые соединения, буферы.

io.Copy

Копирует данные из Reader в Writer без ручного буферизованного цикла.


written, err := io.Copy(dst, src)


Функция сама подбирает оптимальный размер буфера.

io.ReadAll

Читает все данные из Reader до конца.


data, err := io.ReadAll(reader)


Удобно для небольших объемов. Для больших файлов используйте стриминг.

Композиция интерфейсов

io.ReadWriter объединяет Reader и Writer. io.ReadCloser добавляет Close.


type ReadCloser interface {
Reader
Closer
}


TeeReader и MultiWriter

io.TeeReader дублирует чтение в Writer. io.MultiWriter пишет в несколько Writer одновременно.


tee := io.TeeReader(src, logFile)
multi := io.MultiWriter(file1, file2)


Практические советы

Всегда проверяйте количество прочитанных или записанных байт. n может быть меньше len(p) даже без ошибки.

Используйте io.LimitReader для ограничения размера читаемых данных.

Пакет io универсален. Один и тот же код работает с файлами, сетью и буферами.
Post #710 126
#Собес #goroutine #panic #recover
🤔 Может ли recover в одной горутине перехватить панику, возникшую в другой горутине?

💬 Кратко:
Нет, recover в одной горутине не может перехватить панику из другой горутины. Каждая горутина имеет собственный стек вызовов, и паника обрабатывается только в той горутине, где она возникла. Для обработки паник в разных горутинах необходимо использовать recover внутри каждой горутины отдельно.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #709 158
#podcast #всё
📚 TeachMeSkills IT-школа

Это серия выпусков от "TeachMeSkills Школа программирования"
Речь пойдет об актуальные направления и технологии в IT; перспективы роста начинающих специалистов; холиварные топики из жизни разработчиков.


Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #708 159
#Собес #rss #feed
🤔 Что такое RSS Feed?

💬 Кратко:

RSS Feed — это XML-лента, содержащая обновления сайта: статьи, новости, события. Клиенты (агрегаторы) автоматически читают RSS и показывают новые публикации. Такой формат позволяет подписываться на обновления без посещения сайта. RSS до сих пор используется в медиа, блогах и автоматизации.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #707 152
#Собес #solid #cap #docker

🤔 Middle+ Golang Backend-разработчик в Purrweb

Техническое собеседование. Весна 2026 (27 марта)

💬 Вопросы:

- Что такое репликация?

- Какие существуют типы индексов в PostgreSQL и когда их использовать?

- Что такое Docker image?

- Перечислите компоненты Docker.

- Что такое Docker Compose?

👉 Все вопросы из этого собеседования (18)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #706 139
Контекст и таймауты в HTTP клиентах Go

Правильная работа с таймаутами критична для надежности приложений.

Таймауты по умолчанию

http.Client без таймаута может зависнуть навсегда. Всегда устанавливайте Timeout.


client := &http.Client{
Timeout: 10 * time.Second,
}


Контекст в запросах

Передавайте контекст через NewRequestWithContext. Это позволяет отменять запросы.


ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()

req, _ := http.NewRequestWithContext(ctx, "GET", url, nil)
resp, err := client.Do(req)


Раздельные таймауты

Транспорт позволяет настроить отдельные таймауты для соединения и чтения.


transport := &http.Transport{
DialContext: (&net.Dialer{
Timeout: 5 * time.Second,
}).DialContext,
ResponseHeaderTimeout: 10 * time.Second,
}


Отмена запросов

При отмене контекста запрос немедленно прерывается. Это экономит ресурсы.


select {
case <-ctx.Done():
return ctx.Err()
case result := <-resultCh:
return result
}


Повторы с backoff

Комбинируйте таймауты с повторными попытками. Используйте экспоненциальную задержку.

Практические советы

Не используйте context.Background в обработчиках HTTP. Передавайте контекст запроса дальше.

Для внешних API устанавливайте короткие таймауты. Для внутренних сервисов можно увеличить.

Правильные таймауты предотвращают каскадные отказы и утечки ресурсов.
  • ❤ 1
  • 👍 1
Post #705 148
#Собес #context #cancellation #go
🤔 Как работает context.WithTimeout и что происходит после истечения таймаута?

💬 Кратко:

context.WithTimeout создаёт контекст, который автоматически отменяется по истечении заданного времени. После таймаута закрывается ctx.Done(), а ctx.Err() возвращает context.DeadlineExceeded.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #702 206
#Собес #SQL #Explain #Explain_Analyze
🤔 Какие инструменты используются для анализа выполнения SQL-запросов (например Explain / Explain Analyze)?

💬 Кратко:
Основные инструменты — это команды EXPLAIN и EXPLAIN ANALYZE. EXPLAIN показывает предполагаемый план выполнения запроса без его реального запуска, позволяя увидеть, какие индексы будут использоваться и в каком порядке соединятся таблицы. EXPLAIN ANALYZE фактически выполняет запрос и показывает реальные метрики: время выполнения, количество обработанных строк. Эти команды помогают находить "узкие места" — например, полные сканирования таблиц вместо использования индексов. Их используют разработчики и DBA для оптимизации медленных запросов.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #701 201
#Собес #btree #rabbitmq #kafka

🤔 Middle+ Golang Backend-разработчик в Защита Инфо Транс (Z-IT)

Техническое собеседование. Дата: 27 марта 2026 года.

💬 Вопросы:

- Как работает Select?

- Что такое сборщик мусора?

- Что такое реляционная база данных?

- Какие типы индексов существуют?

- Что делать, если SQL-запрос выполняется слишком долго?

👉 Все вопросы из этого собеседования (20)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #700 202
#Собес #golang #slice #clear
🤔 Как очистить массив или слайс в Go?

💬 Кратко:

Очищают слайс разными способами: присваиванием nil, созданием нового пустого слайса или срезом s = s[:0]. Способ зависит от цели — освободить память или просто обнулить длину.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #699 243
#article #api
📚 Go в API для мобильного приложения. Создаем совместный список покупок с мгновенными уведомлениями

Изучим использование Go для backend на примере разработки API для мобильного приложения для совместного редактирования списка покупок. Приложение будет включать в себя механизмы авторизации, запроса и модификации объектов, а также мгновенные уведомления (через веб-сокеты и Push) и мониторинг доступность API

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #698 206
#Собес #tcp #handshake #network
🤔 В чём суть трехстороннего рукопожатия в TCP?

💬 Кратко:

Трехстороннее рукопожатие в TCP — это процесс установления соединения между клиентом и сервером, включающий три шага: SYN, SYN-ACK, ACK.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #697 206
#Собес #golang #postgres #kafka

🤔 Технический скрининг — Middle Golang Backend Developer в Яндекс Маркет

Проект: сервисы заказов и рекомендаций, высокая нагрузка, активная работа с БД, кешами и асинхронными процессами, много интеграций между сервисами. Вилка 240 - 270к

💬 Вопросы:

- Опишите шаги по выгрузке новых изменений в удаленный репозиторий git

- Что делает команда git stash?

- Как инкапсуляция осуществлена в Golang?

- Что такое PostgreSQL replication?

- Что такое VACUUM в PostgreSQL

👉 Все вопросы из этого собеседования (12)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Post #696 197
#Собес #golang #time #timer
🤔 Почему time.After может приводить к утечкам памяти?

💬 Кратко:

time.After создаёт таймер, который нельзя отменить. Если результат не будет прочитан, таймер останется в памяти до срабатывания.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Older posts →

About this channel

How can I read @yeahub_go_backend without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Golang Backend | YeaHub: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Golang Backend | YeaHub have?
Golang Backend | YeaHub (@yeahub_go_backend) has 861 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Golang Backend | YeaHub know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →