Golang
¿Por qué cambió de [empresa] a [empresa]?
¿Por qué criterios seleccionas las empresas, en qué te basas?
¿Podemos pasar un slice como parámetro a una función?
¿Cómo llegan las tareas a trabajo? Cuéntame sobre este proceso.
Cuéntame sobre bases de datos: ¿con cuáles has trabajado y con cuáles trabajas ahora?
Pregunta sobre el servicio lento Tomando como ejemplo la creación de un pedido. Hay una solicitud al servicio y una respuesta, entre estas dos acciones almacenamos en análisis los productos que se pidieron (por ejemplo, para contar la popularidad de los productos). El servicio de análisis funciona lentamente o a veces se agota, y no logramos responder a tiempo, perdiendo pedidos. ¿Qué hacer para dejar de perder pedidos y, por consiguiente, dinero? Idear cómo paralelizar el pedido y el análisis.
¿Cómo se manejan los errores en Go? ¿En qué se diferencian errors.Is y errors.As?
Aclaración de la zona de responsabilidad: máquina de estados, Outbox Transaccional, bloqueos optimistas
Imagina una situación: no puedes encontrar un terreno común con un tester en tu equipo que constantemente 'te molesta'. ¿Cómo interactuarías?
¿Qué son los brokers de mensajes? ¿Cuáles conoces? ¿En qué se diferencia RabbitMQ de Kafka?
¿Qué ocurrirá si es necesario abandonar Kafka y reemplazarla por otro corredor de mensajes? ¿Cómo aislar Kafka de los servicios externos?
¿Cómo funciona el proceso de lanzamiento? ¿Cómo fue el último lanzamiento con su participación?
¿Qué se necesita hacer para que el servidor REST API (repositorio de código) comience a funcionar en Kubernetes?
Cuéntame sobre el apagado ordenado: qué es, qué sucede durante él, cómo se invoca? ¿Qué procesos realiza el servicio en Kubernetes después de recibir SIGTERM?
¿Dónde, en su opinión, comienza el highload? ¿Cuál es la frontera entre highload y no-highload?
¿Tienes un servicio que genera muchas goroutines? ¿Cómo limitarías el número de goroutines que se ejecutan simultáneamente?
¿Qué es una llamada al sistema (syscall)?
Cuéntame más sobre los proyectos en Go
¿Cuál de las siguientes opciones es más probable que ocurra al intentar lanzar una gran cantidad de goroutines (por ejemplo, decenas de miles) sin control adicional? - El problema principal será causado por el bloqueo del mutex global dentro del runtime, lo que llevará a una parada completa de la ejecución del programa - El planificador de Go ejecutará las goroutines en pequeños grupos de manera secuencial, por lo que el aumento en su número casi no afectará el consumo de memoria - La creación masiva de goroutines puede llevar a un consumo significativo de memoria y a gastos adicionales del planificador; en tales casos, es apropiado usar un pool de workers - Si el número de goroutines supera el número de procesadores lógicos, Go comenzará automáticamente a rechazar nuevas ejecuciones de goroutines con un pánico
Cuéntame sobre Kubernetes: qué es, en qué se diferencia de Docker, cuáles son sus componentes principales?