Обновить

Комментарии 18

Тема слабовато раскрыта

Зато какая памятка про push/pull!)

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

Больше примеров наподобие Push/Pull вроде и не добавит ценности (нуок, понятно, что нужно уметь сравнивать). Сухой список тем – тоже вроде не здорово, такого, полагаю, и так навалом.

В общем, обратная связь приветствуется, может, чего-нибудь допишу еще в другой заход

Выбор СУБД, outbox/inbox, event sourcing и т.п.

Ну, то есть больше по конкретным сценариям? Про выбор СУБД не всегда есть даже. Пару примеров:

.1 Web Crawler – вообще про СУБД особо не обсуждалось в нем на практике. Там больше про то, как нагрузку размазать аккуратно
.2 Саджест (подсказки поисковая строка) - там Trie, и тоже СУБД не обсуждается.

В общем, делаю пока вывод, что Push/Pull получилось хорошо, но этого мало, и есть запрос больше по кейсам пройтись.

Я не адепт system design, но разве job-ы и брокеры решают одну и ту же проблему? Это же разные вещи, которые могут быть вместе в одной системе, как их можно сравнивать?

Могут быть сценарии, когда можно сделать через одно либо через другое. Аналитика / постпроцессинг каких-нибудь заявок в E-commerce.

Да вообще на самом деле много сценариев, когда мы можем данные сразу передать в очередь, либо складывать куда-то в хранилище, и раз в какое-то время придет джоба, чтобы обработать накопившееся (раз в час/раз в день).

Во всяком случае, у меня точно были ситуации, когда я между ними выбирал, и ошибался

Я в жёлтый банк собес по System design не прошел с одним из комментариев от их архитектора, что неверно разбил по микросервисам, так как правильно - это разбивать по методологии Domain Driven Design. Видимо без DDD не пройти собес ни в одну компанию.

Ну логично, что у всех есть свои требования. Если не первый раз с DDD проблема - подучи для собеса, а в работе уже разберешься, как делать. Потом ещё раз попробуй заявку подать.

Ну хорошо, книга. А в резюме тоже книгу указывать? Всем же опыт подавай - тем же системным архитектором, которого еще нет.

А перед тем, как позвать на алгоритмическую секцию, сначала проверят, есть опыт работы алгоримистом? Компании вкрутили секцию system design как дополнительный фильтр в воронку найма, так как людей с опытом в 5-7 лет на рынке труда прилично, все хотят много денег. Компании отдают себе отчёт, что те, у кого спрашивают system design на позицию синьора, чаще всего будет иметь свободу воли на уровне "могу выбирать, какие таблички в БД будут по описанию из ТЗ и как будет выглядеть SQL запрос". А будет ли у команды новый микросервис для фичи, нужна ли ему БД или redis решит уже прикрепленный к команде архитектор.

прикрепленный к команде архитектор

В обоих последних банках такого не встречал

Автор, подскажите, пожалуйста.

В вашей памятке на последнем рисунке что означает фраза "no metrics seen"? (Остальное понятно). Заранее спасибо.

Я там постарался себе стрелочками разного цвета время отобразить.

Идея такая: Есть крон-джоба, запускающаяся раз в час в 00 минут, 00 секунд. Она обычно отрабатывает 2 секунды (из головы пример. "Некое незначительное время"), либо мало данных (ночью пришло 1к вместо 100к днем, и быстрее завершаем работу). Сценарий:

.1 Зарезервировали инстанс (например, spot в AWS)
.2 Сделали работу
.3 Вернули инстанс (освободили ресурсы, не платим за него деньги)
.4 Пришел запрос за метриками, инстанса нет (уже)

В случае с Pull если между 1 и 3 происходит мало времени - это проблема. В случае с Push - нет

Куда прошли, на какой грейд, сколько заняло времени со старта подготовки до оффера? Собесились именно в фаанг? Ну и ссылочку как к алгосам готовились если есть. Спасибо

Про алгоритмы вот тут писал: https://habr.com/ru/articles/980270/

Я как раз сначала хотел покрыть темы подготовки, а затем уже личной историей поделиться. Так что подписывайтесь, ставьте лайк :) Все будет

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

А на какую позицию собеседование? Архитектор / senior dev?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации