Golang Backend | YeaHub – Telegram
Golang Backend | YeaHub
842 subscribers
258 photos
21 videos
1 file
399 links
Теория, подготовка к интервью и курсы для Golang разработчиков

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

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

Для связи: @ruslan_kuyanets
Download Telegram
👣 Middle Golang Backend-разработчик в Digital Spirit.

Техническое собеседование. Лето 2024. Опыт в резюме: 3 года. Вилка 200k+. Аутсорс. Были вопросы про текущее место работы, большая теоретическая часть, секция лайвкодинга.

Вопросы:
- Что будет, если попытаться писать в закрытом канале?
- Что такое транзакции в PostgreSQL?
- Что такое индекс в базе данных?
- Какие есть уровни изоляции транзакций и как они работают?

Все вопросы можно посмотреть на нашей платформе

#собес #коллекции
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #kubernetes
🤔 Что такое DNS в Kubernetes?

💬 Кратко:
Kubernetes DNS - это встроенный сервис, который автоматически назначает DNS-имена сервисам и Pod-ам в кластере. Он позволяет приложениям находить друг друга по доменным именам, а не по IP-адресам.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🥱 Минималистичный CLI для прогноза погоды на GO

Stormy — это настраиваемый инструмент командной строки для получения прогноза погоды, вдохновленный Neofetch. Написан на Go, он поддерживает несколько провайдеров данных и предлагает визуально привлекательное представление текущих погодных условий.

Основные моменты:
🔵 Поддержка OpenMeteo и OpenWeatherMap
🔵 ASCII-арт для отображения погоды
🔵 Настраиваемые единицы измерения
🔵 Локальный конфигурационный файл
🔵 Цветная поддержка для терминалов
GitHub

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#Собес #git
🤔 Что делает Git-клон?

💬 Кратко:
Команда git clone создаёт копию существующего репозитория, включая всю историю изменений, файлы и ветки. Это используется, чтобы начать работу с проектом, который уже находится в удалённом репозитории.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Кроссплатформенный SQL-редактор, доступный прямо из браузера и работающий как HTTP-сервер на Go. Предоставляет удобный интерфейс для лёгких ETL-задач, позволяя копировать данные между базами данных, таблицами, JSON и CSV-файлами
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Goroutines и каналы: что нужно знать для собеседования на Go

Работа с конкурентностью — ключевой навык Go-разработчика. Вот что спросят на собеседовании.

Почему горутины эффективны?
- Легковесные потоки (2KB против 1MB у потоков ОС)
- Быстрое создание и переключение
- Встроенная работа с каналами
- Планировщик Go вместо ОС

Ключевые концепции:

1. Управление горутинами
Запуск через go func()
Контроль количества через sync.WaitGroup
Остановка через context
Предотвращение утечек горутин

2. Каналы и синхронизация
Буферизованные и небуферизованные каналы
Select для мультиплексирования
Закрытие каналов и range
Sync package: Mutex, RWMutex, Once

3. Паттерны
Worker pool с каналами
Fan-out, fan-in
Pipeline обработки данных
Таймауты и дедлайны

4. Распространенные ошибки
Блокировка из-за неправильного размера буфера
Утечки горутин
Гонки данных (data races)
Неправильное использование context

5. Диагностика проблем
pprof для анализа горутин
trace для временной шкалы
race detector для поиска гонок
Метрики количества горутин

Что практиковать:
- Написание concurrent map с RWMutex
- Реализация worker pool
- Создание pipeline обработки
- Использование context для отмены
- Написание тестов с race detector

Понимание этих тем покажет, что вы умеете писать безопасный concurrent код, а не просто используете go func(). Умение избегать гонок и утечек — критически важно для production-приложений.

🚀 Пост Guru Golang: @Avtostopom_po_G0
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍2🔥2
#Собес #git
🤔 Что такое репозиторий Git и как вы его инициализируете?

💬 Кратко:
Репозиторий Git - это хранилище, где отслеживаются все изменения вашего проекта, включая файлы, их историю и ветки. Чтобы инициализировать репозиторий, используйте команду git init , которая создаёт скрытую папку .git , где Git сохраняет свои данные.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
📞 time.Ticker в Go — это отличный инструмент для запуска одного и того же кода через заданные интервалы. Например, его можно использовать, чтобы каждые 5 минут проверять состояние сервера и отправлять уведомление, если с ним возникли проблемы.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
3
#полезное
😎 filesql — SQL для ваших файлов прямо в Go

