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

Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
加入频道
Что из следующего не является floating типом в Go?
Anonymous Quiz
22%
float128
7%
complex64
9%
complex128
62%
Все вышеперечисленное.
Что из следующего не является булевым типом в Go?
Anonymous Quiz
2%
true
1%
false
82%
0
15%
Все вышеперечисленное.
Что выведет код?
Anonymous Quiz
14%
[7 5 6]
50%
[7 6 5]
36%
[7 0 5 6]
👆 Пояснение к предыдущему вопросу

👨🏻‍💻 В литералах срезов и массивов в Go индексируемые элементы и неиндексированные элементы могут сосуществовать. Индекс неиндексированного элемента - это индекс его предыдущего элемента плюс 1.

Итак []int{2: 5, 6, 0: 7} становится []int{0: 7, 1: 0, 2: 5, 3: 6}.

Golang задачи с собеседований
👆 Пояснение к предыдущему вопросу

👨🏻‍💻 Скорее всего вы бы использовали пустую структуру чтобы сэкономить память.

a := struct{}{}
println(unsafe.Sizeof(a)) // Output: 0

Хотя более важное использование пустой структуры - показать читателю кода, что вам не важно значение вообще, то есть целью является передача информации о задумке автора.

Golang задачи с собеседований
Что выведет код?
Anonymous Quiz
38%
true
48%
false
14%
invalid operation
👆 Пояснение к предыдущему вопросу

👨🏻‍💻 При "переприсвоении" массива создается полностью идентичная копия в отдельной области памяти. Соответственно изменение одного массива, не повлияет на другой. И так как массив является сравниваемым типом данных, то операция сравнения не выдаст ошибку.

Golang задачи с собеседований