Golang вопросы собеседований
14.7K subscribers
750 photos
12 videos
1 file
545 links
@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
Download Telegram
🔥 Type-safe GORM с SQL-шаблонами и генерацией кода

GORM получил мощный апгрейд: CLI-инструмент, который генерирует type-safe модели, ассоциации и SQL-шаблоны. Теперь можно писать запросы к базе в Go без страха поймать ошибку в рантайме.

Что в комплекте
SQL templates — декларативные запросы прямо в .sql-файлах
Генерация типов и хелперов по схемам
First-class ассоциации (has-one, has-many, belongs-to)
Меньше boilerplate, больше гарантии на этапе компиляции

Почему это круто
- SQL остаётся «чистым» и понятным
- Go-код генерируется поверх реальной схемы
- Ошибка в запросе = ошибка компиляции, а не прод-падение
- Удобно для больших проектов и команд

Это тот случай, когда ORM перестаёт быть «магией», а становится прозрачным, предсказуемым и безопасным по типам.

Репозиторий:
https://github.com/go-gorm/cli

#golang #gorm #database #sql #backend #typedapi
🔥74🥰2
🚀 Удобная передача файлов с croc

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

🚀 Основные моменты:
- Передача файлов и папок с шифрованием
- Поддержка Windows, Linux и Mac
- Возможность возобновления прерванных передач
- Использование прокси, включая Tor
- IPv6 с поддержкой IPv4

📌 GitHub: https://github.com/schollz/croc

#go
👍9🔥32😁1
🔒 OpenPCC: Приватные AI-инференсы

OpenPCC — это открытая платформа для безопасного запуска AI-моделей, обеспечивающая конфиденциальность данных. Она позволяет запускать модели без раскрытия запросов и результатов, используя шифрование и аппаратную аттестацию. Проект стремится стать стандартом в области приватности AI.

🚀 Основные моменты:
- Открытый и аудитируемый фреймворк для AI.
- Защита данных с помощью шифрования и анонимности.
- Поддержка пользовательских AI-моделей.
- Сообщество управляет развитием и стандартами.

📌 GitHub: https://github.com/openpcc/openpcc

#go
👍3🔥21
🖥  Работа со строками и рунами в Go — откройте внутреннюю механику языка

Как Go хранит текст? Почему одна буква может занимать четыре байта, а строки иногда «ломаются» при итерации? Эти мелочи отличают новичка от разработчика, который действительно понимает язык.

📆17 ноября в 20:00 МСК на открытом уроке разберём, как устроены строки и руны в Go, что происходит «под капотом» при работе с кодировками и как писать корректный, быстрый код для обработки текста. Вместе с преподавателем напишем живые примеры, разберём частые ошибки и объясним, как их избежать. 

➡️ Урок проходит в преддверие старта курса «Golang Developer. Basic». Все участники вебинара получат скидку на обучение: https://otus.pw/3U9s/?erid=2W5zFHbtZQt

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
😁1
Что выведет код
Anonymous Quiz
15%
[1, 2, 3]
15%
[3, 2, 1]
56%
[1, 3, 2]
14%
[2, 3, 1]
7🤣6
🔥 Подборка полезных ресурсов для программистов.

Здесь ты найдёшь всё это - коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!

AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Devops: t.me/DevOPSitsec
Собеседования DS: t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_1001_notes
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://t.me/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat

💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy
Папка Linux:https://t.me/addlist/w4Doot-XBG4xNzYy

😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy

Сохрани себе, чтобы не потерять!
2👍2🔥1
🚀 Нужен готовый набор утилит для облачных Go-сервисов?

Обрати внимание на репозиторий cloud-native-utils от Andy Geiss — это коллекция высокопроизводительных модульных инструментов для тестирования, обеспечения транзакционной консистенции, повышения эффективности, безопасности и стабильности облачных приложений на Go.
1
💡 Рекомендовано тем, кто строит облачные системы на Go и хочет быстрее запустить надёжную инфраструктуру.

https://github.com/andygeiss/cloud-native-utils
👍72
🔍Тестовое собеседование с Go TeamLead из американского FinTech в этот четверг

