Sobes.tech

Что такое gRPC? Работали ли с ним?

Senior
RTM
9

В чём основное преимущество ClickHouse, почему его часто используют и для чего?

Middle+
Магнум
9

Агрегат всегда работает на уровне одной транзакции. Что ещё важно знать про агрегаты в DDD?

Senior
ИП Ганус Александр Андреевич
9

Для булевого поля — стоит ли добавлять индекс?

Senior
А7
9

Оффер: 320k gross (~280k net) + квартальная премия 20%. Как тебе условия?

Senior
X5
9

Расскажи о работе со слайсами в Golang: как работают capacity, length и что будет при выходе за границу

Senior
WildberriesWildberries
9

Что произойдёт при создании индекса на большой горячей таблице обычным CREATE INDEX? Как правильно создавать индексы на проде?

Middle+
OZONOZON
9

Какие технические истории есть — не про архитектуру сверху, а про углубление в детали, реальный проблемный кейс?

Senior
OZONOZON
9

Если у вас 100 тысяч одновременных клиентов подключаются по WebSocket к GameServer, какие проблемы возникнут? Как масштабировать такую систему?

Senior
Hi Rockits
8

Проектирование масштабируемого мессенджера с поддержкой 150 млн пользователей, 75 млн DAU, 225 млн MAU, 1.2M read / 300k write peak QPS, 5 млн одновременных пользователей, 60 PB новых данных в год, рост 30% в год, SLA 99.95%, p99 <200 мс для чтения, <300 мс для записи. КОНТЕКСТ Необходимо спроектировать распределённую систему мессенджера, аналогичную WhatsApp, которая поддерживает как 1:1, так и групповые чаты, обеспечивает доставку сообщений, отображение online-статусов пользователей и передачу мультимедийных файлов (фото, видео, аудио). Система должна обеспечивать высокую доступность и низкую задержку, выдерживать высокий параллелизм и масштабироваться на глобальном уровне. ФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ - Поддержка личных (1:1) и групповых чатов с возможностью добавления/удаления участников - Отправка и получение текстовых сообщений и мультимедийных файлов НЕ ВИДНО ЯВНОЙ РЕАЛИЗАЦИИ МЕХАНИЗМА end-to-end шифрования на уровне сервисов или клиентов, кроме общей аннотации. - Отсутствует явное описание шардингов и репликаций баз данных по chat_id или user_id для масштабируемости и отказоустойчивости. - Нет явного компонента или механизма для обработки офлайн-синхронизации сообщений и delivery receipts. - Не прослеживается, как реализуется балансировка нагрузки между базами данных и сервисами, особенно при пиковых нагрузках. **Узкие места, на которые стоит обратить внимание:**

Senior
Яндекс
8

Пришла поставка на склад, потом отгрузили 5 штук со склада в машину. Как пройдёт флоу в информационной системе?

Senior
МВидеоМВидео
8

Какие у тебя финансовые ожидания?

Senior
Яндекс
8

Что такое ACID?

Middle+
Бюро 1440Бюро 1440
8

Как вы понимаете, что задача сделана качественно?

Senior
CRTEX
8

Что такое партиционирование и шардирование? Использовали ли?

Senior
А7
8

Могут ли два контейнера занять один порт хоста?

Senior
SberAuto
8

Что такое асинхронный API, для чего нужен и как реализуется?

Senior
AvitoAvito
8

Как гарантировать доставку событий при нестабильной сети (сеть может обрываться, события нельзя терять)?

Middle+
ClearWay
8

Как определяешь значения requests и limits для ресурсов в Kubernetes?

Middle+
МВидео/эльдорадо
8

// Клиент передаёт на вход некоторый объект (Task) с данными для выполнения задачи, // в нашем примере будем использовать пустую структуру. // // Обработчик одновременно может обрабатывать не более N задач, // и не более X задач могут быть поставлены в очередь на обработку. // Если нет места в очереди, сразу возвращаем клиенту ошибку. // // Задача берется в обработку если имеются на это свободные обработчики. // Имитируем длительность обработки через time.Sleep(5*time.Second). // Как только очередная задача выполнилась – берём следующую задачу из очереди. // Если в очереди пусто, ожидаем новых задач от клиентов. // // Со звездочкой: дополнить структуру Task и получать статусы задач, через отдельный запрос package scheduler type Scheduler interface { AddTask(t Task) error Close() } type sheduler struct { queue chan Task wg sync.WaitGroup } func New(workers, queue, int) Scheduler { } type Task interface { Do() }

Senior
Cloud.ru
8
/371