Golang задачи с собеседований
4.58K subscribers
491 photos
6 videos
12 files
257 links
Задачи, тесты и теоретические вопросы по Go. Так же по gin, grpc, горутинах, архитектуре api и http стэку.

Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
加入频道
Можно ли создать цикл for без условий в Go?
Anonymous Poll
94%
Да
4%
Нет
2%
Узнать ответ
Будет ли defer активироваться после каждой итерации?

Делитесь своими мыслями в комментариях 👇 Там же мы предоставим ответ.
Какова временная сложность основных операций в AVL-дереве
Anonymous Poll
6%
O(n)
57%
O(log n)
20%
O(n log n)
2%
O(1)
19%
Узнать ответ
Пишите свои предположения в комментариях 👇 А ответ - барабанная дробь... в консоли будет 0.
Сколько элементов хранится в одном bucket в map
Anonymous Poll
7%
4
68%
8
3%
12
12%
16
13%
Узнать ответ
Задача: Имеется определенное количество монет разных номиналов. Необходимо выдать сдачу или вернуть nil, если это невозможно.

Жадный алгоритм:

1. Начинаем с самой крупной доступной монеты.
2. Берем максимальное количество этой монеты.
3. Переходим к следующей меньшей монете.
4. Повторяем процесс, пока сдача не будет полностью выдана.

Реализацию можно увидеть на картинке. 🔼
Вам нужно выгрузить несколько строк из базы данных, какой метод будете исполльзовать?
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%
Узнать ответ
Что покажет этот код?

👻 — Пять пятёрок, каждая на новой строке
🌚 — Построчно числа от 0 до 4
⚡️ — Числа от 0 до 4 в случайном порядке
👾 — Я просто хочу узнать ответ

🐸Библиотека задач по Go
Воспроизводится ошибка 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
}
Какой результат даст этот код?

👻 — 1 2 3 0 0
🌚 — 1 2 3 и паника
⚡️ — 1 2 3
👾 — Хочу узнать ответ

🐸 Библиотека задач по Go
Каково назначение CGO_ENABLED=0?

👻 — Включает использование CGo, позволяя коду на Go обращаться к C-функциям.
🌚 — Уменьшает производительность Go-кода, поскольку CGo работает быстрее.
⚡️ — Отключает CGo, создавая полностью независимый бинарный файл.
🎉 — Требует, чтобы все зависимости были написаны на чистом Go.
👾 — Узнать ответ

🐸Библиотека задач по Go
✏️ Создайте ограничитель запросов (Rate Limiter)

Задача:

• Необходимо разработать ограничитель запросов, который будет ограничивать количество запросов от одного клиента не более 5 раз в секунду.

• Запросы, которые превышают установленный лимит, должны быть заблокированы.

Решение в картинках ⬆️

🐸Библиотека задач по Go