#Собес #networks
🤔 Назовите три метода аутентификации пользователя.
Три метода аутентификации - это биометрия (например, отпечаток пальца), токен (электронное устройство или карта) и пароль. Для повышения безопасности можно использовать двухфакторную аутентификацию, комбинируя два из этих методов.
👉 Новости 👉 База вопросов
Три метода аутентификации - это биометрия (например, отпечаток пальца), токен (электронное устройство или карта) и пароль. Для повышения безопасности можно использовать двухфакторную аутентификацию, комбинируя два из этих методов.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#полезное
🤓 Шифрование и дешифрование в Go: практическое руководство
https://dev.to/shrsv/encryption-and-decryption-in-go-a-hands-on-guide-3bcl
👉 Новости 👉 База вопросов
В этом руководстве мы подробно разберём, как работает шифрование и дешифрование в Go, на практике — с примерами кода, которые можно собрать и запустить. Мы охватим базовые темы: от симметричного до асимметричного шифрования, с понятными объяснениями и чистым кодом.
https://dev.to/shrsv/encryption-and-decryption-in-go-a-hands-on-guide-3bcl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
#полезное
😊 Простой загрузчик конфигураций для Go, который читает и отслеживает изменения из файла, переменных окружения, флагов командной строки и облачных провайдеров (AWS, Azure, GCP).
https://github.com/nil-go/konf
👉 Новости 👉 База вопросов
https://github.com/nil-go/konf
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#полезное
😇 Ты неправильно пишешь HTTP-обработчики
Большинство Go-разработчиков пишут обработчики, которые не возвращают ошибки (стандартный способ) — они просто логируют их или вызывают
Но гораздо чище давать обработчику возможность возвращать ошибку и обрабатывать её централизованно. Это делает код более удобным для тестирования, читаемым и сопровождаемым. Вот компактный способ, как это реализовать:
👉 Новости 👉 База вопросов
Большинство Go-разработчиков пишут обработчики, которые не возвращают ошибки (стандартный способ) — они просто логируют их или вызывают
http.Error
прямо внутри. Но гораздо чище давать обработчику возможность возвращать ошибку и обрабатывать её централизованно. Это делает код более удобным для тестирования, читаемым и сопровождаемым. Вот компактный способ, как это реализовать:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#Собес #networks
🤔 Что такое серверная ферма?
Серверная ферма - это группа серверов, объединённых для выполнения задач с высокой производительностью. Они используются для хостинга веб-сайтов, облачных сервисов и сложных вычислений.
👉 Новости 👉 База вопросов
Серверная ферма - это группа серверов, объединённых для выполнения задач с высокой производительностью. Они используются для хостинга веб-сайтов, облачных сервисов и сложных вычислений.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Красивая и функционально насыщенная библиотека командной строки для Go, которая упрощает создание эффектных терминальных приложений
https://github.com/alperdrsnn/clime
👉 Новости 👉 База вопросов
https://github.com/alperdrsnn/clime
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1🥰1
Техническое собеседование. Лето 2025. Вилка 290к+. Проект: мультисервисная платформа для работы с заказами и аналитикой в Ozon. Опыт в резюме — 3.5 года. Было много вопросов по конкурентности, работе с HTTP, базам данных, Kafka, паттерну Outbox, архитектуре и SQL.
Вопросы:
- Зачем нужно закрывать тело HTTP-ответа в Go?
- Что произойдёт, если не закрывать resp.Body в случае ошибки?
- Как запустить HTTP-запросы асинхронно в Go?
- Почему чаще используют небуферизированные каналы?
- Как реализовать worker pool в Go?
Все 15 вопросов можно посмотреть на нашей платформе
#собес
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
#Собес #kubernetes
🤔 Что такое service mesh в Kubernetes?
Service mesh - это инфраструктурный слой, который управляет сетевым взаимодействием сервисов в Kubernetes. Он добавляет такие функции, как маршрутизация трафика, балансировка нагрузки, безопасность и мониторинг, без необходимости изменения кода приложения.
👉 Новости 👉 База вопросов
Service mesh - это инфраструктурный слой, который управляет сетевым взаимодействием сервисов в Kubernetes. Он добавляет такие функции, как маршрутизация трафика, балансировка нагрузки, безопасность и мониторинг, без необходимости изменения кода приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
👨💻 powerline-go — минималистичная замена Powerline для Bash, Zsh и Fish, написанная на Go. Проект показывает статус Git/Mercurial, путь в сокращённом виде, виртуальные окружения Python/Ruby и даже время выполнения последней команды.
Инструмент имеет кастомизацию через флаги: можно менять тему, скрывать лишние сегменты или добавить правую часть промпта. Работает без зависимостей — достаточно скачать бинарник или собрать из исходников.
Гитхаб
👉 Новости 👉 База вопросов
Инструмент имеет кастомизацию через флаги: можно менять тему, скрывать лишние сегменты или добавить правую часть промпта. Работает без зависимостей — достаточно скачать бинарник или собрать из исходников.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#статьи
👋 Статья объясняет, что современные ОС и Go разделяют два типа времени: wall clock (реальное системное время, которое может синхронизироваться или скакать) и monotonic clock (монотонное время, которое только идёт вперёд и не подвержено корректировкам).
В Go
https://victoriametrics.com/blog/go-time-monotonic-wall-clock/
👉 Новости 👉 База вопросов
В Go
time.Now()
возвращает структуру time.Time
, содержащую оба значения, что позволяет правильно измерять интервалы и избегать багов, связанных с изменением системного времениhttps://victoriametrics.com/blog/go-time-monotonic-wall-clock/
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
❤️🔥 Использование конструктора запросов dbx в Go для гибких SQL-запросов
Если вам нужен лёгкий и гибкий конструктор запросов в Go без погружения в магию ORM, dbx — отличный выбор. Он позволяет писать SQL-подобные запросы с привязками
👉 Новости 👉 База вопросов
Если вам нужен лёгкий и гибкий конструктор запросов в Go без погружения в магию ORM, dbx — отличный выбор. Он позволяет писать SQL-подобные запросы с привязками
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#полезное
😘 Персональный, приватный аналог ngrok — но заточен специально для продакшн-использования и приватных сетей
https://github.com/SyneHQ/rabbit.go
👉 Новости 👉 База вопросов
https://github.com/SyneHQ/rabbit.go
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - SyneHQ/rabbit.go: Bidirectional TCP tunnel written in go
Bidirectional TCP tunnel written in go. Contribute to SyneHQ/rabbit.go development by creating an account on GitHub.
❤1
Подводные камни работы с каналами в Go
Каналы — одна из самых мощных фич Go, но именно с ними связано больше всего граблей. Разберём те, на которые чаще всего наступают даже опытные разработчики.
1. Deadlock из-за незакрытого канала
Закрывать канал — хороший тон, особенно если на нём кто-то ещё читает. Но если закрыть его дважды — получим панику.
Решение: Используйте sync.Once или продумывайте логику завершения.
2. Блокировка на пустом канале
Отправка или чтение из nil-канала блокирует горутину навсегда:
Решение: Всегда инициализируйте каналы через make.
3. Утечки горутин из-за забытого закрытия
Если горутина читает из канала, а отправитель больше не планирует писать — она зависнет навсегда:
Решение: Чётко контролируйте жизненный цикл канала.
4. Небуферизированные каналы vs буферизированные
Небуферизированные каналы синхронны — отправитель ждёт получателя. Буферизированные позволяют "развязать" их, но могут маскировать проблемы.
Решение: Буфер — не всегда решение. Иногда лучше workerpool
5. Паника при отправке в закрытый канал
Попытка писать в закрытый канал вызывает панику:
Решение: Используйте defer close() и проверяйте статус канала через ok в select.
Вывод:
Каналы — это просто, пока не станет сложно. Главное:
✔️ Всегда закрывайте каналы (но только один раз)
✔️ Не работайте с nil-каналами
✔️ Следите за утечками горутин
✔️ Выбирайте правильный тип канала
Каналы — одна из самых мощных фич Go, но именно с ними связано больше всего граблей. Разберём те, на которые чаще всего наступают даже опытные разработчики.
1. Deadlock из-за незакрытого канала
Закрывать канал — хороший тон, особенно если на нём кто-то ещё читает. Но если закрыть его дважды — получим панику.
ch := make(chan int)
close(ch)
close(ch) // panic: close of closed channel
Решение: Используйте sync.Once или продумывайте логику завершения.
2. Блокировка на пустом канале
Отправка или чтение из nil-канала блокирует горутину навсегда:
var ch chan int // nil
ch <- 42 // вечная блокировка
Решение: Всегда инициализируйте каналы через make.
3. Утечки горутин из-за забытого закрытия
Если горутина читает из канала, а отправитель больше не планирует писать — она зависнет навсегда:
go func() {
for msg := range ch { // вечный цикл, если ch не закрыть
fmt.Println(msg)
}
}()
Решение: Чётко контролируйте жизненный цикл канала.
4. Небуферизированные каналы vs буферизированные
Небуферизированные каналы синхронны — отправитель ждёт получателя. Буферизированные позволяют "развязать" их, но могут маскировать проблемы.
ch := make(chan int, 100)
// Писатель быстро заполнит буфер и уйдёт,
// а читатель может не успеть обработать данные
Решение: Буфер — не всегда решение. Иногда лучше workerpool
5. Паника при отправке в закрытый канал
Попытка писать в закрытый канал вызывает панику:
ch := make(chan int)
close(ch)
ch <- 1 // panic: send on closed channel
Решение: Используйте defer close() и проверяйте статус канала через ok в select.
Вывод:
Каналы — это просто, пока не станет сложно. Главное:
✔️ Всегда закрывайте каналы (но только один раз)
✔️ Не работайте с nil-каналами
✔️ Следите за утечками горутин
✔️ Выбирайте правильный тип канала
❤4👍2🔥2
#Собес #kubernetes
🤔 Что такое Kubernetes Istio?
Istio - это service mesh, который управляет сетевым взаимодействием сервисов внутри Kubernetes. Он позволяет контролировать трафик, настраивать балансировку нагрузки, управлять безопасностью (аутентификацией и авторизацией) и обеспечивать мониторинг сетевых взаимодействий между микросервисами.
👉 Новости 👉 База вопросов
Istio - это service mesh, который управляет сетевым взаимодействием сервисов внутри Kubernetes. Он позволяет контролировать трафик, настраивать балансировку нагрузки, управлять безопасностью (аутентификацией и авторизацией) и обеспечивать мониторинг сетевых взаимодействий между микросервисами.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
❤1
#полезное
😎 Пакет
https://github.com/resend/resend-go
👉 Новости 👉 База вопросов
resend-go
предоставляет удобный способ отправки email-сообщений в Go-приложениях через Resend APIhttps://github.com/resend/resend-go
Please open Telegram to view this post
VIEW IN TELEGRAM
Техническое собеседование. Осень 2024. Вилка 150к+. Опыт в резюме: 3 года. Были вопросы про текущее место работы.
Вопросы:
- Что будет, если попытаться писать в закрытом канале?
- Что такое FULL VACUUM и зачем он применяется?
- Что такое транзакции в PostgreSQL?
- Что такое индекс в базе данных?
Все вопросы можно посмотреть на нашей платформе
#собес
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1🔥1🤔1
#полезное
😜 Реализация ротации логов в Go: особенности logrus, zap и slog
В большинстве существующих логирующих библиотек, включая стандартную библиотеку
В этой статье мы рассмотрим несколько популярных логгеров, таких как
Читать
👉 Новости 👉 База вопросов
В большинстве существующих логирующих библиотек, включая стандартную библиотеку
log/slog
из Go, обычно предусмотрена поддержка ротации и разделения лог-файлов. Однако эти возможности не идут «из коробки» — их необходимо явно настраивать.В этой статье мы рассмотрим несколько популярных логгеров, таких как
logrus
, zap
и официальную библиотеку slog
. Мы разберем ключевые архитектурные решения в этих библиотеках и обсудим, как именно они позволяют настраивать ротацию и разделение логовЧитать
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
#Собес #kubernetes
🤔 Что такое Custom Resource Definition (CRD) в Kubernetes?
💬 Кратко:
CRD - это способ добавить в Kubernetes новый тип ресурса, например
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
CRD - это способ добавить в Kubernetes новый тип ресурса, например
Database
ИЛИ Cache
, который будет управляться пользовательским контроллером.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
#полезное
🥄 Permitta — простая и понятная Go-библиотека для контроля доступа (permission management)
Что умеет:
- Управление правами CRUD‑операций (Create, Read, Update, Delete, Execute)
- Тайминг доступа: можно задать, когда права действуют (час/день/неделя и др.)
- Ограничения по квоте и пакетной обработке
- Контроль на уровне сущности: пользователь, роль, группа, организация
- Упорядочение проверки прав — от общего к частному
Почему удобно:
🔵 Логика интуитивна, но справляется с комплексными сценариями
🔵 Ясная структура — подойдёт и новичкам, и опытным разработчикам
🔵 Open-source (MIT), легко добавить в проект:
Github
👉 Новости 👉 База вопросов
Что умеет:
- Управление правами CRUD‑операций (Create, Read, Update, Delete, Execute)
- Тайминг доступа: можно задать, когда права действуют (час/день/неделя и др.)
- Ограничения по квоте и пакетной обработке
- Контроль на уровне сущности: пользователь, роль, группа, организация
- Упорядочение проверки прав — от общего к частному
Почему удобно:
go get -u github.com/limitlessDonald/permitta
Github
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1