Почему у модели нет текстур, хотя вы скачивали покрашенную модель? Можно ли её покрасить самому?
Почему вообще вышли на рынок сейчас? Что-то перестало устраивать в [компания]?
Как правильно управлять техническим долгом, когда бизнес давит на скорость, а кодовая база деградирует?
Переписали индекс или запрос — что именно изменилось в запросе?
Го СИ линт есть такой? (golangci-lint)
Допустим, мы крупная рекламная сеть. Мы размещаем баннеры на сайтах-партнерах по всему миру. Нам необходимо спроектировать систему сбора и обработки событий в реальном времени. Эти данные критически важны для двух целей: Биллинг: Списание денег с рекламодателей за клики. Аналитика: Отображение текущей эффективности кампаний (CTR, показы) в личном кабинете. Исходные данные (для расчета нагрузки) Вам необходимо самостоятельно оценить требуемые мощности (RPS, трафик, хранилище), исходя из следующих метрик: Партнерская сеть: 500,000 активных сайтов. Трафик: На каждом сайте в среднем происходит 2 просмотра страниц в секунду. Рекламные блоки: На каждой странице отображается по 3 баннера одновременно. Конверсия: Средний CTR (Click-Through Rate) составляет 1%. Неравномерность: Пиковая нагрузка (вечерние часы) в 4 раза выше средней. Размер события: Объект события (ID баннера, ID сайта, UserID, Timestamp, тип события) весит примерно 500 байт. Технические требования Near Real-Time: Данные в аналитическом интерфейсе должны появляться с задержкой не более 10 секунд. Надежность: Потеря кликов недопустима (это прямая потеря денег). Потеря показов (impressions) допустима в пределах 0.01%. Масштабируемость: Система должна легко расширяться при росте количества площадок.
Напишите в документе формулу для подсчёта дисперсии случайной величины.
Каким образом можно оптимизировать запросы к базе данных?
Предложи архитектуру системы: как разделить базы данных между сервисами, как организовать Redis для game-сервиса?
Если у вас 100 тысяч одновременных клиентов подключаются по WebSocket к GameServer, какие проблемы возникнут? Как масштабировать такую систему?
Реализуйте функцию, которая принимает []any и delta int. Необходимо увеличить на delta только первые вхождения уникальных чисел (int). Другие типы и повторные числа оставить без изменений. Функция должна вернуть обновленный слайс и 2 числа: updated – сколько уникальных чисел было изменено, duplicates – сколько числовых элементов оказалось дубликатами func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // ваш код } // Пример: xs := []any{1, "a", 5, "b", 1, 0, 5} u, d, s := IncrementUniqueIntsInMixed(xs, 3) // xs == []any{4, "a", 8, "b", 1, 3, 5} // u == 3 // уникальные числа: 1, 5, 0 // d == 2 // повторные числа: второй 1, второй 5
Задача со слайсами: что выведут различные операции append и срезы? (задача с a, b, c, d слайсами)
Можете ли вы рассказать о концептуальных отличиях RISC-процессоров от CISC?
Что такое триггеры в БД и для чего они нужны?
Если бы у тебя было две версии чата, как бы ты определил, что одна лучше другой?
Сколько микросервисов было в кластере и сколько можешь удерживать в голове?
Был ли опыт работы с архитектурными задачами? Приходилось ли проектировать сервисы с нуля?
Какова причина твоего ухода из предыдущей компании?
Что ищешь в новом проекте? Какие технологии интересны? Что не хотел бы видеть на новом рабочем месте?
/ * Есть приложение с микросервисной архитектурой. Микросервис можно абстрагировать с помощью интерфейса Backend. Для доступа к одному экземпляру микросервиса можно использовать тип BackendImpl, который уже реализован. Для каждого микросервиса есть несколько десятков запущенных экземпляров, каждый из которых доступен по своему адресу addr. Однако отдельные экземпляры микросервиса ненадежны: они могут падать, быть недоступными либо перегруженными. Поэтому вам нужно реализовать тип Balancer, который также реализует интерфейс Backend и осуществляет client-side балансировку нагрузки между экземплярами микросервиса, выбирая каждый раз **наименее нагруженный** экземпляр. * / type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr содержит ip:port конкретного экземпляра func NewBackend(addr string) *BackendImpl type Balancer struct { // TODO } var _ Backend = &Balancer{} // addrs содержат адреса всех балансируемых экземпляров func NewBalancer(addrs []string) *Balancer { // TODO }