Хотите писать SQL-запросы к CSV, TSV или LTSV без лишней возни?

Инструмент позволяет использовать привычный синтаксис SQLite прямо поверх файлов — даже сжатых (.gz, .bz2, .xz, .zst).

Основные фишки:

🟡Поддержка CSV / TSV / LTSV
🟡JOIN между файлами и рекурсивный обход папок
🟡Полный синтаксис SQLite: CTE, оконные функции, агрегаты
🟡Безопасность: INSERT/UPDATE/DELETE работают только в памяти — исходники не трогаются
🟡Экспорт изменений функцией DumpDatabase()

Пример кода на Go:

db, _ := filesql.Open("data.csv")
rows, _ := db.Query("SELECT name, age FROM data WHERE age > 25 ORDER BY name")
defer rows.Close()


📦 Установка:

go get github.com/nao1215/filesql


Идеально для быстрых аналитических задач, скриптов и прототипов — SQL-сила без базы данных!
Github

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #git
🤔 Какой язык используется Git?

💬 Кратко:
Git написан на языке программирования С. Этот выбор обеспечивает высокую производительность и эффективность.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🥄 Упрощение DLL-хайкинга с DllShimmer

DllShimmer позволяет легко добавлять код в экспортируемые функции DLL без нарушения работы программы. Он генерирует C++ и DEF файлы, которые обеспечивают корректное взаимодействие с оригинальной DLL, сохраняя ее структуру.

Экспортируемые функции DLL — это функции, которые библиотека DLL (Dynamic Link Library) делает доступными для использования другими программами.

Когда вы пишете код вы можете собрать его не только в обычный исполняемый .exe, но и в динамическую библиотеку .dll. Такая библиотека хранит набор функций и данных, которые могут вызываться другими приложениями во время выполнения.

Основные моменты:
🔵 Простое создание прокси DLL для внедрения кода.
🔵 Поддержка динамической и статической компоновки.
🔵 Не требует реверс-инжиниринга.
🔵 Сохраняет оригинальные имена и порядковые номера функций.
🔵 Поддержка только x86-64 архитектуры.
GitHub

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Избегаем распространённых ошибок с sync.WaitGroup в Go

С выходом Go 1.25 в типе sync.WaitGroup появилось два заметных изменения. Оба они связаны с типичными ошибками, которые разработчики часто допускают при работе с WaitGroup.

В этой статье мы разберём эти изменения и посмотрим, как они помогают избежать распространённой гонки
Читать

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😊 TaskWing — менеджер задач в терминале с поддержкой AI

TaskWing — это инструмент для разработчиков, который позволяет вести список задач прямо в терминале и подключать к этому процессу искусственный интеллект (Claude Code, Cursor) через протокол MCP.

🟠Что умеет
- Подключается к AI и помогает создавать, менять и искать задачи.
- Не требует сложной настройки — всё хранится локально.
- Умеет отслеживать зависимости между задачами, чтобы не было конфликтов.
- Делает работу удобной: минимум переключений между редактором и терминалом.

Как использовать:

go install github.com/josephgoksu/taskwing.app@latest
taskwing init
taskwing add --noscript "Fix auth bug" --priority urgent

Github

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Профилирование и оптимизация Go-приложений: что спрашивают на собеседованиях

Умение находить и устранять узкие места — ключевой навык senior-разработчика. Вот что нужно знать о производительности в Go.

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

Ключевые инструменты и подходы:

1. Инструменты runtime
pprof: CPU, memory, goroutines, mutexes
trace: анализ латентности и планировщика
runtime/metrics: программный доступ к метрикам
expvar: публикация внутренних метрик

2. Анализ CPU
Понимание семплинга profiler
Интерпретация flame graphs
Поиск горячих функций
Оптимизация алгоритмов

3. Анализ памяти
Распределения объектов (allocations)
Использование heap и stack
Профилирование live memory
Поиск утечек памяти

4. Конкурентность
Блокировки горутин (blocking profile)
Конфликты мьютексов (mutex profile)
Анализ work stealing
Выявление голодания горутин

