Golang вопросы собеседований
13.5K subscribers
625 photos
3 videos
1 file
432 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
加入频道
👣 xgotext — это инструмент для извлечения переводимых строк из исходного кода Go-приложений!

🌟 Он создан для работы с библиотекой gotext, широко используемой в проектах, требующих интернационализации. xgotext автоматически сканирует код, находит вызовы функций для перевода (например, Get, GetD, GetN) и создает шаблонные файлы POT (Portable Object Template). Эти файлы можно использовать с инструментами gettext для дальнейшего перевода.

🌟 Инструмент поддерживает различные форматы строк, включая мультстроки, контексты и множественные формы, а также предоставляет возможность исключать из анализа определенные файлы или директории. Генерация шаблонов сопровождается указанием ссылок на исходный код, что упрощает работу с переводами.

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Интересный факт: Стандартная функция «maps.Equal» работает намного медленнее, чем «reflect.DeepEqual», когда оба аргумента представляют собой один и тот же map!

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Это - пошаговое руководство по созданию минималистичного, конкурентного, in-memory хранилища ключ-значение на языке Go!

🌟 Автор подробно описывает процесс разработки, начиная с инициализации проекта и установки необходимых зависимостей, таких как веб-фреймворк Fiber, и заканчивая реализацией основных операций CRUD (создание, чтение, обновление, удаление) с поддержкой TTL (Time-To-Live) для временного хранения данных.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 glog — это эффективная чистая Go-реализация многоуровневого логирования, аналогичная открытому C++ пакету glog!

🌟 Она предоставляет функции для логирования с различными уровнями серьезности, такими как Info, Warning, Error и Fatal, а также их форматированные варианты, например, Infof. Кроме того, glog поддерживает V-стиль логирования, который контролируется флагами командной строки -v и -vmodule.

🔐 Лицензия: Apache-2.0

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 go-errorlint — это линтер для Go, который помогает выявлять ошибки, связанные с новой системой обёртывания ошибок, введённой в Go 1.13!

🌟 Он проверяет корректность использования fmt.Errorf, корректность сравнений ошибок (==) и утверждений типов (err.(SomeErrorType)), помогая избежать проблем, которые могут возникнуть при работе с обёрнутыми ошибками. Это особенно полезно для разработчиков, стремящихся к лучшей обработке ошибок в своих проектах.

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 ApiRegressionCLI — это утилита командной строки, предназначенная для автоматического тестирования API на наличие потенциальных проблем!

🌟 Инструмент позволяет создавать и запускать наборы сценариев, состоящих из одного или нескольких API-запросов, с возможностью настройки последовательности выполнения и замены данных между запросами.

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 GitHub Resume Generator — это веб-приложение, позволяющее пользователям автоматически создавать профессиональные резюме, анализируя их активность и репозитории на GitHub!

🔎 Основные возможности:

🌟 Автоматическое создание резюме: приложение анализирует публичные данные профиля GitHub и генерирует на их основе резюме.​

🌟 Настраиваемые шаблоны: пользователи могут выбирать из различных шаблонов и тем для персонализации внешнего вида резюме.​

🌟 Экспорт в PDF: готовое резюме можно сохранить в формате PDF для удобного распространения.​

🌟 Обновление в реальном времени: резюме автоматически обновляется при внесении изменений в профиль GitHub.​

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 В этой статье рассказывается о построении Retrieval-Augmented Generation (RAG) приложения с использованием Go, Ent, Atlas и pgvector! Автор объясняет, как комбинировать эти технологии для создания эффективной системы поиска и генерации ответов на основе векторных представлений данных.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 DarwinKit — это Go-библиотека, предоставляющая доступ к нативным API macOS! С её помощью разработчики могут создавать полноценные приложения для macOS, используя язык Go.

💡 Библиотека поддерживает более 33 фреймворков, охватывая свыше 2 300 классов и предоставляя доступ к более чем 23 800 методам и свойствам. DarwinKit обеспечивает автоматическую конвертацию типов Go в соответствующие типы Objective-C, поддержку блоков (callbacks) и предоставляет готовые реализации делегатов для упрощения разработки. Кроме того, библиотека поддерживает как Intel, так и Apple Silicon архитектуры, что делает её универсальным инструментом для разработки под macOS.

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Rosetta Code — это вики-сайт, демонстрирующий решения одних и тех же задач на множестве языков программирования!

🌟 Категория "Programming Tasks" содержит перечень задач, которые могут быть решены с помощью программирования. Пользователи сайта поощряются к предоставлению решений этих задач на различных языках, чтобы показать, как одна и та же задача реализуется в разных языках программирования.

🌟 Эти задачи охватывают широкий спектр тем, от простых, таких как "Hello World", до сложных алгоритмических проблем. Цель состоит в том, чтобы продемонстрировать сходства и различия между языками, а также помочь программистам, знакомым с одним языком, понять подходы к решению на других языках. Пользователи могут добавлять свои решения на языках, которые еще не представлены, способствуя расширению базы знаний сообщества.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Эта статья рассказывает об улучшениях http.ServeMux в Go 1.22, который теперь может заменить сторонние маршрутизаторы, такие как gorilla/mux и httprouter!

