❓ Почему в мапе могут возникать коллизии
Anonymous Poll
3%
Потому что Go использует недостаточно быстрые хеш-функции
87%
Несколько разных ключей могут дать одинаковый хеш или попасть в один bucket
9%
map в Go имеет фиксированный размер и при превышении лимита новые ключи вытесняют старые
6%
Вместо хранения полного хеша для каждого ключа используется только первый байт
👍1
❓ Вопросы прошлой пятидневной недели мне _____________
Anonymous Poll
14%
Очень понравились
36%
Понравились
17%
Скорее не понравились
11%
Не понравились
36%
Почему такой акцент на пятидневной неделе?
👍1
❓ Какие методы предоставляет atomic.Value
Anonymous Poll
28%
Read() и Write()
11%
Lock() и Unlock()
3%
Start() и Stop()
62%
Store() и Load()
❓ Что произойдет, если в atomic.Value сначала записать строку, а потом попытаться записать целое число
Anonymous Poll
37%
Значение перезапишется без ошибок
53%
Программа завершится с паникой
7%
Второе значение проигнорируется
6%
Произойдет дедлок
❓ Обеспечивает ли atomic.Value потокобезопасность вложенным полям структуры
Anonymous Poll
27%
Да, полностью
59%
Нет, только атомарность самой структуры
14%
Да, но только для числовых типов
0%
Только для полей типа string
1%
Нет, если полей больше 10
❓ Что означает понятие потокобезопасность
Anonymous Poll
3%
Код захэшируется при выполнении параллельно
89%
Код корректно выполнится при выполнении параллельно
7%
Код скрывает переменные при выполнении параллельно
3%
Код нельзя запустить параллельно
❓ В какой момент вычисляются аргументы функции, вызванной с defer
Anonymous Poll
33%
Во время выполнения отложенной функции
58%
В момент объявления defer
7%
В конце программы
4%
Во время компиляции
❓ Что произойдет с порядком выполнения нескольких defer вызовов в одной функции
Anonymous Poll
11%
Выполняются в порядке их объявления
1%
Выполняются одновременно горутинами
86%
Выполняются в обратном порядке
2%
Выполняются случайно
❓ Когда отправитель блокируется на буферизованном канале
Anonymous Poll
5%
Всегда, до момента чтения значения
89%
Только если буфер заполнен
2%
Никогда
5%
Только при размере буфера 1
❓ Как ведёт себя получатель в буферизованном канале
Anonymous Poll
12%
Никогда не блокируется
70%
Блокируется, если буфер пуст
17%
Блокируется, только если буфер полон
2%
Блокируется всегда
❓ Где хранится содержимое буфера буферизованного канала
Anonymous Poll
14%
В стеке отправителя
7%
В стеке получателя
71%
В кольцевом буфере внутри структуры hchan
12%
В глобальном heap без структуры
❓ Что происходит с данными при небуферизованной передаче, когда есть ожидающий получатель
Anonymous Poll
17%
Копируются в кольцевой буфер и оттуда читаются
6%
Переносятся через глобальную очередь событий
70%
Копируются напрямую между стеками горутин
10%
Перемещаются с помощью memcpy внутри heap
❓ Что произойдёт, если отправить в полный буферизованный канал без конкурентного получателя
Anonymous Poll
7%
Паника
4%
Потеря данных
76%
Блокировка отправителя до освобождения места
16%
Системный deadlock
❤1
❓ Сколько элементов может быть в бакете у мапы
Anonymous Poll
2%
4
50%
8
7%
16
1%
24
8%
32
36%
Бесконечно
👍2
❓ От чего зависит размерность типа int
Anonymous Poll
6%
От версии компилятора
88%
От архитектуры платформы
2%
От количества переменных в коде
1%
От настроек IDE
6%
От переданных аргументов при старте программы
👍1
👍1
❓ Какой размер у переменной, типом которой является интерфейс на x64 архитектуре
Anonymous Poll
8%
4 байта
39%
8 байт
29%
16 байт
25%
Зависит от интерфейса
🌐 HTTP уже не тянет? В микросервисной архитектуре запросы множатся, скорость падает, а код превращается в клубок зависимостей. Настало время познакомиться с инструментом, который решает эти проблемы изящно — gRPC.
📗 На открытом уроке вы разберёте, как работает этот фреймворк, почему он вытесняет REST и как описывать API с помощью Protobuf. Вы узнаете, как обеспечить обратную совместимость между сервисами, повысить производительность и упростить взаимодействие микросервисов.
❗️После вебинара вы сможете строить быстрые и надёжные коммуникации между сервисами на Go — с чистой архитектурой и минимумом боли.
➡️ 12 ноября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «Golang Developer. Professional». Регистрируйтесь и узнайте, почему gRPC становится стандартом нового поколения для Go-разработчиков: https://clck.ru/3QB9xp
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
📗 На открытом уроке вы разберёте, как работает этот фреймворк, почему он вытесняет REST и как описывать API с помощью Protobuf. Вы узнаете, как обеспечить обратную совместимость между сервисами, повысить производительность и упростить взаимодействие микросервисов.
❗️После вебинара вы сможете строить быстрые и надёжные коммуникации между сервисами на Go — с чистой архитектурой и минимумом боли.
➡️ 12 ноября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «Golang Developer. Professional». Регистрируйтесь и узнайте, почему gRPC становится стандартом нового поколения для Go-разработчиков: https://clck.ru/3QB9xp
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❓ Как объявить алиас для типа int
Anonymous Poll
67%
type MyInt int
24%
type MyInt = int
8%
alias MyInt int
4%
var MyInt = int
🤡7🤯1🥴1