Библиотека Go для собеса | вопросы с собеседований
رفتن به کانال در Telegram
Вопросы с собеседований по Go и ответы на них. Покажем, как запустить своего ии-агента: https://clc.to/tvpmD По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197
نمایش بیشتر7 430
مشترکین
-124 ساعت
-137 روز
+730 روز
آرشیو پست ها
😱 Вся правда об увольнениях в IT в 2025-м
Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картину. Без прикрас и корпоративного пиара.
Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о:
— реальных причинах массовых увольнений
— судьбе тех, кто остался за бортом IT-рынка
— том, сколько времени сейчас нужно на поиск работы
Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.
⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg
❓ Что будет выводится в таком цикле
for first, second := range str
, если str это строка
В цикле такого вида first это индекс символа в строке, а second это руна
🐸 Библиотека Go для собеса❓ Что такое IIFE Immediately Invoked Function Expression
Это анонимная функция, которая определяется и вызывается сразу же, без явного имени и без предварительного присваивания переменной.
🐸 Библиотека Go для собеса
❓ Как можно использовать анонимную функцию в Go
Анонимная функция — это функция,, которую можно определить прямо там, где она нужна. В Go анонимные функции очень гибкие и применяются в нескольких случаях:
• Присвоение переменной
Анонимную функцию можно присвоить переменной и вызывать её позже. Например:
add := func(a, b int) int {
return a + b
}
result := add(2, 3) // result будет равен 5
• Вызов сразу после определения
Можно объявить анонимную функцию и сразу же вызвать её, обернув в скобки и добавив () в конце:
result := func(a, b int) int {
return a + b
}(2, 3)
• Передача в качестве аргумента
Анонимные функции часто используют для передачи в другие функции, например, для обработки событий, сортировки, или работы с коллекциями:
nums := []int{1, 3, 2}
sort.Slice(nums, func(i, j int) bool {
return nums[i] < nums[j]
})
🐸 Библиотека Go для собеса❓ Как влияет порядок defer-вызовов на поведение программы
Конструкция
defer в Go вызывает функции в обратном порядке, по принципу стека (LIFO — Last In, First Out). То есть последняя отложенная функция будет выполнена первой при выходе из текущей функции.
Пример:
func demo() {
defer fmt.Println("Первый")
defer fmt.Println("Второй")
defer fmt.Println("Третий")
}
Вывод:
Третий Второй Первый• Корректное освобождение ресурсов: При работе с вложенными ресурсами defer автоматически освобождает их в правильном порядке:
f1, _ := os.Open("a.txt")
defer f1.Close()
f2, _ := os.Open("b.txt")
defer f2.Close()
Сначала закроется b.txt, потом a.txt — что логично.
• Откат операций в нужной последовательности:
При выполнении нескольких шагов (например, в транзакции), можно отложить откат в порядке, обратном их применению.
• Отладка и читаемость:
Если defer-вызовов много, особенно внутри циклов и функций, легко запутаться в порядке их выполнения. Это стоит учитывать при разработке.
🐸 Библиотека Go для собеса❓ Как компилятор Go обрабатывает константы во время компиляции
Компилятор Go обрабатывает константы на этапе компиляции, подставляя их значения напрямую в код вместо выделения памяти под переменные.
Это значит, что константы не занимают память во время выполнения, а используются как литеральные значения, что позволяет оптимизировать производительность и уменьшить размер бинарника.
Кроме того, компилятор проверяет корректность и типовую совместимость констант ещё до сборки, предотвращая ошибки времени выполнения.
🐸 Библиотека Go для собеса
Тест для Golang-разработчиков, проверьте свои знания, готовы ли вы к обучению на курсе.
💻 Ответьте на 20 вопросов за 30 минут и проверьте, готовы ли вы к обучению на онлайн-курсе «Golang Developer. Professional» от OTUS. Сейчас Go становится все востребованнее, благодаря своей производительности, масштабируемости и экосистеме.
После 5 месяцев обучения вы сможете:
— Писать production-ready код, многопоточные и конкурентные программы.
— Понимать синтаксис и внутреннее устройство языка Go.
— Разворачивать микросервисы с помощью Docker.
— Проектировать и реализовывать микросервисную архитектуру на Go.
Также вас ждет прокачка навыков на реальных коммерческих кейсах и под руководством экспертов в этой области. Возможна рассрочка.
👉 ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
❓ Чем отличается method value от method expression
Method value — это метод, уже связанный с конкретным экземпляром типа, и его можно вызывать без передачи получателя, потому что он зафиксирован внутри функции.
Method expression — это самостоятельная функция, которая требует явной передачи получателя как первого аргумента при вызове.
🐸 Библиотека Go для собеса
🥵 Устали от статей, где эйчары рассказывают, как на самом деле выглядит рынок труда в ИТ?
Мы тоже! Поэтому решили узнать правду и представить ее всем айтишникам — но нам нужен ваш голос. Опрос займет 3 минуты, а пользы — вагон для всего сообщества.
Результаты этого исследования помогут понять, как специалистам искать работу в 2025-м (а компаниям — специалистов).
👉 Если вы готовы сделать свой вклад в исследование — велком: https://clc.to/VGgyNA
❓ Почему функции пакета
math принимают только float64
Тип float64 обеспечивает достаточную точность (около 15 десятичных цифр) и диапазон значений для большинства математических задач. Также float64 соответствует стандарту IEEE-754 по представлению чисел с плавающей точкой.
🐸 Библиотека Go для собеса❓ Что делает
math.Nextafter и где он может быть полезен
math.Nextafter возвращает ближайшее число типа float64 к x в направлении y. Это позволяет точно двигаться по числовой прямой, учитывая минимальные различия между представимыми значениями. Если x == y, функция возвращает y.
Где может быть полезно:
— В численных алгоритмах, где важна точность на уровне машинного эпсилона.
— Для обхода проблем с погрешностью округления при сравнении или генерации диапазонов.
— При вычислении границ или шагов с максимальной точностью (например, в научных расчетах или графиках).
🐸 Библиотека Go для собеса1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣🔟
Как меняется ИТ-индустрия с внедрением AI? Узнай 6 июня на ИТ-конференции МТС True Tech Day
True Tech Day 2025 — третья масштабная технологическая конференция МТС для профессионалов ИТ‑индустрии.
В программе:
— Больше 40 докладов от известных ученых и ИТ-компаний.
— Выступления зарубежных спикеров с индексом Хирша более 50.
— Концентрация практических кейсов: как создаются большие проекты с применением AI.
— Доклады по архитектуре, бэкенд-разработке и построению ИТ-платформ.
— AI-интерактивы и технологические квесты.
— Пространство для нетворкинга,
…а еще after-party со звездным лайн-апом.
Когда: 6 июня
Где: Москва, МТС Live Холл и онлайн
Участие бесплатно. Регистрация по ссылке.
❓ Чем
math.mod отличается от оператора %
math.Mod работает с числами типа float64 и возвращает остаток с тем же знаком, что и делимое. Оператор % применяется только к целым числам и возвращает остаток с тем же знаком, что и делитель. Они также отличаются типом результата: math.Mod возвращает float64, а % — целое число.
🐸 Библиотека Go для собесаПоздравляем, вы на 1 шаг ближе к работе мечты 🥳
Осталось только прочитать этот пост, подписаться на канал и откликнуться на вакансию 😉
Avito Career — место, где Авито делится актуальными вакансиями и стажировками для Go-разработчиков.
Подписывайтесь, чтобы найти ту самую работу ✨
❓ Какие существуют HTTP-статусы из диапазона 300-399
300 Multiple Choices - несколько вариантов ресурса, пользователь должен выбрать.
301 Moved Permanently - ресурс перемещён навсегда, клиент должен использовать новый URL.
302 Found - ресурс временно перемещён, клиент должен использовать старый URL в будущем.
303 See Other - перенаправление на другой ресурс, обычно с использованием GET-запроса.
304 Not Modified - ресурс не изменился с момента последнего запроса, можно использовать кэш.
305 Use Proxy - запрашиваемый ресурс доступен только через прокси (редко используется).
307 Temporary Redirect - временное перенаправление, метод запроса не меняется.
308 Permanent Redirect - постоянное перенаправление, метод запроса сохраняется
🐸 Библиотека Go для собеса
❓ Какая временная сложность доступа к элементам слайса
Когда вы обращаетесь к элементу слайса через индекс, Go обращается напрямую к соответствующему элементу в массиве, на который ссылается слайс. Это делает доступ к элементу слайса константным по времени.
🐸Библиотека Go для собеса
❓ Какие типы взаимодействия могут быть при парном программировании
1. Driver-Navigator:
Один разработчик пишет код (driver), а второй анализирует процесс, следит за архитектурой и помогает находить решения (navigator).
2. Ping-Pong Programming:
Один разработчик пишет тесты, второй — код, чтобы пройти тесты. Когда тесты проходят, роли меняются.
3. Strong Style:
В этой модели navigator диктует все решения, а driver лишь выполняет действия, следуя указаниям. Это часто используется для более опытных разработчиков, чтобы ускорить обучение новичков.
4. Remote Pairing:
Один из разработчиков работает удаленно, используя инструменты для совместного редактирования кода, такие как Visual Studio Code Live Share или Teletype.
🐸Библиотека Go для собеса
❓ Что означает методология TDD (Test-Driven Development) и какие ее основные этапы
TDD — это методология разработки, при которой разработчик сначала пишет тесты, а затем реализует код, чтобы эти тесты прошли.
Основные этапы TDD:
• Написание теста: Напишите тест для функции, которую вы собираетесь реализовать. Этот тест, как правило, не должен проходить, потому что функция еще не существует.
• Реализация функционала: Напишите минимально возможный код, чтобы тест прошел.
• Рефакторинг: Убедитесь, что ваш код чистый и работает эффективно, и проведите рефакторинг, не нарушая прохождение тестов.
TDD помогает разработчику уверенно двигаться вперед, зная, что код покрыт тестами.
🐸Библиотека Go для собеса
📊 Интеграционные тесты на Go: почему это важно для вашего кода?
📆 21 мая в 20:00 МСК на открытом вебинаре вы узнаете, как грамотно писать интеграционные тесты для сервисов на Go, используя современные инструменты и подходы.
Что разберём:
— Как писать эффективные интеграционные тесты для Go.
— Какие инструменты помогут автоматизировать тестирование.
— Как улучшить качество кода и избежать проблем в продакшене.
❗️Полезно для разработчиков, тестировщиков и всех, кто хочет повысить качество кода и ускорить вывод продуктов на рынок.
Открытый урок проходит в преддверие старта курса “Golang Developer. Professional”. Все участники получат скидку на обучение.
➡️ Запишитесь прямо сейчас: https://clc.to/pDaCSQ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🚨 Смешные новости про IT теперь в одном канале
Мы запустили @hahacker_news — наш новый юмористический IT-канал.
Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.
👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
