golang_interview | Unsorted

Telegram-канал golang_interview - Golang вопросы собеседований

14942

@notxxx1 - админ @Golang_google - Golang для разработчиков @itchannels_telegram - 🔥лучшие из ит @golangl - chat @golangtests - golang tests @golang_jobsgo - go chat jobs @ai_machinelearning_big_data - AI @data_analysis_ml РКН: clck.ru/3FmtKd

Subscribe to a channel

Golang вопросы собеседований

👣 Andurel - Rails-подобный фреймворк для Go

Если вам нравится скорость разработки в Rails, но вы хотите производительность и надёжность Go — стоит посмотреть на Andurel.

Главная идея:
минимум бойлерплейта — максимум скорости разработки.

Что даёт Andurel

Мгновенный CRUD
- Генерация полноценного ресурса одной командой
- Готовый backend, формы и логика
- Код остаётся вашим — можно свободно менять и расширять

Live Reload
- Горячая перезагрузка Go, шаблонов и CSS
- Быстрый цикл разработки без ручных перезапусков

Типобезопасность на всех уровнях
- SQLC — безопасный SQL
- Templ — типобезопасные HTML-шаблоны
- Go — вся бизнес-логика

Batteries Included
Встроено из коробки:
- Echo (HTTP)
- фоновые задачи
- сессии и аутентификация
- CSRF-защита
- email
- telemetry
- опционально: Docker, workflows, AWS SES

PostgreSQL-first
- pgx драйвер
- River для очередей
- UUID support

Философия

Сгенерировать всё один раз → дальше код полностью под вашим контролем.
Никакой магии, которая ломает архитектуру позже.

Почему это интересно

Тренд Go-экосистемы сейчас —
меньше фреймворков, больше генерации и типобезопасности.

Andurel даёт опыт уровня Rails,
но с производительностью и простотой Go.
#golang

https://github.com/mbvlabs/andurel

🚀Max

Читать полностью…

Golang вопросы собеседований

👣 Go 1.26 - что нового в релизе

Вышел Go 1.26 - обновление, которое делает язык быстрее, стабильнее и удобнее для разработки продакшен-сервисов.

Вот ключевые изменения.

Производительность и компилятор
- Улучшена оптимизация компилятора — меньше аллокаций и быстрее выполнение
- Снижение времени сборки для крупных проектов
- Более эффективная работа с generics и inline-функциями

Runtime
- Улучшения в работе garbage collector — ниже паузы и лучшее использование памяти
- Оптимизация планировщика горутин
- Более стабильная работа под высокой нагрузкой

Стандартная библиотека
- Расширения и улучшения в net/http для более эффективной работы серверов
- Обновления криптографии и безопасности
- Улучшения в работе с файловой системой и сетью

Инструменты разработчика
- Улучшения в go vet — больше проверок потенциальных ошибок
- Улучшения диагностики компилятора и сообщений об ошибках
- Более стабильная работа go test и профилирования

Почему это важно

Каждый релиз Go делает фокус на:
- стабильности в продакшене
- предсказуемой производительности
- улучшении DX без усложнения языка

Go 1.26 — это не про новые «фичи», а про то, чтобы ваш код работал быстрее и надёжнее без изменений.

Документация: https://go.dev/doc/go1.26
Видео: https://www.youtube.com/watch?v=59_vyLcwh3g

Читать полностью…

Golang вопросы собеседований

🔥 Нашёл интересный проект: go-openexr - чистая реализация формата OpenEXR на Go.

OpenEXR - это high dynamic range (HDR) формат, который используют в:
- VFX / кино-пайплайнах
- 3D-рендере
- профессиональной графике
- сценах, где важны точные значения яркости (не просто 8-bit RGB)

Что важно:
✅ pure Go (без C-биндингов)
✅ можно читать/писать OpenEXR прямо в Go-проектах
✅ удобно для серверных пайплайнов, рендера, обработки изображений и ML-датасетов

Если работаешь с графикой, рендером, генерацией данных или компьютерным зрением на Go - мастхев.

GitHub: github.com/mrjoshuak/go-openexr

#golang #OpenEXR #HDR #ImageProcessing

