❓ От чего зависит размерность типа int
Anonymous Poll
6%
От версии компилятора
90%
От архитектуры платформы
2%
От количества переменных в коде
1%
От настроек IDE
5%
От переданных аргументов при старте программы
👍1
👍1
❓ Какой размер у переменной, типом которой является интерфейс на x64 архитектуре
Anonymous Poll
8%
4 байта
39%
8 байт
27%
16 байт
28%
Зависит от интерфейса
❤1
❓ Как объявить алиас для типа int
Anonymous Poll
71%
type MyInt int
19%
type MyInt = int
8%
alias MyInt int
4%
var MyInt = int
🤡9🤯1🥴1
❓ Зачем используют алиасы при импорте пакетов
Anonymous Poll
3%
Чтобы ускорить компиляцию
1%
Для создания новых пакетов
96%
Для предотвращения конфликтов имен
2%
Для уменьшения размера бинарника
🌭2
❓ Можно ли присваивать значение типа-алиаса значению оригинального типа
Anonymous Poll
18%
Нет, это разные типы
47%
Да, они полностью совместимы
32%
Только через явное преобразование
5%
Только если это указатели
❓ Можно ли создавать алиасы для встроенных типов, например string
Anonymous Poll
5%
Нет, только для пользовательских
94%
Да, алиасы можно для любых типов
1%
Только для структур
1%
Только для интерфейсов
❓ Влияют ли алиасы на производительность кода
Anonymous Poll
4%
Да, сильно замедляют
91%
Нет, это всего лишь синонимы типов
4%
Зависит от компилятора
2%
Только в отладке
❓ Что описывает паттерн fan-out в контексте конкурентного программирования
Anonymous Poll
32%
Сбор результатов с нескольких горутин в один поток.
66%
Распараллеливание одной задачи на множество горутин.
3%
Последовательное выполнение задач для экономии ресурсов.
1%
Проверку состояния всех горутин.
❤2
❗️ Оцените вопросы прошлой недели в двоичной системе
Anonymous Poll
24%
001
5%
010
21%
011
32%
100
27%
101
🤔2
❓ Какой механизм Go используется для реализации паттерна fan-in
Anonymous Poll
14%
Мьютекс
84%
Каналы
2%
Таймеры
3%
Интерфейсы
🤡34
❓ В чем ключевое отличие fan-out/fan-in от простого параллелизма
Anonymous Poll
62%
Fan-out/fan-in включает централизованный сбор результатов
11%
Fan-out/fan-in выполняет задачи последовательно
2%
Fan-out/fan-in не использует каналы
31%
Fan-out/fan-in использует мультипараллельную парадигму
❓ В каком случае изменения в срезе могут перестать быть видны в другом срезе
Anonymous Poll
5%
При изменении отдельного элемента среза
13%
При получении под-среза с помощью [a:b]
67%
При использовании append при полном заполнении capacity
19%
Изменения в любом случае будут видны
❓ В каком случае можно использовать пользовательские типы как ключи в мапе
Anonymous Poll
1%
Тип содержит только экспортируемые поля
84%
Тип состоит только из сравнимых полей
9%
Тип реализует интерфейс Stringer
7%
Тип является указателем
❓ Что обозначает параметр GOGC
Anonymous Poll
8%
Максимальный размер памяти, доступной приложению
72%
Процент прироста памяти перед запуском сборщика мусора
15%
Количество горутин в программе
6%
Версию компилятора Go
❓ Сколько верных ответов было у вас на этой неделе
Anonymous Poll
53%
5-7
18%
3-4
10%
1-2
20%
Ни одного, ну и вопросы!
❓ Для каких объектов sync.Pool подходит лучше всего
Anonymous Poll
11%
Крупные долгоживущие структуры конфигурации
12%
Долгоживущие singletons
75%
Часто создаваемые, короткоживущие временные объекты
5%
Только сетевые соединения
❓ Как правильнее всего поступить с bytes.Buffer перед возвратом в sync.Pool
Anonymous Poll
14%
Ничего не делать, просто положить как есть
59%
Вызвать Reset() и затем положить в пул
24%
Обнулить указатель через buf = nil и положить в пул
8%
Освободить через runtime.Free()
❓ Почему использование sync.Pool для редких и дешёвых аллокаций обычно не даёт пользы
Anonymous Poll
8%
sync.Pool работает только при высоком уровне конкуренции
85%
Накладные расходы на пул могут быть выше, чем выгода от экономии аллокаций
8%
GC игнорирует такие объекты
1%
sync.Pool нельзя использовать для небольших объектов