Sobes.tech

Golang

Cuéntame sobre el diseño del sistema de moderación/orquestador: cómo lo diseñaron, qué decisiones tomaron?

Senior
Hi Rockits
115

¿Qué estrategia de almacenamiento en caché elegir: cache-aside o write-through, considerando el patrón de comportamiento de los usuarios al verificar el estado del pedido?

Senior
plata
115

¿Qué reglas de trabajo con los canales se deben conocer al desarrollar (cerrado, abierto, cuándo se puede hacer qué)?

Senior
техвил
115

Escribir un problema en el lenguaje Go — sección práctica (problemas de la vida real del desarrollador, sin algoritmos): mejorar o corregir un servicio. Duración — 1,5 horas.

Middle+
Яндекс
115

¿Qué hacer si los usuarios se quejan por el cambio en el modelo de monetización, pero la empresa tiene un plan claro?

Senior
AvitoAvito
115

Codificación en vivo: semáforo — cómo funciona y su implementación basada en un canal con búfer.

Middle+
Веро Трейс
115

¿Qué metodología utilizas: Scrum, Kanban o una mezcla?

Senior
РамблерРамблер
115

¿Cuál es la limitación de un semáforo y un canal con búfer como soluciones para limitar las solicitudes paralelas?

Intern
Яндекс
115

¿Alguna vez ha oído hablar antes de [empresa] o de nuestros productos?

Middle
РедСофт
115

¿Qué son las estimaciones?

Senior
2gis2gis
115

¿Con qué no te gustaría enfrentarte ya en el trabajo?

Senior
SberAuto
115

¿Cuál es tu nivel: middle, middle+, senior?

Middle
X5 groupX5 group
115

Análisis de código en Go: ¿qué hace el código, qué problemas hay?

Senior
РамблерРамблер
115

¿A qué grupo (mutable/inmutable) pertenece la interfaz en Go?

Senior
VK CloudVK Cloud
115

¿Qué son los tokens de autorización y cuáles existen?

Middle+
Магнум
115

¿Cuál es la diferencia entre bases de datos relacionales y NoSQL?

Middle
VKVK
115

Diseño de un sistema de mensajería escalable que soporte 150 millones de usuarios, 75 millones de DAU, 225 millones de MAU, 1.2M de lecturas / 300k de escrituras en picos de QPS, 5 millones de usuarios simultáneos, 60 PB de datos nuevos al año, crecimiento del 30% anual, SLA del 99.95%, p99 <200 ms para lectura, <300 ms para escritura. CONTEXTO Se requiere diseñar un sistema distribuido de mensajería, similar a WhatsApp, que soporte chats 1:1 y grupales, garantice la entrega de mensajes, muestre estados en línea de los usuarios y permita la transferencia de archivos multimedia (fotos, videos, audios). El sistema debe ofrecer alta disponibilidad y baja latencia, soportar alto paralelismo y escalar a nivel global. REQUISITOS FUNCIONALES - Soporte para chats personales (1:1) y grupales con capacidad de añadir/eliminar participantes - Envío y recepción de mensajes de texto y archivos multimedia NO SE VE UNA IMPLEMENTACIÓN CLARA del mecanismo de cifrado end-to-end a nivel de servicios o clientes, aparte de una anotación general. - No hay una descripción explícita de sharding y replicación de bases de datos por chat_id o user_id para escalabilidad y tolerancia a fallos. - No se observa un componente o mecanismo claro para manejar la sincronización offline de mensajes y recibos de entrega. - No está claro cómo se realiza el balanceo de carga entre bases de datos y servicios, especialmente en picos de carga. **Puntos críticos a tener en cuenta:**

Senior
Яндекс
114

Enumere la pila principal en Go

Senior
X5
114

¿Alguna vez ha tenido que registrar horas, rastrear el tiempo en algún sistema?

Middle
Stroki
114

""" Los asientos en el cine están dispuestos en una fila. Un espectador que acaba de llegar elige un asiento, para sentarse lo más lejos posible de los demás espectadores en la fila. Es decir, la distancia desde ese asiento, que ocupará el espectador, hasta el espectador más cercano debe ser máxima. Se garantiza que siempre hay asientos libres en la fila y que ya hay al menos un espectador sentado. Escriba una función que, dada una fila de asientos (una matriz de ceros y unos), devuelva la distancia (número de espacios entre los asientos) desde el asiento elegido hasta el espectador más cercano. [1, 0, 0, 0, 1] -> 2 [1, 0, 1, 0, 0, 1, 0, 0, 1] -> 2 [1, 0, 1, 0] -> 1 [0, 0, 0, 1] [1, 0, 0, 0] place = ((right - left) / 2) """ func maxPlaces(arr []int) int { }

Intern
Яндекс
114
/412