Читать полностью…

Golang вопросы собеседований

📌 GitHub: gocronx-team / gocron — планировщик задач для Go

Если ты пишешь на Go и тебе нужно запускать фоновые задачи по расписанию - этот проект стоит добавить в закладки.

gocron - это лёгкий и удобный планировщик задач, встроенный прямо в приложение. По сути, это программный аналог cron, но без внешних конфигов и системных настроек.

🚀 Что умеет

- Запуск задач каждые N секунд / минут / часов
- Планирование на конкретное время
- Работа внутри Go-приложения
- Подходит для сервисов, ботов, API, микросервисов
- Простая интеграция без тяжёлых зависимостей

⚡ Почему лучше обычного cron

- Управляется кодом
- Не зависит от ОС
- Работает внутри контейнеров без лишней настройки
- Легко масштабируется вместе с сервисом

Идеальный инструмент, когда нужно, чтобы приложение само управляло своим расписанием, а не полагалось на системный cron.

🔗 github.com/gocronx-team/gocron

Читать полностью…

Golang вопросы собеседований

⚡️ Чек-лист для запуска 1000 задач с использованием пула воркеров в Go.

Сохрани себе: Чтобы запустить 1000 задач параллельно в Go, тротлинг и использование пула воркеров - ключ к сохранению ресурсов сервера. Применяй следующий пример с использованием канала и горутин.