🌟 В новой версии стандартного мультиплексора появились расширенные возможности сопоставления шаблонов маршрутов, включая поддержку параметров ({id}) и привязку HTTP-методов (GET /path/). Это упрощает обработку запросов, делая код более выразительным и удобным.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Эта статья объясняет, как создать систему обработки задач с использованием Redis и Go!

🌟 В статье описаны шаги по настройке очередей задач с помощью пакета asynq и планировщика задач с использованием cron. В статье также приводится пример кода для создания веб-сервера на Go, который обрабатывает запросы для добавления задач в очередь и их выполнение. Также рассматриваются вопросы обработки ошибок и завершения работы приложения.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣conc — это библиотека на языке Go, реализующая структурированную конкурентность для упрощения и повышения безопасности работы с параллельными процессами!

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

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 В этой статье обсуждается влияние использования функций panic и recover в Go на производительность и стиль кода!

🌟 В Go, вместо системы исключений, используются многозначные возвращаемые значения для обработки ошибок, что делает код более чистым и предсказуемым. Однако некоторые разработчики могут быть склонны злоупотреблять panic и recover для управления потоком, что приводит к снижению производительности. Автор демонстрирует, что использование panic и recover замедляет выполнение программы, приводит к дополнительным выделениям памяти и препятствует оптимизациям.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 В этой статье автор описывает процесс разработки масштабируемого распределённого чат-приложения, используя Golang для серверной части, React.js для фронтенда и Redis для управления сообщениями!

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
📊 Fx от Uber — удобный DI-фреймворк для Go-разработчиков, ставшая стандартом для сотен сервисов компании. Этот инструмент не просто избавляет от антипаттернов, но и меняет подход к организации кода: компоненты становятся модульными, а их интеграция — предсказуемой.

Вместо ручного управления инстансами fx предлагает декларативный подход. Для того, чтобы внедрить логгер, БД или кастомный клиент достаточно описать конструктор — фреймворк сам разберётся с жизненным циклом объектов. При этом Fx остаётся стабильным и лёгким для старта: интеграция через Go Modules занимает всего минуту.

🤖 GitHub

@golang_interview
👣 fortio — библиотека нагрузочного тестирования на Go...

...а также CLI, продвинутый эхо-сервер и веб-интерфейс.
fortio позволяет создавать заданную нагрузку и записывать гистограммы задержек и другие полезные статистические данные.

go install fortio.org/fortio@latest

Быстрый старт с Docker:

docker run -p 8080:8080 -p 8079:8079 fortio/fortio server &
docker run fortio/fortio load -logger-force-color http://www.google.com/


🔗 GitHub
🔗 Доки
Please open Telegram to view this post
VIEW IN TELEGRAM
🐿️ go-json - незаметный ускоритель JSON для Go. Библиотека предлагает глубокую оптимизацию под капотом, сохраняющая полную совместимость с родным пакетом.

Разрабы смогли реализовать в проекте виртуальную машину с системой opcode-инструкций. В результате скорость обработки JSON возросла в разы, а память используется так бережно, что даже reflect-вызовы перестают быть bottleneck.

🤖 GitHub

@golang_interview
Вакансия Golang-разработчика в Otello!

1️⃣ Разрабатываем сервис бронирования, где команда сама отвечает за архитектуру, консистентность данных и деплой.
2️⃣ Максимум ответственности и развитияТы сам проектируешь фичи, принимаешь решения и доводишь их до продакшена. У нас нет бюрократии и долгих согласований — есть автономные команды и возможность проявить лидерские качества.
3️⃣ Технологический стек, который радуетGo, PostgreSQL, Clickhouse, Kafka, Kubernetes, Prometheus, Grafana и многое другое. Пишем гексагональные REST-сервисы, разворачиваемся в четырех датацентрах. Любим архитектурные обсуждения, но технологии для нас — не самоцель, а инструмент.
4️⃣ Процесс, который не бесит. Работаем по Shape Up, поэтому без бесконечных таск-трекеров и бесцельных стендапов. Всегда задаем себе вопрос "Зачем?" и находим лучшие ответы на "Как?".
5️⃣ Классная команда и атмосфера. Мы ценим простые и эффективные решения, любим обсуждать архитектуру и масштабирование, а еще умеем работать динамично и с кайфом.
🔥 Если тебе близко —откликайся!
🗂️ Gomacro

Gomacro предлагает полноценный REPL-интерфейс, где можно экспериментировать с generics, тестировать идеи и даже использовать Go как скриптовый язык.

Инструмент поддерживает макросы в стиле Lisp и встроенный дебаггер, что редкость для Go-экосистемы. Хотя это интерпретатор, он умеет работать с внешними пакетами (на Linux/Mac) и может встраиваться в другие приложения как библиотека.

🤖 GitHub

@golang_interview