Библиотека Go для собеса | вопросы с собеседований
6.88K subscribers
225 photos
8 videos
1 file
440 links
Вопросы с собеседований по Go и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/0b524a15

Для обратной связи: @proglibrary_feeedback_bot

Наши каналы: https://t.iss.one/proglibrary/9197
Download Telegram
📢 Какой сетап идеально подойдёт для разработки AI-агента?

Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите.

❤️ — 1
👍 — 2
⚡️ — 3
👏 — 4
🔥 — 5
🎉 — 6
😁 — 7
😍 — 8
🤩 — 9

Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь.

👉 Научим, как строить агентов, которые кодят с тобой
👍7🔥753😍2
Какую разницу имеют поверхностное и глубокое копирование в Go

Поверхностное копирование создает новую переменную или структуру, которая ссылается на те же данные, что и исходная переменная.

Используется, когда нужно работать с одними и теми же данными, но с разными именами, и изменения в одной переменной не должны затронуть другую.
original := []int{1, 2, 3}
copied := original
copied[0] = 99
fmt.Println(original) // [99 2 3]


Глубокое копирование создает новую переменную с независимыми копиями данных.

Глубокое копирование особенно важно при работе со сложными структурами данных, где изменение одного элемента может повлиять на всю структуру. Также оно применяется при сериализации данных или создании полной копии структуры.
Пример с библиотекой:
import "github.com/mohae/deepcopy"

original := []int{1, 2, 3}
copied := deepcopy.Copy(original)
copied[0] = 99
fmt.Println(original) // [1 2 3]


🐸 Библиотека Go для собеса
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему одна и та же выборка чисел с плавающей точкой даёт разные итоги при разном порядке сложения

Потому что компьютер хранит десятичные дроби приблизительно (в двоичной форме IEEE-754), и при каждом сложении происходит округление. Меняя порядок слагаемых, Вы меняете последовательность округлений — отсюда чуть разные итоги.
Говоря иначе: сложение таких дробей неассоциативно.

Что происходит:
• Числа вроде 0.1/0.2/0.3 не представимы точно, их двоичные «хвосты» обрезаются.
• На каждом шаге суммирования происходит новое округление. В другом порядке эти округления происходят в других местах.
Маленькие слагаемые рядом с большими могут «теряться», почти противоположные — «съедать разряды».
• Разница обычно микроскопическая, порядка 1–2 ULP — минимальных шагов представления, но для строгого сравнения это уже другие числа.

Как с этим жить:
• Не рассчитывайте на «точное равенство» результатов — сравнивайте с допуском (абсолютным/относительным).
Фиксируйте порядок вычислений и применяйте более устойчивые схемы суммирования на длинных рядах.
• Для денег и отчётности используйте десятичные или целочисленные представления — там нужна точность без двоичной погрешности.

🐸 Библиотека Go для собеса
Please open Telegram to view this post
VIEW IN TELEGRAM
Осталось 48 часов!

Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября.

⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным.

👉 Забрать место