package main
import (
"fmt"
"sync"
)
func worker(id int, wg *sync.WaitGroup) {
defer wg.Done()
fmt.Printf("Worker %d is processing\n", id)
}
func main() {
const numWorkers = 100
const numTasks = 1000
var wg sync.WaitGroup
taskChan := make(chan struct{}, numWorkers)
for i := 0; i < numTasks; i++ {
taskChan <- struct{}{} // Добавляем задачу в канал

Читать полностью…

Golang вопросы собеседований

🔍 Coroot — принципиально новый подход к мониторингу приложений. Этот open-source инструмент использует eBPF для автоматического сбора метрик, логов и трейсов без необходимости ручной интеграции. Он не просто собирает данные, а превращает их в готовые инсайты.

Инструмент обладает встроенной аналитикой. Система автоматически строит карту сервисов, выявляет аномалии и даже отслеживает SLO. При этом не нужно настраивать сложные дашборды — достаточно развернуть контейнер в Kubernetes или через Docker.

🤖 GitHub

Читать полностью…

Golang вопросы собеседований

💡 Portmaster: бесплатный open-source фаервол, который берет на себя всю тяжелую работу по защите сети.

Он помогает вернуть контроль над соединениями приложений и восстановить приватность — видно, кто и куда стучится, и можно быстро всё заблокировать.

Что умеет Portmaster:
• перехватывает весь сетевой трафик
• блокирует трекеры и нежелательные подключения
• позволяет настраивать правила для каждого приложения
• работает локально, без «облака»

Отличный вариант, если хочешь прозрачности в сетевых запросах и меньше лишней телеметрии.

GitHub: https://github.com/safing/portmaster

Читать полностью…

Golang вопросы собеседований

🔍 Понимание процессов с witr

witr помогает выяснить, почему процессы или службы работают на вашем компьютере. Он предоставляет ясное объяснение причин существования процессов, связывая их с их источниками и контекстом. Это упрощает отладку и понимание системных процессов без необходимости использования нескольких инструментов.

🚀 Основные моменты:
- Объясняет, почему процесс существует
- Упрощает диагностику и отладку
- Поддерживает анализ по имени, PID и порту
- Выводит данные в удобочитаемом формате
- Безопасен и не требует конфигурации

📌 GitHub: https://github.com/pranshuparmar/witr

Читать полностью…

Golang вопросы собеседований

🚀 Фреймворк для разработки LLM-приложений на Go

Eino — это мощный фреймворк для создания приложений на основе LLM, вдохновленный лучшими практиками из сообщества. Он предлагает простоту, масштабируемость и надежность, а также множество компонентов и инструментов для упрощения разработки.

🚀 Основные моменты:
- Удобные абстракции и реализации компонентов для LLM-приложений.
- Система компоновки с поддержкой строгой типизации и управления потоками.
- Четкие и простые API для разработчиков.
- Набор лучших практик и примеров использования.
- Инструменты для визуализации и отладки на всех этапах разработки.

📌 GitHub: https://github.com/cloudwego/eino

#go

Читать полностью…

Golang вопросы собеседований

📦 Go Size Analyzer - разложит по полочкам, что именно раздувает твой Go-бинарник

Если ты собираешь проект и видишь: “почему бинарь 80MB?! 😡”

Go Size Analyzer инструмент покажет *в точности*, что занимает место внутри compiled binary.

Что умеет:
🔎 Visibility - видно, какие зависимости и пакеты реально раздувают размер
🛠 Optimization - помогает понять, что можно выкинуть/заменить, чтобы сжать бинарь
📊 Comparison - diff-режим: сравнивай размер между сборками и версиями
🧩 Multiple interfaces - есть CLI, TUI, Web UI и даже браузерная WASM-версия
🎯 Actionable insights - проваливайся от пакетов → секций → до конкретных символов

Полезно, если:
- хочешь минифицировать Docker-образ
- делаешь CLI/tooling
- оптимизируешь cold start и деплой

GitHub: https://github.com/Zxilly/go-size-analyzer

Читать полностью…

Golang вопросы собеседований

🖥 GophrQL - GraphQL toolkit for Go

Что это:
GophrQL — это простая и мощная библиотека на Go, которая помогает строить GraphQL API быстро и с минимальной болью. Она стремится быть легковесной, понятной и удобной для разработчиков, работающих с Go + GraphQL.

Основные фишки:
- Чистый Go-фэйс для описания схемы и резолверов
- Минимум магии и зависимостей
- Явная интеграция с Go-типами
- Хорошо подходит для микросервисов и сервисов с высокими требованиями к производительности

Почему это полезно:
Если вы пишете API на Go и хотите GraphQL без тяжеловесных фреймворков, GophrQL даёт:
✔️ строгую типизацию
✔️ контроль над схемой
✔️ простую и понятную структуру кода
✔️ меньше boilerplate-кода по сравнению с другими Go GraphQL решениями

Кому подойдёт:
- Go-разработчикам, которым нужен GraphQL API
- Командам, ищущим лёгкую альтернативу тяжёлым GraphQL-фреймворкам
- Проектам, где важна производительность и явное управление схемой

🔗 Репозиторий: github.com/maxpert/gophrql

Читать полностью…

Golang вопросы собеседований

👣 Практичный, код-ориентированный гайд по изучению HTTP-фреймворков в Go.

Без теории ради теории — только реальные примеры, сравнение подходов и работающий код.
Отлично подходит, чтобы понять, чем на самом деле отличаются Go-фреймворки и что происходит под капотом.

Полезно и новичкам, и тем, кто хочет глубже разобраться в экосистеме Go.

#golang
https://github.com/go-mizu/go-fw

Читать полностью…

Golang вопросы собеседований

🖥 usql - универсальный SQL-клиент для работы с любыми базами данных

usql — это интерактивный SQL-клиент, который объединяет работу с разными СУБД в одном инструменте. По ощущениям он похож на psql, но поддерживает сразу множество баз данных и не привязывает тебя к одному движку.

Главная идея usql — один клиент для всех SQL-баз.

Что умеет usql:

- Подключение к PostgreSQL, MySQL, SQLite, MSSQL, Oracle, ClickHouse, CockroachDB, MariaDB и другим СУБД
- Единый интерфейс и одинаковые команды для разных движков
- Интерактивный режим с историей команд и автодополнением
- Удобный табличный вывод результатов
- Запуск SQL-скриптов из файлов
- Гибкая настройка цветов, форматов и pager’а

Почему это удобно:

- Не нужно держать десяток разных клиентов
- Не нужно переключать мышление между psql, mysql и sqlcmd
- Один привычный REPL для аналитики и администрирования
- Отлично подходит для работы сразу с несколькими базами

Кому особенно полезен usql:
- backend-разработчикам
- аналитикам данных
- DevOps-инженерам
- всем, кто регулярно работает с разными СУБД

Если ты живёшь в терминале и часто общаешься с SQL-базами, usql быстро становится инструментом по умолчанию.

github.com/xo/usql/

Читать полностью…

Golang вопросы собеседований

🖥 На Stepik вышел курс, который учит работать с Docker на реальных проектах.

Владение Docker - навык, который отличает новичка от профи,

Сегодня почти всё разворачивается в контейнерах.

Если ты не умеешь работать с Docker, ты медленнее, зависим от чужих настроек и постоянно ловишь баги «у меня локально работает».

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

Только практика и реальные кейсы от авторов Docker Академии- с нуля до уверенного уровня.

🎁 Скидка 40 процентов действует 48 часов


👉 Записывайся и сделай Docker своим настоящим рабочим инструментом.

Читать полностью…

Golang вопросы собеседований

👣 go-mysql-server от DoltHub - MySQL-совместимый SQL-движок на Go

go-mysql-server - это embeddable SQL-движок, написанный на Go, который реализует протокол MySQL и позволяет выполнять SQL-запросы поверх кастомных источников данных.

Проще говоря: ты получаешь MySQL-совместимый сервер, но сам решаешь, откуда берутся данные и как они хранятся.

Что умеет go-mysql-server:
- Полная поддержка MySQL-протокола
- SELECT, JOIN, GROUP BY, subquery, CTE
- Индексы, транзакции (через движок хранения)
- Пользовательские таблицы и схемы
- Возможность подключаться обычными MySQL-клиентами

Главная фишка:
Ты можешь подключить SQL поверх чего угодно:
- in-memory структур
- файлов
- API
- event-стримов
- git-подобных хранилищ (как в Dolt)
- собственных data-engine’ов

Типичные use-cases:
- SQL-интерфейс для внутренних сервисов
- Аналитика поверх нестандартных данных
- Feature-store или metadata-store
- Встраиваемые базы в Go-приложениях
- Прокси и трансформации SQL-запросов
- Тестирование и симуляция БД

Почему это интересно:
- Не нужно поднимать полноценную БД
- SQL как универсальный интерфейс
- Полный контроль над execution engine
- Отлично подходит для data-infra и backend-сервисов

Связь с Dolt:
go-mysql-server — основа DoltDB, git-подобной SQL-базы данных. Весь опыт DoltHub по SQL-движкам и версиям данных лежит здесь.

Если ты работаешь с Go, data-platforms или хочешь дать SQL-доступ к нестандартным данным - это один из самых мощных инструментов в экосистеме.

http://github.com/dolthub/go-mysql-server

Читать полностью…

Golang вопросы собеседований

👻 gh-ost - инструмент для миграций схемы MySQL без даунтайма.

Если тебе надо сделать ALTER TABLE на большой продовой таблице и не положить сервис - gh-ost это прям must-have.

Большинство online-schema-change тулов используют триггеры и создают лишнюю нагрузку.
А gh-ost идёт по другому пути:

✅ Triggerless - вообще без триггеров
✅ Читает изменения через binlog stream и асинхронно применяет их к “ghost table”
✅ Даёт полный контроль над процессом миграции:
- пауза/резюм
- throttle (снижение нагрузки)
- аудит и статус
- безопасный cut-over

Как это работает (по-простому):
1) создаётся “ghost table” с новой схемой
2) данные копируются постепенно
3) параллельно изменения ловятся из binlog
4) в конце таблицы меняются местами почти мгновенно

