Как стать автором
Обновить
25
Карма
0
Рейтинг

Пользователь

  • Подписчики 8
  • Подписки

Каверзные вопросы по Python

Такие вопросы мне всё-таки больше нравятся, чем "сколько окон в Москве?" :)
Ещё однажды просили посчитать сколько в день расходуется деревянных палочек для мороженого во всех макдональдсах столицы. Понимаю, что интересует подход и обоснование методологии, но тут точно можно подобрать задачи на "подумать" из предметной области.

Каверзные вопросы по Python

Спасибо за интересный пример!

Каверзные вопросы по Python

В той компании собеседование было на большой монолит с приличной историей. Кода было всякого не мало.
Такие задачи, мне кажется, дают, чтобы проверить "соображалку" и понимание языка. А релевантные примеры обрезаются до минимума, чтобы кандидату не пришлось вникать в условную "бизнес логику", а сосредоточиться на поведении языка.
А какие задачи вам запомнились на собеседованиях? Что хорошо характеризовало работодателя? Что было приятно решать?

Отложенные ретраи силами RabbitMQ

Да, можно. Но нужно держать в голове минусы такого подхода: по вашей ссылке чуть ниже есть Caveats. При разных таймаутах на сообщение может сложится ситуация, когда находящееся в голове очереди сообщение с бОльшим ttl блокирует уже "протухшие" сообщения, стоящие за ним.

Отложенные ретраи силами RabbitMQ

Если правильно понял, вы храните задачу в памяти приложения за счет


await Bluebird.delay(wait - estimatedTime);

Мы намеренно отказались от такого подхода.
Можно узнать, как себя показывает ваше решение? Есть ли проблемы? Какие примерно RPS и количество откладываемых задач?

Отложенные ретраи силами RabbitMQ

Честно говоря, мне кажется, мы не знали об этом плагине. Но думаю, мы бы не стали ставить «experimental yet fairly stable and potential suitable for production use» плагин на продовый кластер RabbitMQ.
Celery используем в python-проектах, но с ним бывали внезапные утечки памяти. Предложенное решение реализовано для golang-проекта. А примеры сделал на python из-за его большей популярности.

Отложенные ретраи силами RabbitMQ

Подход, действительно, не уникальный. Но, как показывает практика, не все о нём знают.
Изменение payload — тоже вариант. Мы выбрали заголовок, потому что предпочли не изменять тело сообщения, и заголовки обновляются «кроликом» за нас.

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность