Golang вопросы собеседований
14.6K subscribers
731 photos
12 videos
1 file
524 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
🔧 go-update-lens — библиотека на Go для обновления «линз» (lens) и реактивного патчинга данных в структурах

📌 Что умеет:
- Позволяет динамически изменять вложенные структуры без полной перезаписи
- Поддерживает создание “линз” - функциональный подход к фокусировке на части данных
- Работает “in-place”, минимизируя копирование и сохраняя производительность

🌟 Почему это полезно:
- Упрощает работу с вложенными структурами, когда нужно изменить лишь часть
- Особенно удобно в приложениях с состоянием и реактивными моделями
- Помогает избежать boilerplate-кода для обновления вложенных полей

🔗 Репозиторий: https://github.com/PatchLens/go-update-lens

#golang #architecture #library #data #update_ops
1
🖥 awesome-event-driven-architecture — коллекция ресурсов, инструментов и статей, посвящённых архитектуре, основанной на событиях (Event-Driven Architecture, EDA)!

🔐 Лицензия: CC0-1.0

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥21
👣 enum — мощная библиотека для работы с перечислениями в Go! Она предоставляет:

🌟 Бесшовные отображения перечислений и строк.

🌟 Константные перечисления, совместимые с соглашениями Go iota.

🌟 Встроенную сериализацию и десериализацию JSON/SQL.

🌟 Богатый набор утилит для улучшенной обработки перечислений.

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

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🥴11👍4🔥21🤔1
🕒 Go testing hack: synctest

Пакет synctest помогает управлять временем при тестировании конкурентных программ.

Вместо time.Sleep — простой API с одной функцией Wait(), которая синхронизирует выполнение и делает тесты надёжнее.

Итог: меньше случайных задержек, стабильные и быстрые тесты.

Автор сейчас пишет про это отдельную главу книги 📖
🔥72👍1
🚀 Мониторинг PostgreSQL с pgexporter

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

🚀 Основные моменты:
- Экспортер для Prometheus
- Поддержка JSON и удаленного управления
- Режим демона
- Безопасность через TLS v1.2+
- Использует нативный протокол PostgreSQL

📌 GitHub: https://github.com/pgexporter/pgexporter
3❤‍🔥3🥰1🤔1
🌥️ CasaOS - Ваш персональный облачный сервис

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

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

📌 GitHub: https://github.com/IceWhaleTech/CasaOS

#go
🔥51👍1
Покодим на Yandex Cup?

Открыта регистрация на Yandex Cup — чемпионат по программированию с призовым фондом 12 млн рублей и финалом в Стамбуле!
Участники смогут соревноваться за призы от 100 тысяч рублей и выход в финал, а ещё — пройти собеседование в Яндекс по упрощённой схеме.


Главное:
— регистрация открыта до 29 октября
— появится пробный тур
— финал в Стамбуле соберёт 180 лучших участников

Этапы Yandex Cup: 20–29 октября пройдёт пробный тур для знакомства с платформой и задачами. 2 ноября состоится квалификация, где будут определены 180 финалистов. Финал и церемония награждения пройдут офлайн 5–7 декабря в Стамбуле.

Регистрация и примеры задач на сайте:

Участвовать можно с 14 лет — в отдельном потоке для юниоров.
1👍1🥱1
🚀 Портфолио производительности от Ashton Six

Репозиторий демонстрирует более 10 лет опыта в разработке ПО с акцентом на высокопроизводительные вычисления (HPC). Включает проекты, такие как NEON Bytepack, который обеспечивает впечатляющую скорость обработки данных.

🚀 Основные моменты:
- Более 10 лет опыта в ПО и HPC
- Проект NEON Bytepack с высокой производительностью
- Ожидаются новые релизы

📌 GitHub: https://github.com/ashtonsix/perf-portfolio

#c
3👍2🔥2
🚀 Быстрая синхронизация для S3

S3Sync — это мощный инструмент для быстрой синхронизации файлов между S3 и локальной файловой системой. Поддерживает многопоточную загрузку и выгрузку, а также позволяет синхронизировать данные между несколькими источниками. Имеет гибкие фильтры и возможность ограничения по скорости.

