Go

Channels

Channels, buffered vs unbuffered, close, select, range over channels, nil channels

22 preguntas de entrevista·
Junior
1

What is a channel in Go?

Respuesta

A channel is a data type that enables communication and synchronization between goroutines. It acts as a typed conduit allowing sending and receiving values in a thread-safe manner. Use channels to share data between goroutines instead of sharing memory directly.

2

How to create an unbuffered channel of integers in Go?

Respuesta

An unbuffered channel is created with make(chan T) without specifying capacity. It blocks the sender until a receiver is ready, ensuring strict synchronization. Use unbuffered channels for one-to-one communications requiring explicit synchronization.

3

What is the main difference between a buffered and an unbuffered channel?

Respuesta

An unbuffered channel blocks the sender until a receiver is ready (strict synchronization), while a buffered channel can store values up to its capacity before blocking. Buffered channels decouple goroutines and improve performance in some cases, but can hide concurrency issues. Use unbuffered for synchronization, buffered for throughput.

4

How to create a buffered channel with a capacity of 10 elements?

5

How to send a value into a channel?

+19 preguntas de entrevista

Domina Go para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis