Код Junior Кеширование обновлено
Построить ключ кеша для запроса
Условие
Напишите cache_key(path, params, user_id, version): ключ вида v{version}:{path}:{params}:{user}, где params это query-параметры, отсортированные по имени и записанные как a=1&b=2 (пустая строка, если параметров нет), а user это u{user_id} или anon для None. Параметры utm_* (маркетинговые метки) в ключ не входят.
Примеры
cache_key("/catalog", {"page":"2","cat":"tea"}, null, 3) // "v3:/catalog:cat=tea&page=2:anon"
cache_key("/catalog", {"cat":"tea","page":"2"}, null, 3) // "v3:/catalog:cat=tea&page=2:anon"
cache_key("/profile", {}, 42, 1) // "v1:/profile::u42"
Как подойти
Подсказки: 2
sorted(params.items()), фильтрutm_.user_idможет быть 0: сравнивайте сNone.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.