Что выведет код?
  Anonymous Quiz
    7%
    1
      
    42%
    1024
      
    13%
    1048576
      
    6%
    512
      
    7%
    Ошибку компиляции
      
    5%
    Панику во время выполнения
      
    21%
    Посмотреть результаты
      
    👍3👎2
  Сколько раз будет выведена строка "Only once"?
  Anonymous Quiz
    20%
    10 раз
      
    63%
    1 раз
      
    5%
    Не будет выведена ни разу
      
    5%
    Код выведет панику во время выполнения
      
    7%
    Посмотреть результаты
      
    👍5👎4❤3
  Что выведет код?
  Anonymous Quiz
    49%
    Ничего
      
    34%
    It's nil!
      
    12%
    Ошибку компиляции
      
    5%
    Посмотреть результаты 
      
    👏10👍4
  Что выведет код на Go?
  Anonymous Quiz
    38%
    2 2
      
    9%
    0 0
      
    10%
    0 2
      
    5%
    2 0
      
    22%
    Ошибку компиляции
      
    16%
    Посмотреть результаты
      
    ❤7👎5
  Что выведет код?
  Anonymous Quiz
    51%
    0 1 2 3 4 5
      
    22%
    0 2 4 6 8 10
      
    3%
    0 1 3 5 7 9
      
    16%
    Ошибку компиляции
      
    9%
    Посмотреть результаты
      
    👍36😢12🔥5👎3
  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
  🤔23👎15❤8👍6🔥5😁3😱3
  Что выведет код?
  Anonymous Quiz
    31%
    Ничего не выведет
      
    46%
    Код выводит числа в случайном порядке
      
    11%
    Ошибку компиляции
      
    4%
    Панику во время выполнения
      
    8%
    Посмотреть результаты
      
    👎39👍21🔥4🤬1
  Какой тип будет иметь value при переборе string с помощью for range?
  Anonymous Quiz
    10%
    string
      
    32%
    byte
      
    55%
    rune
      
    3%
    Посмотреть результаты
      
    👍12🔥4❤2
  Что выведет код?
  Anonymous Quiz
    6%
    0
      
    57%
    3
      
    6%
    1
      
    14%
    Ошибку компиляции
      
    5%
    Панику во время выполнения
      
    8%
    Посмотреть результаты
      
    3%
    Посмотреть результаты
      
    👍9😁2
  Что произойдёт, если мьютекс заблокирован, но горутина завершится до вызова Unlock?
  Anonymous Quiz
    24%
    Мьютекс автоматически разблокируется
      
    15%
    Программа завершится с ошибкой
      
    61%
    Мьютекс останется заблокированным навсегда
      
    👍20👎6
  Какие этапы включает работа GC?
  Anonymous Quiz
    43%
    Маркировка, Компактирование, Очистка
      
    15%
    Выделение, Проверка, Удаление
      
    34%
    Маркировка, Очистка, Компактирование
      
    8%
    Трассировка, Кэширование, Удаление
      
    😁9👍5👎4