en
Feedback
Библиотека Go для собеса | вопросы с собеседований

Библиотека Go для собеса | вопросы с собеседований

Open in Telegram

Вопросы с собеседований по Go и ответы на них. Покажем, как запустить своего ии-агента: https://clc.to/tvpmD По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197

Show more
7 430
Subscribers
-124 hours
-137 days
+730 days
Posts Archive
Что выводит %T в fmt.Printf Выводит тип переменной. fmt.Printf("%T\n", u) // Вывод: main.User 🐸Библиотека Go для собеса

Что будет, если в пакете net/http зарегистрировано два маршрута и они соответствуют одному запросу Если два маршрута пересекаются и оба соответствуют одному запросу, Go выберет первый зарегистрированный маршрут, который соответствует запросу. То есть, при обработке запроса, если два маршрута могут совпасть, Go будет использовать обработчик первого из них. 🐸Библиотека Go для собеса

Что выводит %#v в fmt.Printf Показывает значение в виде Go-кода. fmt.Printf("%#v\n", u) // Вывод: main.User{Name:"Alice", Age:30} 🐸Библиотека Go для собеса

Отлично знаете Go? Пройдите онлайн-собеседования за один день и присоединяйтесь к масштабному проекту по переносу ВКонтакте н
Отлично знаете Go? Пройдите онлайн-собеседования за один день и присоединяйтесь к масштабному проекту по переносу ВКонтакте на сервисную архитектуру и новый технологический стек. Это VK One Day Offer для Go-разработчиков с опытом от трёх лет! Зачем участвовать? Чтобы поработать с продуктами, которые выдерживают нагрузку свыше 2 млн RPS, стать частью команды с активно растущим Go-сообществом и собственным тулингом, работать над сложными архитектурными задачами и возможность влиять на то, каким станет ВКонтакте в ближайшие годы. ВКонтакте переходит на сервисную архитектуру и строит единую платформу разработки на Go. Не упустите шанс участвовать в проекте, который упростит совершенствование продуктов VK и улучшит опыт миллионов пользователей. Оставляйте заявку на участие.

Чем отличаются compress/gzip и compress/zlib Они используют один и тот же алгоритм сжатия — DEFLATE, но оборачивают его в разные форматы контейнеров. compress/gzip реализует стандарт GZIP (RFC 1952), который оборачивает данные в формат с более «тяжёлой» заголовочной частью: туда могут входить имя исходного файла, дата модификации, флаг CRC и другое. Этот формат часто используется при передаче данных в HTTP (например, сжатие HTTP-ответов) и в Unix-среде — с утилитами gzip, gunzip. compress/zlib реализует формат ZLIB (RFC 1950), но имеет более лёгкую обёртку: минимальный заголовок и контрольную сумму Adler-32 вместо CRC32. Он чаще применяется в бинарных форматах, таких как PNG, PDF, а также в сетевых протоколах. 🐸Библиотека Go для собеса

Что выведет %v в fmt.Printf Выводит значение в читаемой форме без дополнительной информации. u := User{"Alice", 30} fmt.Printf("%v\n", u) // Вывод: {Alice 30} 🐸Библиотека Go для собеса

❓ Для чего используется пакет expvar Пакет expvar используется для экспорта переменных в формате JSON по HTTP, что позволяет
Для чего используется пакет expvar Пакет expvar используется для экспорта переменных в формате JSON по HTTP, что позволяет отслеживать внутреннее состояние приложения — например, количество запросов, ошибки, статистику по памяти и другие метрики. Если запустить код с картинки, то вы увидите переменную «count» и другую информацию. 🐸Библиотека Go для собеса

🧱 7 архитектурных паттернов, которые должен знать каждый программист В быстро меняющемся мире разработки от программиста всё
🧱 7 архитектурных паттернов, которые должен знать каждый программист В быстро меняющемся мире разработки от программиста всё чаще требуется не просто писать код, а понимать, как правильно проектировать системы. Архитектурные паттерны — это фундаментальные подходы, помогающие создавать масштабируемые, устойчивые и поддерживаемые решения. В статье собрали и разобрали 7 архитектурных паттернов, которые сегодня стоит знать каждому разработчику — будь то разработка микросервисов, проектирование API или работа с распределёнными транзакциями. ➡️ Узнать паттерны 🐸Библиотека Go разработчика #буст

Как работает fmt.Sprintf и чем он отличается от fmt.Printf fmt.Sprintf форматирует строку и возвращает её как результат, не выводя на экран. fmt.Printf форматирует строку и сразу выводит её на экран. 🐸Библиотека Go для собеса

❓ Можно ли добиться от быстрой сортировки времени выполнения O(n log n) Классическая быстрая сортировка выбирает опорный элемент. Если выбор плохой — например, всегда крайний элемент массива — и массив уже отсортирован (или почти), происходит деградация: один подмассив получает почти все элементы, а другой — почти пустой. Это приводит к дереву рекурсии глубиной n, и итоговая сложность становится O(n²). 🐸Библиотека Go для собеса

