❓Как singleflight обрабатывает ошибки, если объединённый вызов завершился с ошибкой?
  Anonymous Poll
    6%
    Автоматически повторяет вызов до успешного завершения.
      
    2%
    Завершает работу приложения.
      
    3%
    Игнорирует ошибку и возвращает nil.
      
    54%
    Возвращает одну и ту же ошибку всем горутинам, ожидавшим результат.
      
    35%
    Узнать ответ
      
    👏2
  ❓Как можно узнать, что контекст был отменён?
  Anonymous Poll
    5%
    Проверить ctx == nil
      
    2%
    Использовать ctx.Value(«canceled»)
      
    69%
    Ждать сигнала <-ctx.Done()
      
    18%
    Вызвать ctx.IsCanceled()
      
    12%
    Узнать ответ
      
    👎2🥴2
  ❓Какое поведение неверное для defer
  Anonymous Poll
    21%
    Выполняется в порядке LIFO
      
    13%
    Может захватывать значения переменных при объявлении
      
    55%
    Работает даже после os.Exit()
      
    10%
    Не выполнится, если внутри go-рутины
      
    11%
    Узнать ответ
      
    👏1
  Задача: Имеется определенное количество монет разных номиналов. Необходимо выдать сдачу или вернуть nil, если это невозможно.
Жадный алгоритм:
1. Начинаем с самой крупной доступной монеты.
2. Берем максимальное количество этой монеты.
3. Переходим к следующей меньшей монете.
4. Повторяем процесс, пока сдача не будет полностью выдана.
Реализацию можно увидеть на картинке. 🔼
Жадный алгоритм:
1. Начинаем с самой крупной доступной монеты.
2. Берем максимальное количество этой монеты.
3. Переходим к следующей меньшей монете.
4. Повторяем процесс, пока сдача не будет полностью выдана.
Реализацию можно увидеть на картинке. 🔼
👎2❤1🥰1
  ❓Какой из факторов не влияет на RPS?
  Anonymous Poll
    7%
    Производительность сервера
      
    9%
    Оптимизация кода приложения
      
    70%
    Скорость интернета у пользователя
      
    10%
    Количество ядер процессора на сервере
      
    13%
    Узнать ответ
      
    🤡14❤1👍1
  ❓Что означает термин «first-class functions» в контексте языка Go?
  Anonymous Poll
    10%
    Функции можно вызывать только внутри main().
      
    4%
    Функции могут вызываться рекурсивно, но не могут быть переданы в качестве аргумента.
      
    61%
    Функции можно передавать в качестве аргументов, возвращать из других функций и
      
    2%
    Функции в Go всегда анонимны и не могут иметь имена.
      
    25%
    Узнать ответ
      
    👍3
  ❓Какой метод разрешения коллизий использует новая map?
  Anonymous Poll
    11%
    Линейные списки
      
    15%
    Линейное пробирование
      
    2%
    Линейный проглиб.ио
      
    43%
    Двойное хеширование с линейной адресацией
      
    30%
    Узнать ответ
      
    ❤1🤡1
  ❓ Вам нужно выгрузить несколько строк из базы данных, какой метод будете исполльзовать?
  Anonymous Poll
    59%
    Query()
      
    25%
    QueryRow()
      
    11%
    Exec()
      
    2%
    Prepare()
      
    2%
    ProgLib()
      
    8%
    Узнать ответ
      
    ❤3
  ❓Влияет ли паника в одной горутине на другие горутины?
  Anonymous Poll
    54%
    Да
      
    37%
    Нет
      
    11%
    Узнать ответ
      
    🤮3
  ❓В какой версии Go была внедрена Swiss Table для реализации map?
  Anonymous Poll
    3%
    1.19
      
    2%
    1.20
      
    4%
    1.21
      
    3%
    1.22
      
    6%
    1.23
      
    64%
    1.24
      
    23%
    Узнать ответ
      
    Воспроизводится ошибка 404 при нескольких автомиграциях, где ошибка? gin
package db
import (
"awesomeGin/models"
"log"
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
func Init(url string) *gorm.DB {
db, err := gorm.Open(postgres.Open(url), &gorm.Config{})
DisableForeignKeyConstraintWhenMigrating: true ,
    
if err != nil {
log.Fatalln(err)
}
db.AutoMigrate(&models.Book{})
db.AutoMigrate(&models.Game{})
return db
}
package db
import (
"awesomeGin/models"
"log"
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
func Init(url string) *gorm.DB {
db, err := gorm.Open(postgres.Open(url), &gorm.Config{})
DisableForeignKeyConstraintWhenMigrating: true ,
if err != nil {
log.Fatalln(err)
}
db.AutoMigrate(&models.Book{})
db.AutoMigrate(&models.Game{})
return db
}
🤡5👍1😁1🤔1
  ❓ Каково назначение CGO_ENABLED=0?
👻 — Включает использование CGo, позволяя коду на Go обращаться к C-функциям.
🌚 — Уменьшает производительность Go-кода, поскольку CGo работает быстрее.
⚡️ — Отключает CGo, создавая полностью независимый бинарный файл.
🎉 — Требует, чтобы все зависимости были написаны на чистом Go.
👾 — Узнать ответ
🐸Библиотека задач по Go
👻 — Включает использование CGo, позволяя коду на Go обращаться к C-функциям.
🌚 — Уменьшает производительность Go-кода, поскольку CGo работает быстрее.
⚡️ — Отключает CGo, создавая полностью независимый бинарный файл.
🎉 — Требует, чтобы все зависимости были написаны на чистом Go.
👾 — Узнать ответ
🐸Библиотека задач по Go
🤡10🎉4🤣2🔥1😱1🤮1
  ✏️ Создайте ограничитель запросов (Rate Limiter)
Задача:
• Необходимо разработать ограничитель запросов, который будет ограничивать количество запросов от одного клиента не более 5 раз в секунду.
• Запросы, которые превышают установленный лимит, должны быть заблокированы.
Решение в картинках ⬆️
🐸Библиотека задач по Go
Задача:
• Необходимо разработать ограничитель запросов, который будет ограничивать количество запросов от одного клиента не более 5 раз в секунду.
• Запросы, которые превышают установленный лимит, должны быть заблокированы.
Решение в картинках ⬆️
🐸Библиотека задач по Go
Какой пакет необходим для разработки исполняемого приложения на Go? 
Библиотека задач по Go.
Библиотека задач по Go.
🤡7😁4
  Какой идентификатор можно использовать из другого пакета? 
👻 — 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
👻 — 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
🌚31🤣4🤡3
  ❓ Что проверяет функция errors.Is(err, ErrNotFound)?
👻 — Она определяет, является ли err экземпляром ErrNotFound, включая обёрнутые ошибки.
🌚 — Она проверяет, совпадает ли err с переменной ErrNotFound.
⚡️ — Она всегда возвращает false, так как функции errors.Is() не существует.
🎉 — Это устаревший метод, теперь используется сравнение err == ErrNotFound.
🐸 Библиотека задач по Go
👻 — Она определяет, является ли err экземпляром ErrNotFound, включая обёрнутые ошибки.
🌚 — Она проверяет, совпадает ли err с переменной ErrNotFound.
⚡️ — Она всегда возвращает false, так как функции errors.Is() не существует.
🎉 — Это устаревший метод, теперь используется сравнение err == ErrNotFound.
🐸 Библиотека задач по Go
🌚10🤡3👎1🕊1🐳1💯1🤣1
  