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

Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
加入频道
Какой принцип REST API нарушается, если сервер хранит состояние сеанса пользователя?
Anonymous Poll
2%
Uniform Interface
78%
Stateless
6%
Cacheable
2%
Layered System
15%
Узнать ответ
Как передать неограниченное количество аргументов разных типов
Anonymous Poll
8%
func myFunc(args ...int)
13%
func myFunc(args []interface{})
79%
func myFunc(args ...interface{})
6%
Узнать ответ
Пишите свои ответы в комментариях 👇

На самом деле ответ — 0, так как nil-мапа позволяет использовать метод get. А метод set не позволит скомпилировать код.
Свой VPN на golang


Решил сделать свой VPN на golang. В принципе основную часть сделал:

Программа создаёт виртуальный интерфейс TUN
Подключается к VPN серверу по UDP
И передает данные из TUN на сервер, а с сервера в TUN
На сервере примерно тот же самый сценарий. Как я понял, это уже является VPN (только без шифрования, но это я добавлю). Хотелось бы дать клиенту доступ в интернет, то есть что бы на сервере IP пакеты отправлялись дальше в сеть и с сети клиенту. Это я и не понимаю, как сделать. Всё делаю под Windows.
Можно ли использовать fallthrough в default-блоке switch
Anonymous Poll
36%
Да
52%
Нет
14%
Узнать ответ
Какой метод используется для выполнения SQL-запросов без возврата данных
Anonymous Poll
13%
Query()
77%
Exec()
7%
RunSQL()
5%
QueryRow()
Можно ли создать цикл 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. Повторяем процесс, пока сдача не будет полностью выдана.

Реализацию можно увидеть на картинке. 🔼