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

Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
Download Telegram
Что из этого не является обязательным элементом для отправки письма через пакет mail
Anonymous Poll
12%
SMTP-сервер
79%
Тема письма
12%
Адрес отправителя
4%
Адрес получателя
Какой алгоритм сортировки использует O(n+k) дополнительной памяти?
Anonymous Poll
13%
Быстрая сортировка
37%
Пирамидальная сортировка
22%
Сортировка выбором
34%
Блочная сортировка
Какой результат покажет этот код?

Оставляйте свои предположения в комментариях 👇
Какой тип данных используется для работы с результатами запроса db.Query()
Anonymous Poll
15%
sql.QueryResult
1%
[]Product
14%
*sql.Result
72%
*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