🤡25
❓ Когда следует использовать context.WithValue в Go
Anonymous Poll
3%
Передача конфиденциальных данных, таких как пароли
14%
Передача данных между разными пакетами без необходимости их сериализации
4%
Передача больших структур данных между функциями
87%
Передача метаданных: ID запроса или сессионных данных
❓ Что нужно помнить при использовании context в юнит-тестах
Anonymous Poll
57%
Контексты с таймаутом и отменой должны быть явно отменены в конце теста
21%
В тестах не стоит использовать cancel(), так как это не влияет на выполнение теста
18%
В тестах не нужно использовать контексты, так как они автоматически управляются системой
9%
Контексты можно использовать только для работы с сетевыми запросами
❓ Что гарантирует использование sync.Once в Go
Anonymous Poll
93%
Однократное выполнение кода, даже если он вызывается в нескольких горутинах
1%
Одновременную инициализацию нескольких объектов
4%
Потокобезопасный доступ к переменным
4%
Чтение из канала только в одном потоке
❓ Что выведет код
Anonymous Poll
11%
false
11%
true
19%
Паника во время выполнения
60%
Ничего не выведет
🤡30
❓ Когда стоит использовать context.TODO() вместо context.Background()
Anonymous Poll
6%
Нужно гарантировать, что контекст будет отменён при завершении функции
3%
Когда передаются данные через контекст
90%
Контекст ещё не определён, и вам нужно временно использовать заглушку
3%
Когда контекст должен быть передан другим компонентам без изменений
❗️ Я задачи этой недели
Anonymous Poll
34%
Легко решал
15%
Нормально решал
5%
Еле решал
54%
Вообще не решал
❓ Что выведет код
Anonymous Poll
29%
data.val = <nil>
25%
data.val = 0
18%
data.val = 5
43%
data.val = undefined
🤡11
❓ Что происходит, если структура в Go содержит поле с таким же именем, как у поля во встроенной структуре
Anonymous Poll
11%
Поле во встроенной структуре становится недоступным, так как оно скрывается полем внешней структуры.
11%
Структура вызывает ошибку компиляции из-за дублирования имен.
79%
Поле во встроенной структуре остаётся доступным через обращение к внутренней структуре
2%
Невозможно обратиться к скрытому полю, так как это вызовет ошибку компиляции.
❓ Что выведет код
Anonymous Poll
13%
avengers: end game & midnight in paris
13%
avengers: end game & end game
7%
avengers: game & midnight paris
67%
Ошибка комиляции
🤡11
❓Что будет выведено, если вызвать defer внутри цикла в Go
Anonymous Poll
9%
Все отложенные вызовы будут выполнены до выхода из цикла
8%
defer не работает в цикле, и программа вызовет ошибку
11%
Все отложенные вызовы будут выполнены после завершения цикла, но в порядке их вызова
72%
Все отложенные вызовы будут выполнены после завершения цикла, но в обратном порядке
❓Как в Go можно определить, что канал закрыт
Anonymous Poll
14%
Канал можно проверить на nil, чтобы узнать, закрыт ли он
66%
Можно использовать второй результат от операции чтения из канала
11%
Для проверки канала используется встроенная функция isClosed()
15%
Канал можно проверить только через конструкцию select, которая исключает закрытие
👍1
❓ На прошлой неделе были _______ задачи
Anonymous Poll
9%
Крутые
15%
Хорошие
21%
Средние
55%
Скучные
❓ Каким образом можно проверить, что значение интерфейса в Go не nil
Anonymous Poll
35%
Проверить второй результат после утверждения типа с помощью ok
52%
Использовать оператор == nil, чтобы проверить интерфейс на nil
11%
Проверить тип интерфейса с помощью функции reflect.TypeOf()
9%
Для проверки интерфейса используется встроенная функция isNil()
❤1
❓ Какая особенность компилятора Go позволяет исключить явное управление памятью и очистку памяти, как в C/C++
Anonymous Poll
97%
Реализация сборщика мусора (Garbage Collector)
2%
Использование указателей и ручное управление памятью
3%
Оптимизация работы с динамическими данными
2%
Преимущество использования Go как языка с явной типизацией
😁3