Идеально для:
🔥 таблиц на десятки миллионов строк
🔥 production-систем
🔥 миграций без блокировок

📌 Репо: github.com/github/gh-ost

Читать полностью…

Golang вопросы собеседований

👣 Snitch - это “человеческий ss/netstat” 🐀

Если ты когда-либо открывал ss -tulpn и думал: “что за каша?” — вот решение.

Snitch показывает сетевые соединения нормальным, читаемым видом:
- таблица в терминале
- интерактивный TUI-интерфейс
- быстрый просмотр: кто куда подключён и на каких портах

По сути — это ss/netstat, но сделанный для людей, а не для страданий.

Установка:


go install github.com/karol-broda/snitch@latest


📌 GitHub: github.com/karol-broda/snitch

Читать полностью…

Golang вопросы собеседований

🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас.👇

🖥 ИИ: t.me/ai_machinelearning_big_data

🖥 Python: t.me/pythonl

🖥 Linux: t.me/linuxacademiya

🖥 C++ t.me/cpluspluc

🖥 Docker: t.me/DevopsDocker

🖥 Хакинг: t.me/linuxkalii

🖥 Devops: t.me/DevOPSitsec

👣 Golang: t.me/Golang_google

🖥 Аналитика: t.me/data_analysis_ml

🖥 Javascript: t.me/javascriptv

