🤡25
❓ Когда следует использовать context.WithValue в Go
Anonymous Poll
2%
Передача конфиденциальных данных, таких как пароли
14%
Передача данных между разными пакетами без необходимости их сериализации
4%
Передача больших структур данных между функциями
88%
Передача метаданных: ID запроса или сессионных данных
❓ Что нужно помнить при использовании context в юнит-тестах
Anonymous Poll
57%
Контексты с таймаутом и отменой должны быть явно отменены в конце теста
20%
В тестах не стоит использовать cancel(), так как это не влияет на выполнение теста
19%
В тестах не нужно использовать контексты, так как они автоматически управляются системой
9%
Контексты можно использовать только для работы с сетевыми запросами
❓ Что гарантирует использование sync.Once в Go
Anonymous Poll
93%
Однократное выполнение кода, даже если он вызывается в нескольких горутинах
1%
Одновременную инициализацию нескольких объектов
4%
Потокобезопасный доступ к переменным
4%
Чтение из канала только в одном потоке
❓ Что выведет код
Anonymous Poll
10%
false
10%
true
19%
Паника во время выполнения
60%
Ничего не выведет
🤡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%
Структура вызывает ошибку компиляции из-за дублирования имен.
79%
Поле во встроенной структуре остаётся доступным через обращение к внутренней структуре
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, чтобы узнать, закрыт ли он
66%
Можно использовать второй результат от операции чтения из канала
11%
Для проверки канала используется встроенная функция isClosed()
15%
Канал можно проверить только через конструкцию select, которая исключает закрытие
👍1
❓ На прошлой неделе были _______ задачи
Anonymous Poll
9%
Крутые
14%
Хорошие
20%
Средние
57%
Скучные
❓ Каким образом можно проверить, что значение интерфейса в Go не nil
Anonymous Poll
33%
Проверить второй результат после утверждения типа с помощью ok
53%
Использовать оператор == nil, чтобы проверить интерфейс на nil
12%
Проверить тип интерфейса с помощью функции reflect.TypeOf()
10%
Для проверки интерфейса используется встроенная функция isNil()
❤1
❓ Какая особенность компилятора Go позволяет исключить явное управление памятью и очистку памяти, как в C/C++
Anonymous Poll
96%
Реализация сборщика мусора (Garbage Collector)
2%
Использование указателей и ручное управление памятью
3%
Оптимизация работы с динамическими данными
3%
Преимущество использования Go как языка с явной типизацией
😁3