
Channels
Channels, buffered vs unbuffered, close, select, range sobre channels, nil channels
1¿Qué es un channel en Go?
¿Qué es un channel en Go?
Respuesta
Un channel es un tipo de dato que permite la comunicación y la sincronización entre goroutines. Actúa como un conducto tipado que permite enviar y recibir valores de manera thread-safe. Usa channels para compartir datos entre goroutines en lugar de compartir la memoria directamente.
2¿Cómo crear un unbuffered channel de enteros en Go?
¿Cómo crear un unbuffered channel de enteros en Go?
Respuesta
Un unbuffered channel se crea con make(chan T) sin especificar capacidad. Bloquea al emisor hasta que un receptor esté listo, garantizando una sincronización estricta. Usa unbuffered channels para comunicaciones one-to-one que requieren sincronización explícita.
3¿Cuál es la diferencia principal entre un buffered y un unbuffered channel?
¿Cuál es la diferencia principal entre un buffered y un unbuffered channel?
Respuesta
Un unbuffered channel bloquea al emisor hasta que un receptor esté listo (sincronización estricta), mientras que un buffered channel puede almacenar valores hasta su capacidad antes de bloquear. Los buffered channels desacoplan las goroutines y mejoran el rendimiento en algunos casos, pero pueden ocultar problemas de concurrencia. Usa unbuffered para la sincronización, buffered para el throughput.
¿Cómo crear un buffered channel con una capacidad de 10 elementos?
¿Cómo enviar un valor a un channel?
+19 preguntas de entrevista
Otros temas de entrevista Go
Fundamentos de Go
Estructuras de datos en Go
Interfaces en Go
Manejo de errores
Goroutines básicas
Go Modules
Servidor HTTP
Cliente HTTP
Codificación JSON
Database/SQL
Paquete context
Testing
Patrones de concurrencia
Primitivas de sincronización
Frameworks web de Go
Diseño de API REST
gRPC
Reflection
Gestión de memoria
Optimización del rendimiento
Generics
Go Design Patterns
Microservices
Seguridad y autenticación
Docker & Containerization
Kubernetes Basics
Go Avanzado
Desarrollo de CLI
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