20 ноября(в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Go-разработчика.

Как это будет:
📂 Дмитрий Дорофеев, Go TeamLead в американском FitTech Truv Inc, ex-VK, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Дмитрий будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Дмитрию

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Go-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир →
@shortcut_go_bot

Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
Безопасные часовые пояса в Go благодаря типам

Matthew Halpern показал интересный подход к работе со временем в Go: библиотека Meridian делает часовой пояс частью *типа*. Это решает давнюю боль - потерю таймзоны при передаче time.Time между функциями, БД и сервисами.

Зачем это нужно: стандартный time.Time не хранит исходный часовой пояс. Из-за этого легко получить баги: некорректные дедлайны, неверные расчёты, ошибки в биллинге. Meridian решает проблему через generics:

Time[TZ] — это время, привязанное к конкретной зоне.
Например: et.Time (America/New_York), pt.Time (America/Los_Angeles), utc.Time и т.д.

Что это даёт:
- компилятор не позволит смешать ET и PT случайно
- подпись функции сама объясняет, в каком поясе она работает
- преобразования зон делаются явно: pt.FromMoment(etTime)
- внутреннее хранение остаётся в UTC, но тип всегда «знает», какая зона ему принадлежит

Операции между разными зонами запрещены — если нужно сравнение, используется общий интерфейс Moment с получением UTC().

Итог: Meridian превращает таймзоны из хаоса в строгую систему типов. Ошибки ловятся на этапе компиляции, а код становится самодокументируемым.

Источник: matthewhalpern.com/posts/golang-type-safe-timezones
👍121🌚1
👣 Как разработчик прошёл своё первое собеседование на Senior Backend (Go) благодаря Educative - история от третьего лица

Долгое время он был «уверенным мидлом».
Умел писать фичи, работал с Go, microservices, немного разбирался в распределённых системах.
Но каждый раз, когда он пытался выйти на senior-позицию, всё заканчивалось одинаково:

Он умел делать, но не умел объяснять.

- System design?
- Trade-off'ы?
- Архитектура распределённых систем?
- Конкурентность?
- Сетевые протоколы?

На собеседованиях он будто терял почву под ногами.
Знания были, но целостной картины - нет.

В какой-то момент он решил изменить ситуацию.
И вот путь, который реально сработал — и привёл его к первому офферу Senior Backend Engineer (Go).

Что стало переломным моментом

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


И именно там у него впервые сложилась цельная картина системной архитектуры.

Ниже - точная последовательность курсов, которые он прошёл.

1. Grokking the System Design Interview
Этот курс дал ему главное — структуру мыслей.

До: он уходил в детали и путался.
После: действовал по чёткому фреймворку:
1. Уточнение требований
2. Компоненты
3. Масштабирование
4. Trade-off’ы

В интервью ему особенно помогли примеры из курса:
- rate limiting
- sharding
- caching
- consistent hashing
- message queues
- fan-out patterns

Это был фундамент, который дал более половины успеха.

2. Grokking Modern System Design
Этот курс научил его думать как инженер распределённых систем.

Он разобрал:
- push vs pull модели
- когда выбирать gRPC или REST
- backpressure
- идемпотентные консьюмеры
- стратегии retry и DLQ
- eventual vs strong consistency

Для Go-разработчика это оказалось очень ценным.

3. System Design: Scalability & Distributed Systems Guide
Курс поднял его "архитектурный словарь" на новый уровень.

Он научился говорить как сеньор:
Не только *что* сделать, но *почему*.

Интервьюеры особенно впечатлялись фразами вроде:

> «Здесь нужен write-ahead log для гарантий durability.»
> «Это thundering herd, понадобится request coalescing.»

Именно такие ответы добавляют вес.

4. Concurrency in Go
Поскольку позиция была Go-ориентированной, ему нужно было подтянуть конкурентность.

Курс дал ему:
- worker pools
- пайплайны
- управление context
- каналы vs мьютексы
- deadlocks, races
- архитектуру rate limiters

На интервью ему встретился вопрос:
> «Спроектируй rate limiter в Go.»
Он ответил спокойно — потому что уже делал это в курсе.

5. Grokking the Behavioral Interview
Он думал, что поведенческие вопросы — вторичны.
Оказалось — нет.

Этот курс помог ему собрать истории про:
- конфликты
- провалы
- лидерство
- сложные решения
- ответственность
- коммуникацию

Он подготовил несколько универсальных историй и использовал их в разных компаниях.

Его стратегия подготовки

1) Один system design в день
Тренировал структуру, а не заучивал решения.

2) Один backend-топик в день
Например:
- circuit breaker
- sharding
- replication
- load balancing
- consensus

3) Go: конкуренция, профилирование, память
Углубление того, что отличает senior Go engineer.

4) Поведенческие ответы
Отточенные истории.

5) Мок-интервью
Чтобы снять стресс и уверенно излагать мысли.

На финальном интервью его попросили:
> «Спроектируй систему реальной-временной доставки событий (похожа на pub/sub).
> Нужны масштабируемость и надёжность.»

Несколько месяцев назад он бы провалился.
А теперь спокойно разобрал:
- partitions
- consumer groups
- горизонтальное масштабирование
- backpressure
- retry logic
- идемпотентность
- мониторинг

Итог

Он наконец выучил то, что обычно знают senior-инженеры:

- системное мышление
- понимание распределённых систем
- объяснение архитектурных решений
- trade-off’ы
- чёткая коммуникация

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

Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥21🤣1