Библиотека Go для собеса | вопросы с собеседований
6.86K subscribers
248 photos
9 videos
1 file
536 links
Вопросы с собеседований по Go и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/0b524a15

Для обратной связи: @proglibrary_feeedback_bot

Наши каналы: https://t.iss.one/proglibrary/9197
Download Telegram
У вас есть массив чисел, в котором все числа встречаются по два раза, кроме одного — уникального, которое встречается один раз. Как вы бы решили эту задачу используя операцию XOR

Суть метода в свойствах XOR:

• Любое число XOR с самим собой дает 0:
a⊕a = 0
a⊕a = 0
.

• Любое число XOR с нулем дает само число:
a⊕0 = a
a⊕0 = a
.

• Операция XOR коммутативна и ассоциативна, то есть порядок операндов не важен.

Поэтому если последовательно применить XOR ко всем элементам массива, пары одинаковых чисел взаимно отменяются и останется только уникальное число.

🐸 Библиотека Go для собеса
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
В чем практические и внутренние различия между буферизованными и небуферизованными каналами

Небуферизованный канал — строгий. Отправка и прием завершаются одновременно и образуют отношение happens-before между записью и чтением значения.

Буферизованный канал хранит элементы в кольцевом буфере внутри структуры до выборки получателем. Отправитель блокируется лишь при полном буфере.

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

🐸 Библиотека Go для собеса
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42