TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Максим Карась | Golang ментор

4 Sep, 17:04

Открыть в Telegram Поделиться Пожаловаться

Вспомнил свои самые жесткие собесы по сисдизу 😱

Решил глянуть свои записи интервью из 2025 года, заметки, че вообще происходило. И понял, что там дохуя интересного

Расскажу самый запоминающийся случай, если зайдет, то еще докину в других постах

Итак, собес в Яндекс

Сказали спроектировать ленту уровня инсты: миллионы миллиардов активных юзеров, посты, подписки, картинки, быстрая загрузка, работа в разных странах и тд и тп

Звучит как типичная задачка на сисдиз, но нюансов там пиздец

Я начал нормально, уточнил все данные, разделил загрузку и чтение, картинки вынес в отдельное хранилище

Предложил для обычных авторов ленту собирать заранее, раскладывать посты по лентам подписчиков, а для знаменитостей подтягивать в момент открытия

Ибо если один селеб с миллионом подписчиков запостит фотку с котом, то система попытается разложить это в миллион лент разом. Само собой все к хуям ляжет 😭


И тут я сел считать нагрузку. Взял 5 миллионов активных юзеров вместо 500 и получил полторы тысячи rps вместо ста семидесяти тысяч. Ну то есть просто въебал два нуля

Тем самым занизил нагрузку в сто раз, а значит выбрал маленький кеш, простую базу и милипиздрическое количество серверов. По сути спроектировал вообще другую систему

Интервьюер (как ни странно
😃) заметил и подсветил

Я не стал выебываться, а начал пересчитывать, и дошел до мысли, что одной базы тут не хватит и данные надо шардировать

Сохранил основную идею с двумя способами построения ленты и довел до рабочего решения

Прикол в том, что даже после проеба в начале я все равно прошел этот этап и получил оффер на 390к)))

По деньгам мне было мало, и я пошел собеситься дальше, пока не получил оффер в Клауд на 420 и в Тинек на 450 на руки


Сейчас я, конечно, отдельно посчитал бы сколько раз открывают ленту, сколько новых постов появляется и сколько трафика жрут картинки

И сразу бы написал на доске: обычные авторы это push модель, знаменитости это pull при чтении. А в быстрой памяти только айдишники постов и порядок выдачи, сами картинки отдельно

И только после этого выбирал бы базы и способ шардирования

6.7k 0 29 16 57
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot