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
加入频道
👣 Эта статья рассказывает о создании инструмента на Go для проверки доменов электронной почты!

💡 Автор объясняет, как определить, является ли домен корректным и имеет ли он необходимые DNS-записи, такие как MX (mail exchange), SPF (Sender Policy Framework) и DMARC (Domain-based Message Authentication). Эти проверки помогают оценить легитимность домена и его готовность для отправки и получения электронной почты.

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

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

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

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

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

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

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

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Сodenire Playground

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

Создана на основе образов Docker с надежной изоляцией, предоставляемой Google gVisor
#golang

Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 GoTTH — стек для быстрого создания полнофункционального веб-приложения на Go!

🌟 Он включает современные технологии, такие как HTMX для улучшения взаимодействия с пользователем, TailwindCSS для стилизации, Turso LibSQL (производственный вариант SQLite) для работы с базой данных, и Templ в качестве шаблонизатора.

💡 GoTTH ориентирован на простоту развертывания, предлагая поддержку Docker и встроенные инструменты, такие как live-reload с помощью air. Проект отлично подходит для быстрой разработки серверной и клиентской частей приложения, включая поддержку маршрутизации, баз данных и UI-компонентов, интегрированных с минимальными усилиями.

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 В этой статье автор делится опытом разработки безголового браузера на языке Go, предназначенного для тестирования веб-приложений с использованием HTMX!

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

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

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Эта статья посвящена интеграции OpenTelemetry в приложения на Go!

🌟 Автор объясняет, как OpenTelemetry, являясь открытым фреймворком для наблюдаемости, помогает собирать и экспортировать трассировки, метрики и логи из приложений, стандартизируя процесс сбора телеметрических данных и облегчая интеграцию с такими инструментами, как Grafana. В статье рассматриваются ключевые компоненты OpenTelemetry, включая провайдеры, ресурсы, экспортеры и коллекторы, а также их роль в сборе, обработке и отправке телеметрических данных во внешние системы.

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

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Эта статья посвящена созданию платформы для совместной работы в реальном времени с использованием Go и WebSockets!

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

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

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Приятное улучшение в Go 1.24:

Команда go build теперь устанавливает версию основного модуля (BuildInfo.Main.Version) в скомпилированном двоичном файле на основе тега или коммита системы контроля версий.

При наличии незафиксированных изменений добавляется суффикс +dirty.

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

💡 Оно добавляет возможность входа с использованием имени пользователя и пароля или через OAuth с такими провайдерами, как Google, GitHub, а также любыми другими, поддерживающими стандарт OAuth. Tinyauth разработан для интеграции с Traefik, но может быть расширен для работы с другими обратными прокси-серверами, такими как Caddy и Nginx.

🔐 Лицензия: GPL-3.0

🖥 Github

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

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

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

🖥 Github

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

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

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

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
⭐️ База ресурсов для поиска удаленно работа

•  Toptal — ИТ фриланс для разработчиков с опытом;
•  Wellfound — различные вакансии для стартапов и фрилансеров;
•  RemoteOK — база для разных профессий;
•  Remotive — удалёнка для айти и маркетинга;
•  Галилео.ру — для инженеров;
•  FlexJobs — для поиска подработок;
•  JustRemote — парт-тайм работа тут;
•  PowerToFly — для женщин в ИТ и бизнесе;
•  RemoteWoman — для женщин, ищущих удалёнку в разных областях;
•  AI Jobs — вакансии в сфере ИИ;
•  Working Nomads — для цифровых кочевников, вакансии в маркетинге и ИТ;
•  Simply Hired — поиск вакансий по всему миру;
•  Angel List — стартапы, удалёнка в технологиях и бизнесе;
•  Virtual Vocations — удалённые вакансии в разных сферах (администрация, маркетинг, ИТ);
•  Remote Work — общий сайт;
•  LinkedIn — ищем удалёнку среди обычных вакансий в профиле;
•  We Work Remotely — удалёнка для разработчиков, дизайнеров и маркетологов;
•  Jobspresso — качественные удалённые вакансии для профессионалов;
•  Jobgether — удалёнка в разных профессиях, от маркетинга до ИТ;
•  Fiverr — фриланс-платформа для самых разных краткосрочных проектов;
•  Daily Remote — база удалённых вакансий в ИТ, маркетинге и других сферах;
•  Crossover — высококачественная удалёнка для разработчиков и менеджеров;
•  Outsourcely — фриланс для разных профессий;
•  Upwork — крупнейшая платформа для фрилансеров, включает ВСЕ профессии;
•  Dribbble — для дизайнеров и креативщиков, в том числе удалённая работа;
•  Monster.com — вакансии по всему миру, в том числе удалённые;
•  Angel.co — стартапы, удалёнка в сфере технологий;
•  Otta — вакансии в стартапах, в том числе удалённые.

@golang_interview
👣 Эта статья описывает личный опыт автора в использовании больших языковых моделей для программирования на Go!

💡 Автор делится тем, как интеграция LLM в рабочий процесс улучшила продуктивность и стала неотъемлемой частью разработки. Рассматриваются три основные области применения: автодополнение, поиск информации и программирование с помощью чат-ботов. Особое внимание уделено тому, как LLMs помогают ускорить написание шаблонного кода, находить ответы на вопросы о технологиях и фреймворках, а также генерировать черновики программ для сложных задач.

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

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

🌟 В статье рассматриваются методы извлечения этого ID с использованием функций panic, runtime.Stack, а также через доступ на уровне ассемблера к структуре горутины. Автор также обсуждает практическое применение этой техники, например, создание локального хранилища для горутин (GLS), и приводит примеры кода, включая решения на чистом Go и с использованием ассемблера. Основная цель статьи — показать способы обхода ограничений Go и эффективное управление параллельностью.

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

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Эта статья описывает, как авторы столкнулись с трудностями в использовании FFmpeg для обработки аудио, включая создание плейлистов, наложение фоновой музыки, создание пауз и плавных переходов!

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

💡 Чтобы решить эти проблемы, авторы разработали библиотеку Podio для Go. Podio предоставляет упрощенный API для обработки аудио, позволяя легко выполнять операции, такие как конкатенация, наложение, создание пауз и управление громкостью. Благодаря этому они сократили сложность, уменьшили количество строк кода (на 335 строк) и улучшили производительность, перенаправляя тяжелую обработку в облако.

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

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 tparse — это инструмент командной строки, предназначенный для анализа и форматирования вывода команды go test!

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

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 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