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

Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
加入频道
Какой тип данных используется для работы с результатами запроса db.Query()
Anonymous Poll
15%
sql.QueryResult
1%
[]Product
14%
*sql.Result
73%
*sql.Rows
Что произойдёт, если данные в таблице SQL не могут быть преобразованы в тип Go
Anonymous Poll
7%
будет возвращена пустая строка
6%
данные будут проигнорированы
14%
возникнет паника
75%
метод rows.Scan() вернёт ошибку
Что вернет функция math.Hypot(3, 4)
Anonymous Poll
11%
3
18%
4
54%
5
5%
9
12%
16
15%
25
Реализуйте безопасное деление двух чисел с обработкой NaN и бесконечностей

Go сам корректно обрабатывает все случаи деления, однако кастомная функция может быть полезна при ряде случаев:

1. Явная проверка ошибок
Когда важно отлавливать ошибочные значения (NaN, Inf) и, например, логировать их, возвращать 0, nil, или выдавать ошибку.

2. Инкапсуляция поведения
Если нужно, чтобы при делении на ноль возвращалось 0, а не Inf, или паника — можно задать своё поведение.

3. Работа в критичных системах
В некоторых проектах (финтех, медицинские расчёты, физика) нельзя полагаться на «плавающее» поведение — нужно жёстко контролировать результат и явно обрабатывать особые случаи.

4. Единый интерфейс
Например, может быть функция и для int, и для float64 — чтобы не повторять везде проверки на 0.

🐸Библиотека задач по Go
Что произойдёт, если вызвать анонимную функцию без присваивания переменной
Anonymous Poll
4%
Функция не выполнится
10%
Будет ошибка компиляции
69%
Функция выполнится сразу
19%
Ничего не произойдёт
Какой синтаксис используется для определения анонимной функции
Anonymous Poll
3%
func имя() { ... }
4%
function() { ... }
94%
func() { ... }
1%
def() { ... }
Какой тип кучи создаётся при реализации Less(i, j int) bool как h[i] < h[j]
Anonymous Poll
11%
Максимальная куча
18%
Очередь с приоритетом
43%
Сортированная очередь
32%
Минимальная куча
Какой из этих пакетов позволяет работать с низкоуровневыми системными вызовами
Anonymous Poll
33%
os
2%
fmt
70%
syscall
2%
reflect
Какой паттерн используется для организации обмена данными между объектами без прямых ссылок
Anonymous Poll
54%
Mediator
24%
Observer
12%
Decorator
6%
Builder
5%
Proglibator