Библиотека задач по Go | тесты, код, задания
الذهاب إلى القناة على Telegram
Задачи и тесты по Go для тренировки и обучения. Учиться у нас: clc.to/4o0_XA По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197
إظهار المزيد6 758
المشتركون
-624 ساعات
-97 أيام
-330 أيام
أرشيف المشاركات
❓ Что выведет код
👻 — 0 0 0 0
🌚 — 0 1 0 1
⚡️ — 0 1 2 3
🎉 — 1 2 3 4
🐸Библиотека задач по Go
❓ Что произойдёт, если функция, переданная в sync.Once.Do, запаникует
👻 — Паника считается завершением функции, и будущие вызовы не вызовут её снова.
🌚 — Паника будет проигнорирована, и функция будет продолжать выполняться.
⚡️ — Все будущие вызовы функции завершатся с ошибкой.
🎉 — Программа завершится с ошибкой, и функция не будет вызвана снова.
🐸Библиотека задач по Go
❓ Что означает runtime.GOMAXPROCS(4)
👻 — Это ограничение на количество горутин, которые могут быть выполнены одновременно.
🌚 — Это настройка для распределения горутин по всем доступным процессорам.
⚡️ — Это параметр, который ограничивает количество потоков в программе.
🎉 — Это настройка, определяющая количество ядер процессора, которые Go может использовать.
🐸Библиотека задач по Go
❓ Какой модели планирования горутин следует Go
👻 — M:1 (Много горутин на один поток)
🌚 — M:N (Много горутин на много потоков)
⚡️ — 1:1 (Один поток на одну горутину)
🎉 — N:100 (Много потоков на сто горутин)
🐸Библиотека задач по Go
❓ Какие задачи ждёте на следующей неделе
👍🏼 — Базовая классика: каналы, горутины, интерфейсы — всё, что спрашивают на каждом втором собесе
🤔 — Редкие, но важные темы: memory layout, race conditions, GC-tвики — то, что отличает джуна от сеньора
🔥 — Практика: задачки, мини-проекты, реальные кейсы, где defer или select решают судьбу всего приложения
🐸Библиотека задач по Go
❓ Что произойдёт, если передать в
reflect.TypeOf() пустой интерфейс?
👻 — Вызовет ошибку компиляции.
🌚 — Это вернёт тип interface{}.
⚡️ — Вернёт nil.
🎉 — Вернёт тип void.
🐸Библиотека задач по Go💬 Как оставлять комментарии в чате нашего канала
В нашем чате работает бот Shieldy — он защищает от спама, запрашивая у новых участников решение простой капчи.
⚠️ Проблема, с которой сталкиваются многие: вы нажимаете под постом «Прокомментировать», пишете что-то, а потом получаете бан и не можете писать комментарии.
❓Почему так: Shieldy отправляет капчу в сам чат, а не в комментарии под конкретный пост. Из-за этого капчу можно не увидеть, не отправить ответ на нее, и бот автоматически заблокирует вас.
✅ Как присоединиться к чату, чтобы бот вас не забанил
— Зайдите в описание канала с телефона и нажмите кнопку Discuss / Чат
— Нажмите Join / Присоединиться
— Сразу обратите внимание на сообщение от бота Shieldy
— Решите простой пример и отправьте ответ в чат
После этого бот отправит приветственное сообщение и вы сможете оставлять комментарии. Эту проверку нужно пройти только один раз при вступлении в чат.
❗️ Если вас все-таки забанили
— Это временная блокировка на несколько минут
— Подождите и попробуйте зайти позже, бот снова отправит вам капчу
Админы канала никак не могут ускорить процесс, бот автоматически снимает с вас блокировку через пару минут. Мы понимаем, что эта система неидеальна, и ищем более удобное решение.
👾 Спасибо, что активно участвуете в обсуждении наших постов!
❓ Что выведет код
👻 — 0
🌚 — a
⚡️ — [97 98 99]
🎉 — 97
🐸Библиотека задач по Go
❓ Когда следует использовать директиву //go:linkname
👻 — Когда нужно получить доступ к приватным методам и переменным в другом пакете для тестирования.
🌚 — Когда необходимо вызвать внешние функции из других языков программирования.
⚡️ — Когда нужно скрыть функции и переменные от внешнего кода.
🎉 — Когда требуется установить ограничения доступа между пакетами.
🐸Библиотека задач по Go
❓ Какой объект требуется для создания sync.Cond
👻 —
sync.WaitGroup
🌚 — sync.ProgLib
⚡️ — sync.Mutex или sync.RWMutex
🎉 — sync.AtomicInt
🐸Библиотека задач по GoGo — это мощь, простота и высокая производительность. Но как писать код, который пройдет проверку на собеседовании? Как работать с ffmpeg на Go и транскодировать видео без боли? На True Tech Go мы обсудим, какие подходы к разработке действительно работают в продакшене, и разберем лучшие практики из индустрии.
🔹 В программе:
✅ Идеальная задача для собеседования Go-разработчика — какие вопросы действительно оценивают твои знания
✅ Панельная дискуссия про найм — как компании оценивают кандидатов и что важно для роста
📅 27 марта 2025
📍 Москва, офлайн + онлайн-трансляция
🎟 Регистрация открыта по ссылке! Количество мест ограничено
❓ Какое сообщение будет выведено при выполнении этого кода
👻 — "Получено: Данные получены"
🌚 — "Тайм-аут: данные не пришли вовремя"
⚡️ — Ошибка компиляции
🎉 — Программа зависнет
🐸Библиотека задач по Go
❓ Какое сообщение будет выведено при выполнении этого кода?
👻 — "Получено: Данные получены"
🌚 — "Тайм-аут: данные не пришли вовремя"
⚡️ — Ошибка компиляции
🎉 — Программа зависнет
🐸Библиотека задач по Go
❓ Можно ли передавать канал в функцию как аргумент
⚡️ — Да, можно передать в функции
👻 — Нет, каналы нельзя передавать в функции
🌚 — Да, но только если канал объявлен как chan int
🐸Библиотека задач по Go
❓ Какой тип данных получит переменная var x = 42.5
👻 — int
🌚 — float32
⚡️ — float64
🎉 — double
🐸Библиотека задач по Go
❓ Что делает
errors.Is(err, ErrNotFound)
👻 — Проверяет, является ли err экземпляром ErrNotFound, включая обёрнутые ошибки.
🌚 — Проверяет, является ли err той же переменной, что и ErrNotFound
⚡️ — Всегда возвращает false, так как errors.Is() не существует
🎉 — Это устаревший метод, теперь используется err == ErrNotFound
🐸Библиотека задач по Go❓ Какой идентификатор доступен из другого пакета
👻 — func calculateSum(a, b int) int {}
🌚 — func CalculateSum(a, b int) int {}
⚡️ — private func CalculateSum(a, b int) int {}
🎉 — func (s *Sum) calculate() int {}
🐸Библиотека задач по Go
❓ Какой пакет всегда нужен для создания исполняемого Go-приложения
👻 — fmt
🌚 — os
⚡️ — utils
🎉 — main
🐸Библиотека задач по Go
+3
✏️ Реализуйте Rate Limiter (ограничение запросов)
Задача:
• Нужно реализовать Rate Limiter, который ограничивает число запросов от одного клиента не более 5 раз в секунду.
• Запросы, превышающие лимит, должны блокироваться.
Решение в картинках ⬆️
🐸Библиотека задач по Go
