❓ Чем отличается %v от %+v при выводе структуры
Anonymous Poll
83%
%+v включает имена полей
10%
%v выводит тип
2%
Они идентичны
11%
%+v добавляет перенос строки
❓ Что делает метод Flush() в библиотеке bufio
Anonymous Poll
2%
Снова читает файл
5%
Перезаписывает файл
91%
Сбрасывает данные из буфера в файл
3%
Закрывает файл после записи
❓ Что произойдёт, если два маршрута в Go-пакете net/http пересекаются и соответствуют одному запросу
Anonymous Poll
38%
Будет выбран первый зарегистрированный маршрут
26%
Выберется последний зарегистрированный маршрут
23%
Произойдёт ошибка маршрутизации
14%
Будут выполнены оба обработчика маршрутов
❓ Какой тип данных используется для работы с результатами запроса db.Query()
Anonymous Poll
15%
sql.QueryResult
1%
[]Product
14%
*sql.Result
72%
*sql.Rows
❓Что будет при вызове GET метода user/1
Anonymous Poll
45%
Вызов HandlerA
16%
Вызов HandlerB
14%
Вызовутся оба хэндлера
36%
Паника
❓ Что произойдёт, если данные в таблице SQL не могут быть преобразованы в тип Go
Anonymous Poll
7%
будет возвращена пустая строка
6%
данные будут проигнорированы
14%
возникнет паника
75%
метод rows.Scan() вернёт ошибку
❓ Что следует сделать после завершения работы с rows в Go
Anonymous Poll
46%
применить метод rows.Close()
2%
сохранить результат в файл
13%
вызвать метод db.Close()
47%
вызвать метод rows.Close() для закрытия соединения с набором данных
❓ Чем отличаются math.Floor и math.Ceil
Anonymous Poll
21%
Floor округляет вверх, Ceil — вниз
66%
Floor округляет вниз, Ceil — вверх
1%
Они делают одно и то же
15%
Ceil возвращает целое число, Floor — дробное
❓ Реализуйте безопасное деление двух чисел с обработкой NaN и бесконечностей
Go сам корректно обрабатывает все случаи деления, однако кастомная функция может быть полезна при ряде случаев:
1. Явная проверка ошибок
Когда важно отлавливать ошибочные значения (NaN, Inf) и, например, логировать их, возвращать 0, nil, или выдавать ошибку.
2. Инкапсуляция поведения
Если нужно, чтобы при делении на ноль возвращалось 0, а не Inf, или паника — можно задать своё поведение.
3. Работа в критичных системах
В некоторых проектах (финтех, медицинские расчёты, физика) нельзя полагаться на «плавающее» поведение — нужно жёстко контролировать результат и явно обрабатывать особые случаи.
4. Единый интерфейс
Например, может быть функция и для int, и для float64 — чтобы не повторять везде проверки на 0.
🐸Библиотека задач по Go
Go сам корректно обрабатывает все случаи деления, однако кастомная функция может быть полезна при ряде случаев:
1. Явная проверка ошибок
Когда важно отлавливать ошибочные значения (NaN, Inf) и, например, логировать их, возвращать 0, nil, или выдавать ошибку.
2. Инкапсуляция поведения
Если нужно, чтобы при делении на ноль возвращалось 0, а не Inf, или паника — можно задать своё поведение.
3. Работа в критичных системах
В некоторых проектах (финтех, медицинские расчёты, физика) нельзя полагаться на «плавающее» поведение — нужно жёстко контролировать результат и явно обрабатывать особые случаи.
4. Единый интерфейс
Например, может быть функция и для int, и для float64 — чтобы не повторять везде проверки на 0.
🐸Библиотека задач по Go
❓ Что такое method value
Anonymous Poll
31%
Тип данных, хранящий метод
7%
Общая функция без получателя
7%
Функция, не связанная с типом
57%
Метод, связанный с конкретным экземпляром типа
❓ В каком из случаев в Go целесообразно использовать кучу (heap) из стандартного пакета container/heap
Anonymous Poll
15%
Быстро удалить элементы с конца среза
54%
Организовать очередь с приоритетами
25%
Избежать утечек памяти
9%
Обрабатывать сигналы от операционной системы
❓ Что произойдёт, если вызвать heap.Pop на пустой куче в Go
Anonymous Poll
23%
Паника (panic)
34%
Вернётся nil без ошибки
40%
Возвращён нулевой элемент типа (zero value)
4%
Автоматически создан новый элемент
❓ Что произойдёт, если вызвать анонимную функцию без присваивания переменной
Anonymous Poll
4%
Функция не выполнится
10%
Будет ошибка компиляции
69%
Функция выполнится сразу
19%
Ничего не произойдёт
❓ Какой синтаксис используется для определения анонимной функции
Anonymous Poll
3%
func имя() { ... }
4%
function() { ... }
94%
func() { ... }
1%
def() { ... }
❓ Как использовать анонимную функцию
Anonymous Poll
14%
Для однострочных выражений
57%
Внутри других функций
50%
Присвоить переменной и вызывать по необходимости
18%
Только как аргумент другой функции
❓Какой тип кучи создаётся при реализации Less(i, j int) bool как h[i] < h[j]
Anonymous Poll
11%
Максимальная куча
18%
Очередь с приоритетом
43%
Сортированная очередь
31%
Минимальная куча
❓ Для чего используют пустые структуры в map
Anonymous Poll
76%
Когда нужны только ключи
5%
Для хранения значений
10%
Пустые структуры нельзя использовать в map
11%
Для оптимизации чтения
❓ Когда сборщик мусора очищает слайсы
Anonymous Poll
81%
Когда на слайс нет ссылок
8%
Когда программа завершается
2%
Когда слайс пустой
15%
Сборщик мусора не очищает слайсы