🖥 C#: t.me/csharp_ci

🖥 Java: t.me/javatg

🖥 Базы данных: t.me/sqlhub

👣 Rust: t.me/rust_code

🤖 Технологии: t.me/vistehno

💰 Экономика и инвестиции в ИИ t.me/financeStable

💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi

🖥 Chatgpt бот в тг: t.me/Chatgpturbobot

📚 Бесплатные ит-книги: /channel/addlist/HwywK4fErd8wYzQy

🖥Подборка по Golang: /channel/addlist/MUtJEeJSxeY2YTFi

⚡️ Лучшие ИИ ресурсы: /channel/addlist/2Ls-snqEeytkMDgy

Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.

Читать полностью…

Golang вопросы собеседований

🔥 Go HTTP Connection Pools - то, что ломает производительность «тихонько»

Очень многие пишут HTTP-клиенты в Go так, будто каждый запрос - независимый.
А потом удивляются:
- почему нагрузка растёт
- почему latency прыгает
- почему CPU уходит в космос
- почему сервис «умирает» на большом количестве запросов

Причина часто одна - пул соединений и то, как Go реально переиспользует TCP/TLS.

Ключевая мысль:
✅ http.Client в Go - должен быть долгоживущим
❌ создавать http.Client{} на каждый запрос - почти всегда ошибка

Почему это важно:
- TCP соединения переиспользуются через keep-alive
- TLS рукопожатие дорогое (особенно при высокой частоте запросов)
- пул соединений живёт внутри Transport
- если вы постоянно создаёте новые Transport`/`Client - вы постоянно пересоздаёте пул

Что стоит запомнить:
- один `http.Client` на сервис
- настраивайте Transport под нагрузку
- следите за MaxIdleConns, MaxIdleConnsPerHost, IdleConnTimeout
- таймауты - обязательны (иначе получите вечные зависания)

Если ваш сервис ходит в другие сервисы - connection pool это не «оптимизация», а база.

Источник: davidbacisin.com/writing/golang-http-connection-pools-1

Читать полностью…

Golang вопросы собеседований

👣 Websocket

Если начинаешь новый проект на Go, стоит смотреть в сторону этой либо.

Почему это хорошее решение сейчас:

- чистый и современный API
- минималистичная и идиоматичная библиотека
- активно поддерживается
- быстрее аналогов в реальных нагрузках

Главное отличие по производительности - zero-alloc чтение и запись.
У gorilla/websocket есть накладные аллокации, которые складываются при высоких RPS.

go get github.com/coder/websocket

Итого: меньше кода, проще поддерживать, выше скорость - отличный вариант для новых сервисов.

github.com/coder/websocket

Читать полностью…

Golang вопросы собеседований

🚀 Фреймворк для разработки LLM-приложений на Go

Eino - это мощный фреймворк для создания приложений на основе LLM, вдохновленный лучшими практиками из сообщества. Он предлагает простоту, масштабируемость и надежность, а также множество компонентов и инструментов для упрощения разработки.

🚀 Основные моменты:
- Удобные абстракции и реализации компонентов для LLM-приложений.
- Система компоновки с поддержкой строгой типизации и управления потоками.
- Четкие и простые API для разработчиков.
- Набор лучших практик и примеров использования.
- Инструменты для визуализации и отладки на всех этапах разработки.

📌 GitHub: https://github.com/cloudwego/eino

#go

Читать полностью…

Golang вопросы собеседований

👣 Chitosocket: сверхлёгкая библиотека WebSockets для Go

