❓ Что произойдёт, если не вызвать cancel() при использовании context.WithTimeout()
Anonymous Poll
18%
Контекст продолжит жить, но ресурсы не будут освобождены
3%
Программа завершится с ошибкой, так как отмена контекста не будет обработана
10%
Горутину не удастся завершить, что приведёт к утечке памяти
71%
Контекст будет автоматически отменён по таймауту
❓ Что происходит, если несколько каналов в select готовы для операции одновременно
Anonymous Poll
0%
Все каналы выполняются одновременно
20%
select выбирает первый канал по порядку в коде
2%
Выбирается канал с минимальной длиной очереди
78%
Выбирается случайный канал, если несколько готовы
👍3
🤡25
❓ Когда следует использовать context.WithValue в Go
Anonymous Poll
2%
Передача конфиденциальных данных, таких как пароли
14%
Передача данных между разными пакетами без необходимости их сериализации
4%
Передача больших структур данных между функциями
88%
Передача метаданных: ID запроса или сессионных данных
❓ Что нужно помнить при использовании context в юнит-тестах
Anonymous Poll
58%
Контексты с таймаутом и отменой должны быть явно отменены в конце теста
19%
В тестах не стоит использовать cancel(), так как это не влияет на выполнение теста
19%
В тестах не нужно использовать контексты, так как они автоматически управляются системой
8%
Контексты можно использовать только для работы с сетевыми запросами
❓ Что гарантирует использование sync.Once в Go
Anonymous Poll
93%
Однократное выполнение кода, даже если он вызывается в нескольких горутинах
1%
Одновременную инициализацию нескольких объектов
3%
Потокобезопасный доступ к переменным
4%
Чтение из канала только в одном потоке
❓ Что выведет код
Anonymous Poll
12%
false
10%
true
18%
Паника во время выполнения
59%
Ничего не выведет
🤡31
❓ Когда стоит использовать context.TODO() вместо context.Background()
Anonymous Poll
6%
Нужно гарантировать, что контекст будет отменён при завершении функции
3%
Когда передаются данные через контекст
90%
Контекст ещё не определён, и вам нужно временно использовать заглушку
3%
Когда контекст должен быть передан другим компонентам без изменений
❗️ Я задачи этой недели
Anonymous Poll
33%
Легко решал
14%
Нормально решал
5%
Еле решал
56%
Вообще не решал
❓ Что выведет код
Anonymous Poll
31%
data.val = <nil>
28%
data.val = 0
21%
data.val = 5
45%
data.val = undefined
🤡13
❓ Что происходит, если структура в Go содержит поле с таким же именем, как у поля во встроенной структуре
Anonymous Poll
10%
Поле во встроенной структуре становится недоступным, так как оно скрывается полем внешней структуры.
11%
Структура вызывает ошибку компиляции из-за дублирования имен.
80%
Поле во встроенной структуре остаётся доступным через обращение к внутренней структуре
2%
Невозможно обратиться к скрытому полю, так как это вызовет ошибку компиляции.
❓ Что выведет код
Anonymous Poll
13%
avengers: end game & midnight in paris
13%
avengers: end game & end game
6%
avengers: game & midnight paris
69%
Ошибка комиляции
🤡14
❓Что будет выведено, если вызвать defer внутри цикла в Go
Anonymous Poll
9%
Все отложенные вызовы будут выполнены до выхода из цикла
7%
defer не работает в цикле, и программа вызовет ошибку
11%
Все отложенные вызовы будут выполнены после завершения цикла, но в порядке их вызова
73%
Все отложенные вызовы будут выполнены после завершения цикла, но в обратном порядке
❓Как в Go можно определить, что канал закрыт
Anonymous Poll
14%
Канал можно проверить на nil, чтобы узнать, закрыт ли он
67%
Можно использовать второй результат от операции чтения из канала
11%
Для проверки канала используется встроенная функция isClosed()
15%
Канал можно проверить только через конструкцию select, которая исключает закрытие
👍1
❓ На прошлой неделе были _______ задачи
Anonymous Poll
9%
Крутые
14%
Хорошие
20%
Средние
57%
Скучные