5. Production profiling
Continuous profiling
Интеграция с мониторингом
Безопасный сбор профилей
Автоматический анализ данных

Что практиковать:
- Сбор и анализ CPU профиля
- Поиск утечек памяти
- Анализ блокировок
- Настройка continuous profiling
- Оптимизация на основе данных

Какие выводы можно сделать:
На собеседовании ждут не просто знания инструментов, а понимания методологии оптимизации: измерять → анализировать → исправлять → проверять. Умение доказать эффективность оптимизации объективными метриками ценится в каждой компании

🚀 Пост Guru Golang: @Avtostopom_po_G0
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥21🤔1
#Собес #git
🤔 Что такое распределённая система контроля версий?

💬 Кратко:
Распределённая система контроля версий (например, Git) сохраняет полную копию репозитория у каждого участника проекта. Это делает работу более надёжной, позволяет работать оффлайн и обеспечивает лёгкое слияние изменений.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
#полезное
👋 kubectl-browse-pvc — плагин для kubectl, который позволяет пользователям удобно просматривать данные в Persistent Volume Claims (PVC) в Kubernetes!

Этот инструмент предоставляет возможность быстро монтировать PVC в поды Kubernetes и просматривать содержимое томов через файловую систему, что упрощает процесс диагностики и работы с данными в Kubernetes.

Плагин работает как расширение для kubectl, добавляя команду kubectl browse-pvc. Это позволяет пользователю быстро исследовать данные в томах Kubernetes без необходимости вручную настраивать монтирование томов или взаимодействовать с подами через командную строку. Пользователь может указать имя PVC, и плагин автоматически создает под с монтированным PVC, предоставляя удобный доступ к его содержимому для чтения и диагностики.
Github

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Senior Backend Golang разработчик в компанию RuTube

Техническое собеседование. Лето 2024. До 490к. Опыт в резюме: 4+ года. Обсудили опыт, был лайвкодинг (задача про префиксное дерево для IP- фильтрации)

Вопросы:
- Как балансируется нагрузка в gRPC?
- Как сделать структуру данных (например, префиксное дерево) потокобезопасной?
- Почему не стоит хранить логин/пароль в JWT?
- Что такое JWT и из каких частей он состоит?

Все вопросы можно посмотреть на нашей платформе

#собес #коллекции
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😘 LeetSolv — инструмент для тренировки алгоритмов прямо в терминале

LeetSolv — это консольная утилита, написанная нп Go для подготовки к собеседованиям по алгоритмам и структурам данных.

Инструмент помогает повторять задачи по умному расписанию (алгоритм SM-2) и не забывать то, что уже решал.

Что умеет:
🟢Лёгкий CLI без лишних зависимостей (написан на Go).
🟢 Планирует повторения задач с учётом:
🟢 насколько хорошо ты знаешь задачу,
🟢 насколько она важна,
🟢 насколько сложно её понять.
🟢 Автоматически выставляет приоритеты: что решать сначала, что можно отложить.
🟢 Полный набор команд: добавить, удалить, редактировать задачи, откатить изменения.
🟢 Все данные хранятся только у тебя локально.
🟢 Два режима работы:
🟢 интерактивный (вопрос-ответ в терминале),
- командный (`add`, list, search и т.п.).

📦 Установка:

curl -fsSL https://raw.githubusercontent.com/eannchen/leetsolv/main/install.sh | bash

Github

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#полезное
😜 kairos — проект с открытым исходным кодом, предназначенный для создания и управления операционными системами, которые могут работать в условиях облачных и распределённых инфраструктур!

🟠 Он ориентирован на разработку операционных систем для использования в средах с минимальными вычислительными ресурсами, например, для контейнеризированных приложений, IoT-устройств и встраиваемых систем.

🟠 Kairos отличается от традиционных операционных систем тем, что использует концепцию "Immutable Infrastructure" — это означает, что система не изменяется после развертывания, а любые обновления или изменения состояния происходят через повторное развертывание или обновление контейнеров, а не через обычные патчи и апдейты. Это делает её очень устойчивой к ошибкам и уязвимостям, так как в случае необходимости можно быстро восстановить систему из базового образа.
Github

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1