Проект предлагает простую и быструую реализацию WebSocket-соединений с поддержкой *room systems* — как в чатах или игровых серверах.

#golang

https://github.com/sairash/chitosocket

Читать полностью…

Golang вопросы собеседований

👣 Generics-first HTTP клиент для Go

httpx - это тонкая обертка над стандартным net/http, сделанная с упором на generics.

Идея простая:
- сохранить всю мощь и escape hatches обычного http.Client
- но сделать 90% повседневных запросов максимально простыми и типобезопасными

Что дает httpx
- типизированные запросы и ответы через generics
- минимум бойлерплейта для обычных GET/POST
- при необходимости — полный доступ к низкоуровневому API
- не прячет net/http, а аккуратно его расширяет

Подходит когда:
- надо быстро писать HTTP-код без ручного json.Unmarshal
- важна типобезопасность
- не хочется тяжелых фреймворков

Хороший пример того, как generics в Go можно использовать по делу, а не ради абстракций.

https://github.com/goforj/httpx

Читать полностью…

Golang вопросы собеседований

👣 go-size-analyzer

Инструмент для анализа размера зависимостей в скомпилированных бинарных файлах
Go.

• Github

@golang_interview

Читать полностью…

Golang вопросы собеседований

> Сlaude code написал 100% нового Claude COWORK от Anthropic за полторы недели
> GPT-5.2 собрал браузер с нуля за одну неделю

Сдвиг уже ощущается в ежедневной работе программиста.


Роль разработчика меняется:
- меньше “писать каждую строку руками”
- больше “направлять ИИ, проверять результат и отвечать за качество”.

По сути, ценность постепенно смещается в:
- постановку задачи и архитектуру
- грамотные требования
- ревью, тесты, безопасность
- понимание системы целиком

Код пишет ИИ.
Разработчик отвечает за то, чтобы это работало правильно.

Читать полностью…

Golang вопросы собеседований

💼 ru-test-assignments - большая база реальных тестовых заданий от IT-компаний

ru-test-assignments - это открытая коллекция настоящих тестовых заданий, которые кандидаты получали на собеседованиях в российских IT-компаниях.

Без абстрактных задач «в вакууме» только то, что реально спрашивают.

Что внутри 👇

• Сотни заданий по направлениям:
Frontend, Backend, QA, Android, iOS, Data Science, DevOps
• Компании из топа рынка:
Avito, Яндекс, Тинькофф, Сбер, Ozon, VK и другие
• Разные языки и стеки:
Python, JavaScript, Go, Java, PHP, Ruby, C#
• Готовые задания можно прикреплять в портфолио (например, через Hexlet CV)

Почему это полезно:

- понимаешь реальные требования рынка
- тренируешься на задачах уровня интервью
- закрываешь пробелы в стеке
- усиливаешь портфолио без выдуманных кейсов

Отличный ресурс для подготовки к собеседованиям и оценки своего уровня.

https://github.com/Hexlet/ru-test-assignments

Читать полностью…

Golang вопросы собеседований

👣 Go 1.26: `fmt.Errorf` больше не «тормозит»

В Go 1.26 много крупных оптимизаций,
но одна из самых приятных — маленькая и очень практичная:

ускорили `fmt.Errorf`.

Раньше:

- errors.New("x") и fmt.Errorf("x") создавали один и тот же тип ошибки
- но fmt.Errorf был в 3 раза медленнее

Разработчики Go устали слушать «`fmt.Errorf` медленный»
и сделали быстрый путь: если форматирования нет, код просто вызывает errors.New (см. на скрине).

Теперь:

- fmt.Errorf("x") — одна аллокация
- всего ~20% медленнее: 25ns vs 21ns
- можно спокойно использовать fmt.Errorf «по умолчанию»

Мелочь, но приятно. ✔

https://go-review.googlesource.com/c/go/+/708836

Читать полностью…

Golang вопросы собеседований

👣 Failsafe-go: как сделать Go-приложения устойчивыми к сбоям

Failsafe-go - это библиотека, которая помогает строить надежные и отказоустойчивые приложения на Go.

Идея простая: вы «оборачиваете» функции и библиотека сама решает, как реагировать на ошибки, перегрузку и тайм-ауты.

