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, их использование, преимущества и ограничения!

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

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

@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
👣 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