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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
😎 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
#Собес #git
🤔 Что такое рабочий процесс Gitflow?

💬 Кратко:

Gitflow - это стратегия ветвления, которая делит разработку на несколько веток: main для релизов, develop для активной разработки и дополнительные ветки для новых функций, исправлений багов и релизов. Этот процесс удобен для крупных проектов с чёткими этапами разработки.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Фреймворк на Go на базе LLM для глубокого понимания документов, семантического поиска и контекстно-зависимых ответов с использованием парадигмы RAG.
GitHub

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

Разработка микросервисной архитектуры требует особого подхода в Go. Вот ключевые темы, которые стоит изучить.

Почему Go популярен для микросервисов?
- Простая и эффективная конкурентность
- Быстрая компиляция и запуск
- Малое потребление памяти
- Мощная стандартная библиотека

Ключевые аспекты микросервисов на Go:

1. Проектирование API
RESTful с использованием net/http
gRPC для высокопроизводительных сервисов
OpenAPI спецификации
Версионирование API

2. Коммуникация между сервисами
HTTP/REST клиенты
gRPC с Protocol Buffers
Асинхронная коммуникация через брокеры
Service discovery и load balancing

3. Обработка ошибок
Единый формат ошибок
Circuit breaker паттерн
Retry с экспоненциальной отсрочкой
Timeout и deadline propagation

4. Мониторинг и observability
Структурированное логирование
Метрики с Prometheus
Трассировка запросов
Health checks и readiness probes

5. Безопасность
Аутентификация и авторизация
TLS/mTLS шифрование
Валидация входных данных
Защита от основных уязвимостей

Что практиковать:
- Разработка простого микросервиса с REST API
- Настройка взаимодействия между сервисами
- Реализация механизма повторов и обработки ошибок
- Добавление метрик и трассировки(можно теоретически изучить)
- Написание тестов для микросервиса + тестирование через postman

Понимание этих тем покажет, что вы можете разрабатывать не просто отдельные компоненты, а целостную систему. Умение проектировать отказоустойчивые и наблюдаемые сервисы критически важно для работы в распределенных системах.
👍3🔥32
#Собес #git
🤔 Что делает файл .gitignore?

💬 Кратко:
Файл .gitignore определяет файлы и папки, которые Git должен игнорировать. Это используется для исключения временных файлов, логов, зависимостей, сгенерированных файлов и других ненужных элементов.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😵‍💫 В Go-тестах помечайте хелпер-функции вроде assertEquals и doRequest с помощью t.Helper()

Это заставляет тулчейн Go указывать на строку, где была вызвана функция, а не на строку внутри самой хелпера, что упрощает отладку упавших тестов

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👣 Middle Golang Developer в компанию Sisoft

Техническое собеседование. Лето 2024. Вилка: 200к+. Опыт в резюме: 3+ года. Много говорили о базах данных, REST и т.д.

Вопросы:
- Как обеспечить безопасность данных при передаче через АРІ (HTTPS, шифрование, JWT)?
- Какие альтернативные технологии клиент-серверного взаимодействия вы знаете (gRPC, GraphQL)?
- Чем сокеты отличаются от брокеров сообщений (например, Kafka)?
- Что такое сокеты?

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

#собес #коллекции
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #golang
🤔 В чем преимущество Go перед другими языками?

💬 Кратко:
Go - это простой и эффективный язык, разработанный для высокой производительности и конкурентности. Он поддерживает автоматическую сборку мусора, упрощает многопоточное программирование благодаря горутинам и каналам, а также имеет минималистичный и понятный синтаксис.

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

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

В этой статье процесс реализации VM на Go, которая работает с компилированным байткодом и обрабатывает базовые арифметические операции
Читать

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