❓ Какова временная сложность основных операций в AVL-дереве
Anonymous Poll
6%
O(n)
57%
O(log n)
20%
O(n log n)
2%
O(1)
19%
Узнать ответ
❓Какое утверждение про сортировки верное?
Anonymous Poll
8%
sort.Slice сохраняет относительный порядок элементов
41%
sort.Slice не гарантирует сохранение порядка одинаковых элементов
14%
sort.Slice и sort.SliceStable используют одинаковый алгоритм, но с разными параметрами
5%
sort.SliceStable используется для сортировки только числовых данных
39%
Узнать ответ
❓Сколько элементов хранится в одном bucket в map
Anonymous Poll
7%
4
68%
8
3%
12
12%
16
13%
Узнать ответ
❓Как singleflight обрабатывает ошибки, если объединённый вызов завершился с ошибкой?
Anonymous Poll
6%
Автоматически повторяет вызов до успешного завершения.
2%
Завершает работу приложения.
3%
Игнорирует ошибку и возвращает nil.
54%
Возвращает одну и ту же ошибку всем горутинам, ожидавшим результат.
35%
Узнать ответ
❓Как можно узнать, что контекст был отменён?
Anonymous Poll
5%
Проверить ctx == nil
2%
Использовать ctx.Value(«canceled»)
69%
Ждать сигнала <-ctx.Done()
18%
Вызвать ctx.IsCanceled()
11%
Узнать ответ
❓Какое поведение неверное для defer
Anonymous Poll
21%
Выполняется в порядке LIFO
13%
Может захватывать значения переменных при объявлении
55%
Работает даже после os.Exit()
10%
Не выполнится, если внутри go-рутины
11%
Узнать ответ
Задача: Имеется определенное количество монет разных номиналов. Необходимо выдать сдачу или вернуть nil, если это невозможно.
Жадный алгоритм:
1. Начинаем с самой крупной доступной монеты.
2. Берем максимальное количество этой монеты.
3. Переходим к следующей меньшей монете.
4. Повторяем процесс, пока сдача не будет полностью выдана.
Реализацию можно увидеть на картинке. 🔼
Жадный алгоритм:
1. Начинаем с самой крупной доступной монеты.
2. Берем максимальное количество этой монеты.
3. Переходим к следующей меньшей монете.
4. Повторяем процесс, пока сдача не будет полностью выдана.
Реализацию можно увидеть на картинке. 🔼
❓Какой из факторов не влияет на RPS?
Anonymous Poll
7%
Производительность сервера
9%
Оптимизация кода приложения
70%
Скорость интернета у пользователя
10%
Количество ядер процессора на сервере
13%
Узнать ответ
❓Что означает термин «first-class functions» в контексте языка Go?
Anonymous Poll
10%
Функции можно вызывать только внутри main().
4%
Функции могут вызываться рекурсивно, но не могут быть переданы в качестве аргумента.
61%
Функции можно передавать в качестве аргументов, возвращать из других функций и
2%
Функции в Go всегда анонимны и не могут иметь имена.
25%
Узнать ответ
❓Какой метод разрешения коллизий использует новая map?
Anonymous Poll
12%
Линейные списки
15%
Линейное пробирование
2%
Линейный проглиб.ио
43%
Двойное хеширование с линейной адресацией
30%
Узнать ответ
❓ Вам нужно выгрузить несколько строк из базы данных, какой метод будете исполльзовать?
Anonymous Poll
58%
Query()
25%
QueryRow()
11%
Exec()
2%
Prepare()
2%
ProgLib()
8%
Узнать ответ
❓Влияет ли паника в одной горутине на другие горутины?
Anonymous Poll
54%
Да
37%
Нет
11%
Узнать ответ
❓В какой версии Go была внедрена Swiss Table для реализации map?
Anonymous Poll
3%
1.19
2%
1.20
4%
1.21
3%
1.22
6%
1.23
64%
1.24
22%
Узнать ответ
Воспроизводится ошибка 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
}
❓ Каково назначение CGO_ENABLED=0?
👻 — Включает использование CGo, позволяя коду на Go обращаться к C-функциям.
🌚 — Уменьшает производительность Go-кода, поскольку CGo работает быстрее.
⚡️ — Отключает CGo, создавая полностью независимый бинарный файл.
🎉 — Требует, чтобы все зависимости были написаны на чистом Go.
👾 — Узнать ответ
🐸Библиотека задач по Go
👻 — Включает использование CGo, позволяя коду на Go обращаться к C-функциям.
🌚 — Уменьшает производительность Go-кода, поскольку CGo работает быстрее.
⚡️ — Отключает CGo, создавая полностью независимый бинарный файл.
🎉 — Требует, чтобы все зависимости были написаны на чистом Go.
👾 — Узнать ответ
🐸Библиотека задач по Go
✏️ Создайте ограничитель запросов (Rate Limiter)
Задача:
• Необходимо разработать ограничитель запросов, который будет ограничивать количество запросов от одного клиента не более 5 раз в секунду.
• Запросы, которые превышают установленный лимит, должны быть заблокированы.
Решение в картинках ⬆️
🐸Библиотека задач по Go
Задача:
• Необходимо разработать ограничитель запросов, который будет ограничивать количество запросов от одного клиента не более 5 раз в секунду.
• Запросы, которые превышают установленный лимит, должны быть заблокированы.
Решение в картинках ⬆️
🐸Библиотека задач по Go