Golang
¿Cómo se puede evitar la condición de carrera? ¿Cómo funciona un Mutex?
¿Cómo sigues desarrollándote profesionalmente?
¿Cómo se manifiesta la falta de disponibilidad en el sistema CP?
¿Será cómodo trabajar con la documentación técnica en inglés?
¿Discutieron el desarrollo? ¿Había un plan de desarrollo?
Cuéntame sobre el proceso de lanzamiento: ¿cómo funciona el lanzamiento?
¿Qué sucede al hacer append si la capacidad del slice no es suficiente (aloca un nuevo array)?
¿Actualmente trabajas en [empresa] — qué tan relevante es esto y qué te llevó a considerar una nueva oferta?
¿Qué te interesa ahora en un nuevo empleador? ¿Cómo sería una experiencia laboral ideal?
¿Qué transmitirías dentro de este canal (qué estructura de datos)?
SELECT departamento, SUM(salary) FROM empleados GROUP BY departamento HAVING SUM(salary) > 10000; emails email | usuario Mostrar email y la cantidad de veces que aparece
Diseñe un sistema de aplicación de ajedrez: emparejamiento, creación de sesiones de juego y registro de resultados. Indique los servicios, su interacción y los almacenes de datos.
¿Cómo provocar pánico al trabajar con un canal? ¿Qué sucede con las operaciones en un canal nil y un canal cerrado?
¿Qué proyectos estás liderando, cuáles son las tareas de alto nivel que realizas?
func (p *Pool) Stop() { p.mu.Unlock() // Ahora se puede cerrar el canal de forma segura close(p.tasks) // señal a los workers: no habrá más tareas, lee el resto p.wg.Wait() // esperamos a que terminen todos los goroutines p.cancel() // cancelamos el contexto por si acaso fmt.Println("Pool detenido.") } // ForceStop detiene forzosamente todos los workers sin esperar a que terminen las tareas. // Los workers serán interrumpidos inmediatamente a través del contexto. func (p *Pool) ForceStop(timeout time.Duration) { fmt.Printf("Deteniendo forzosamente el pool (timeout: %v)...\n", timeout) // Bloqueamos la adición de nuevas tareas p.mu.Lock() p.isOpen = false p.mu.Unlock() // Cerramos el canal para que los workers no tomen nuevas tareas close(p.tasks) // Cancelamos el contexto – esto interrumpirá todas las tareas en ejecución p.cancel() // Damos un tiempo limitado para finalizar done := make(chan struct{}) go func() { p.wg.Wait() close(done) }() select { case <-done: fmt.Println("Pool detenido forzosamente (todos los workers han terminado)") case <-time.After(timeout): fmt.Println("Pool detenido forzosamente (timeout, pueden quedar goroutines colgadas)") } }
¿Hasta qué nivel de análisis descompusieron las tareas?
¿Qué protocolos de nivel de aplicación funcionan sobre TCP y UDP?
¿Qué exactamente se almacenó en caché y qué reglas de invalidación se utilizaron?
¿Cómo exactamente IP resuelve el problema del enrutamiento? ¿Cómo entiende el enrutador a dónde enviar el paquete?
Cuéntame sobre ti, tu experiencia, cómo elegiste la dirección de TI y el desarrollo, por qué exactamente Go, cómo avanzaste en tu carrera?