Что выведет код?
Anonymous Quiz
50%
0 1 2 3 4 5
22%
0 2 4 6 8 10
3%
0 1 3 5 7 9
16%
Ошибку компиляции
9%
Посмотреть результаты
package main
import (
"fmt"
"time"
)
func main () {
ch := make ( chan int )
go func () {
time.Sleep( 2 * time.Second)
ch <- 42
fmt.Println( "Отправлено: 42" )
}()
val := <-ch
fmt.Println( "Получено:" , val)
fmt.Println( "Продолжение выполнения..." )
}
[Running] go run "main.go"
Отправлено: 42
Получено: 42
Продолжение выполнения...
[Done] exited with code=0 in 2.124 seconds
select {
case <-ch1:
// Сделать что-то, когда ch1 готов к приему
case ch2 <- value :
// Сделать что-то, когда ch2 готов к отправке
default :
// Сделать что-то, когда ни один канал не готов (неблокируемый путь)
}
package main
import (
"fmt"
"time"
)
func main () {
ch := make ( chan int )
// Goroutine для отправки данных в канал через 2 секунды
go func () {
time.Sleep( 2 * time.Second)
ch <- 42
fmt.Println( "Отправлено: 42" )
}()
// Основная функция, выполняющая неблокирующее чтение
for {
select {
case val := <-ch:
fmt.Println( "Получено:" , val)
fmt.Println( "Продолжение выполнения..." )
return
default :
fmt.Println( "Значения не были получены" )
time.Sleep( 500 * time.Millisecond) // Некоторое время ждем, чтобы предотвратить зацикливание
// обрабатываем поток выполнения инструкций и операций, которые должны быть продолжены
}
}
}
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой тип будет иметь value при переборе string с помощью for range?
Anonymous Quiz
10%
string
32%
byte
55%
rune
3%
Посмотреть результаты
Что выведет код?
Anonymous Quiz
7%
0
57%
3
6%
1
14%
Ошибку компиляции
5%
Панику во время выполнения
8%
Посмотреть результаты
3%
Посмотреть результаты
Что произойдёт, если мьютекс заблокирован, но горутина завершится до вызова Unlock?
Anonymous Quiz
24%
Мьютекс автоматически разблокируется
16%
Программа завершится с ошибкой
60%
Мьютекс останется заблокированным навсегда
Какие этапы включает работа GC?
Anonymous Quiz
43%
Маркировка, Компактирование, Очистка
15%
Выделение, Проверка, Удаление
34%
Маркировка, Очистка, Компактирование
8%
Трассировка, Кэширование, Удаление
Как sync.Pool помогает сборщику мусора?
Anonymous Quiz
12%
Увеличивает количество объектов в куче
66%
Уменьшает выделение новых объектов
15%
Ускоряет удаление объектов
6%
Замедляет работу горутин
Что выведет первая строка?
Anonymous Quiz
53%
[1 2 3 4 5]
10%
[1 99 3 4 5]
31%
[1 99 3 4 10]
6%
[1 2 3 4 10]
В какой момент Go устанавливает случайный seed для map?
Anonymous Quiz
42%
При создании новой map
28%
Один раз при старте программы
18%
Перед каждой итерацией range
12%
При каждом доступе к элементу map
❓ Что произойдет, если написать //go:generate перед функцией в коде?
Anonymous Quiz
5%
Код не скомпилируется
53%
Go выполнит указанную команду при генерации кода
13%
Go проигнорирует этот комментарий
10%
Это специальный комментарий для работы с интерфейсами
18%
Узнать ответ
❓ Что произойдёт, если вызвать runtime.Gosched() внутри функции без горутин
Anonymous Quiz
8%
Программа завершится с ошибкой.
53%
Ничего не произойдёт — код продолжит выполняться.
20%
Код приостановится на неопределённое время.
19%
Узнать ответ
❓Как передать неограниченное количество аргументов разных типов
Anonymous Quiz
11%
func myFunc(args ...int)
11%
func myFunc(args []interface{})
75%
func myFunc(args ...interface{})
3%
Узнать ответ