Что из себя представляет паттерн Strangler Fig Название происходит от одноимённого тропического растения, которое растёт вокруг дерева-хозяина, постепенно вытесняя его. По аналогии, новая система «обрастает» старую, заменяя её части одну за другой, пока полностью не вытеснит. Как это работает: — Создаётся прокси/фасад перед старой системой. — Новые функции разрабатываются сразу в новой архитектуре. — Старые модули постепенно переписываются и переносятся. — После переноса очередной части — обновляется маршрутизация, чтобы трафик шёл в новую реализацию. — По завершении — старая система удаляется. 🐸Библиотека Go для собеса

💻Как работать с каналами в Go и сделать ваш код конкурентным? 🔥На открытом уроке «Использование каналов в Go на практике» о
💻Как работать с каналами в Go и сделать ваш код конкурентным? 🔥На открытом уроке «Использование каналов в Go на практике» от OTUS вы погрузитесь в одну из самых мощных особенностей языка Golang. Эти инструменты позволяют эффективно управлять параллельными процессами — ключ к созданию высокопроизводительных приложений. ❗️Что вас ждёт: — Обзор теории: как работают каналы в Go и зачем они нужны. — Практические примеры применения каналов в реальных задачах. — Разбор частых ошибок и подводных камней при работе с каналами. 📗Урок пройдет в преддверии старта курса «Golang Developer. Professional», и все участники получат скидку на обучение. ➡️Встречаемся 14 мая в 20:00 МСК, регистрация открыта: https://clc.to/VVCJHg Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Что такое пакет net/mail в Go и какие задачи он решает Пакет net/mail используется для создания, парсинга и обработки почтовых сообщений в формате MIME. Он помогает работать с заголовками сообщений, такими как From, To, Subject, и позволяет парсить и формировать MIME-сообщения. Основной функцией пакета является работа с адресами электронной почты и создание сообщений, готовых к отправке через SMTP. 🐸Библиотека Go для собеса

🔥 Конкурс: 30 000 ₽ за самую смешную IT-новость Напоминаем о конкурсе «Библиотеки программиста»: напишите самую смешную версию реальной новости про технологии. 👾 Правила просты: 1. Берете настоящую новость из мира технологий. 2. Переписываете ее так, чтобы смеялись все. 3. Получаете деньги и славу. 🎁 Призы: - 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала - 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе 🏆 Как будем оценивать: Мы выложим новости всех участников в одном из наших телеграм-каналов. Те новости, которые наберут больше всего охвата, войдут в шорт-лист. Из шорт-листа подписчики и жюри выберут победителя. 📅 Сроки: прием новостей до 11 мая включительно Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8 Осталась неделя — ждем ваших новостей!

Что такое cookiejar в Go и для чего он используется Библиотека cookiejar предоставляет механизм для управления HTTP-куками. Это часть стандартной библиотеки. cookiejar позволяет автоматически сохранять и отправлять куки при работе с HTTP-запросами. Куки могут быть получены в ответах сервера и автоматически добавляться в будущие запросы, что позволяет поддерживать состояние между запросами (например, при аутентификации через сессии). cookiejar инкапсулирует логику работы с куками, избавляя разработчиков от необходимости вручную извлекать и добавлять куки в запросы. 🐸Библиотека Go для собеса

Какие варианты циклов есть в Go 1. Классический for
for i := 0; i < 10; i++ {
    fmt.Println(i)
}
2. Условный for (как while)
i := 0
for i < 10 {
    fmt.Println(i)
    i++
}
3. Бесконечный цикл
for {
    fmt.Println("infinite loop")
    break // не забудь выйти
}
4. for range — итерация по коллекции
for index, value := range []string{"a", "b", "c"} {
    fmt.Println(index, value)
}
🐸Библиотека Go для собеса

📅 Итоги недели — нужна ваша реакция Были интересные вопросы? Может сложновато или наоборот слишком скучно? Можно просто: 🔥 — нравится 🌚 — так себе 😢 — скучно Комментарии тоже приветствуются. 🐸Библиотека Go для собеса

❓ Как передавать множество результатов функции В Go можно возвращать несколько значений из функции напрямую — это одна из вст
Как передавать множество результатов функции В Go можно возвращать несколько значений из функции напрямую — это одна из встроенных возможностей языка. 🐸Библиотека Go для собеса

❓ Можно ли напрямую взять ссылку на значение в map в Go
Anonymous voting

Как взять ссылку на значение в мапе В Go нельзя напрямую взять ссылку на значение в мапе — это ограничение языка, связанное с внутренним устройством мап. Значение по ключу в мапе может перемещаться в памяти, Go может реорганизовывать хеш-таблицу. Пример, который не скомпилируется:
m := map[string]int{"a": 1}
p := &m["a"]
🐸Библиотека Go для собеса