🚀 Основные моменты:
- Многопоточная загрузка и выгрузка файлов
- Высокая скорость синхронизации (до 2000 объектов/сек)
- Гибкие фильтры по расширениям и метаданным
- Поддержка синхронизации между S3 и локальной файловой системой
- Статистика в реальном времени

📌 GitHub: https://github.com/larrabee/s3sync

#go
👍72
🗑 Сборщик мусора в Go — тема, которая кажется скучной, пока ваше приложение не начинает “есть” память, тормозить и загадочно падать в проде.

📗 На открытом уроке мы разберём, как устроен GC: от триколорной маркировки до последних улучшений в новых версиях языка. Мы покажем, как измерить и проанализировать работу сборщика с помощью GODEBUG и pprof, а также разберём практические приёмы снижения нагрузки — от оптимизации указателей до пулов объектов.

❗️ Поймёте, как Golang взаимодействует с системой и где скрываются узкие места, влияющие на производительность. После урока сможете писать код, который не “утекает”.

Регистрируйтесь 📆 21 октября в 19:00 МСК и разберитесь, как приручить сборщик мусора, а не бороться с ним: https://otus.pw/5fc5i/?erid=2W5zFJek4ue

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🥱2
👣 Kriti Images — открытый сервис обработки изображений на Go

Что такое Kriti Images

- Высокопроизводительный сервис для трансформации изображений в реальном времени, написанный на языке Go
- Использует URL-базированный API: параметры трансформации передаются через URL
- Открытая альтернатива коммерческим решениям вроде Cloudflare Images и ImageKit

Возможности

- Манипуляции над изображением через URL: изменение размера, обрезка (crop), поворот, размытие и др.
- Поддержка популярных форматов: JPEG, PNG, WebP
- Режимы масштабирования: contain, cover, crop, pad, squeeze, scaledown
- Корректировки цвета: яркость, контраст, насыщенность, гамма
- Настройка фона: цвета в HEX, RGB или именованные цвета
- Оптимизация под производительность и кеширование (правильные HTTP-заголовки)

🟠GitHub: https://github.com/kritihq/kriti-images

#golang
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤‍🔥3🔥3🥴1
🔍Тестовое собеседование с Go TeamLead из американского FinTech в этот четверг

23 октября(в четверг!) в 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
🤣1
👣 Задача дня: 3Sum

Вам дан массив целых чисел nums. Требуется найти все уникальные тройки (a, b, c), такие что a + b + c = 0. Порядок элементов в тройке не важен, дубликаты недопустимы.

Идея оптимального решения

1. Сортируем массив (O(n log n)), чтобы упростить поиск и контроль дубликатов.

2. Фиксируем первый элемент i, затем две указки l и r («два указателя») пробегают подмассив справа/слева:

Если сумма < 0 → сдвигаем l++,

Если сумма > 0 → сдвигаем r--,

Если сумма == 0 → сохраняем тройку и пропускаем дубликаты вокруг l и r.

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

Сложность: O(n^2) по времени и O(1) доп. памяти не считая результата.

Реализация:


package main

import (
"fmt"
"sort"
)

func threeSum(nums []int) [][]int {
sort.Ints(nums)
n := len(nums)
res := make([][]int, 0)

for i := 0; i < n; i++ {
// Пропускаем одинаковые стартовые значения
if i > 0 && nums[i] == nums[i-1] {
continue
}
// Ранний выход: дальше только положительные
if nums[i] > 0 {
break
}

l, r := i+1, n-1
for l < r {
sum := nums[i] + nums[l] + nums[r]
switch {
case sum < 0:
l++
case sum > 0:
r--
default:
res = append(res, []int{nums[i], nums[l], nums[r]})
// Пропускаем дубликаты для l
lVal := nums[l]
for l < r && nums[l] == lVal {
l++
}
// Пропускаем дубликаты для r
rVal := nums[r]
for l < r && nums[r] == rVal {
r--
}
}
}
}
return res
}

func main() {
examples := [][]int{
{-1, 0, 1, 2, -1, -4},
{0, 0, 0, 0},
{-2, 0, 1, 1, 2},
}

for _, nums := range examples {
fmt.Println("Input:", nums)
fmt.Println("Triplets:", threeSum(append([]int{}, nums...)))
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥4