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

Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
Download Telegram
Реализуйте безопасное деление двух чисел с обработкой NaN и бесконечностей

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

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

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

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

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

🐸Библиотека задач по Go
1🤔1
Что выведет код
Anonymous Poll
23%
Hello, Prog
17%
Hello, Lib
13%
Hello,
64%
Паника
🤡35👎6
Что произойдёт, если вызвать анонимную функцию без присваивания переменной
Anonymous Poll
4%
Функция не выполнится
10%
Будет ошибка компиляции
69%
Функция выполнится сразу
19%
Ничего не произойдёт
🤡8🕊1
Какой синтаксис используется для определения анонимной функции
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%
Минимальная куча
👍3
Какой из этих пакетов позволяет работать с низкоуровневыми системными вызовами
Anonymous Poll
33%
os
1%
fmt
70%
syscall
2%
reflect
Какой паттерн используется для организации обмена данными между объектами без прямых ссылок
Anonymous Poll
53%
Mediator
25%
Observer
13%
Decorator
6%
Builder
5%
Proglibator
😁2
В Go ошибки могут быть обработаны в конструкции ________ для выполнения кода при наличии ошибки
Anonymous Poll
25%
switch
84%
if
2%
for
8%
select
🌚3👍1
Какой протокол обычно используется для потоковых данных, например, для видео или аудио
Anonymous Poll
6%
ICMP
3%
FTP
6%
TCP
87%
UDP
Как можно запустить фаззинг-тесты в Go
Anonymous Poll
15%
go fuzz -test
76%
go test -fuzz
6%
go fuzz -run
5%
go run fuzz.go