Политики можно комбинировать и гибко настраивать.

Обработка ошибок включает:
Retry - повторяет запрос, если сбой временный
Fallback - возвращает дефектный результат, если всё сломалось

Сервисы с Failsafe-go меньше ломаются, быстрее восстанавливаются и ведут себя предсказуемо даже под нагрузкой и при сбоях внешних систем.

https://github.com/failsafe-go/failsafe-go

Читать полностью…

Golang вопросы собеседований

✔️ Acontext- контекст как инфраструктура для AI-приложений

Acontext - это open-source проект, который решает одну из самых болезненных проблем AI-систем: управление контекстом, памятью и состоянием между запросами.

Проект создан командой MemoDB и нацелен на разработчиков, которые строят:
- LLM-приложения
- агентные системы
- RAG-пайплайны
- long-running AI-процессы

Что делает Acontext:

- Выносит контекст из prompt’ов в отдельный слой
- Даёт структурированную «память» вместо хаотичного текста
- Позволяет хранить, обновлять и переиспользовать контекст между вызовами модели
- Упрощает построение stateful AI-приложений
- Снижает токен-оверход и стоимость inference

Ключевая идея:
контекст — это не строка, а управляемый объект.

Почему это важно:
- prompt’ы перестают разрастаться
- поведение модели становится стабильнее
- проще отлаживать и масштабировать систему
- легче добавлять новые источники знаний

Acontext особенно полезен для:
- AI-агентов
- чатов с памятью
- multi-step reasoning
- инструментальных LLM-пайплайнов

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

Репозиторий:
https://github.com/memodb-io/Acontext

Читать полностью…

Golang вопросы собеседований

⚡️ Как AWS реально управляет VPC

AWS VPC - это твоя собственная изолированная сеть в облаке.

Она работает как мини-датацентр, только без физического железа: AWS сам занимается маршрутизацией, безопасностью и масштабированием.

Изоляция VPC
→ Каждый VPC полностью отделён от других.
→ Ты задаёшь свой CIDR-диапазон.
→ Доступ извне возможен только если ты сам его откроешь.

Подсети: публичные и приватные
→ VPC разбивается на субсети в разных зонах (AZ).
→ Публичные субсети выходят в интернет через Internet Gateway.
→ Приватные — через NAT Gateway (только исходящий трафик, без входящего).
→ AWS следит за отказоустойчивостью между зонами.

Как двигается трафик
→ За маршруты отвечают Route Tables.
→ Ты прописываешь правила: интернет, peering, Transit Gateway, VPN и т.д.
→ AWS управляет всей реальной сетевой инфраструктурой — ты только настраиваешь логику.

Защита сети
→ AWS использует две прослойки:
— Security Groups — правила на уровне конкретного ресурса (EC2, RDS и т.д.).
— Network ACLs — фильтрация пакетов на уровне подсети.
→ Все правила строго применяются через виртуализованную сеть AWS.

Внешние подключения
→ Для доступа наружу AWS предлагает:
— Internet Gateway (двусторонний интернет)
— NAT Gateway (доступ из приватных подсетей)
— Egress-Only IGW (только исходящий IPv6)
→ Всё автоматически масштабируется под нагрузку.

Гибридные сети
→ Можно связать VPC с офисом/датацентром:
— Site-to-Site VPN (через интернет)
— Direct Connect (частная линия до 100 Gbps)
→ AWS обеспечивает резервирование каналов для отказоустойчивости.

Общение между сетями
→ VPC Peering — приватный канал между двумя VPC.
→ Transit Gateway — центральный хаб для десятков сетей (VPC + on-prem).
→ AWS управляет маршрутизацией и пропускной способностью автоматически.

Мониторинг
→ VPC Flow Logs — кто куда ходил.
→ CloudWatch — метрики.
→ CloudTrail — кто менял сетевые настройки.
→ Полная прозрачность для аудита, безопасности и диагностики.

AWS делает сложную сетевую архитектуру «невидимой».
Ты управляешь логикой, правилами и доступами — AWS берёт на себя всё остальное.

Читать полностью…
Subscribe to a channel