Сколько раз будет выведена строка "Only once"?
Anonymous Quiz
20%
10 раз
63%
1 раз
5%
Не будет выведена ни разу
5%
Код выведет панику во время выполнения
7%
Посмотреть результаты
Что выведет код?
Anonymous Quiz
48%
Ничего
35%
It's nil!
11%
Ошибку компиляции
6%
Посмотреть результаты
Что выведет код на Go?
Anonymous Quiz
37%
2 2
9%
0 0
11%
0 2
5%
2 0
22%
Ошибку компиляции
17%
Посмотреть результаты
Что выведет код?
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%
Замедляет работу горутин