Локация и реальное время: обзор со свободным припоминанием
Промпты на свободное припоминание по кейсам локации и реального времени. Отвечай по памяти первым — выбор индекса, фикс границы, слой фанаута, предобработка маршрутизации, структура ранга — затем открой образец и сравни.
Припоминание бьёт перечитывание. Для каждого промпта восстанови полный ответ по памяти — механизм, не только название — прежде чем открыть образец. Усилие пересборки пространственного индекса, фанаута по региону и отсортированного множества — то, что заставляет их закрепиться.
Восстанови каждый кейс по памяти, не подглядывая: как индексировать пространство и увернуться от ловушки границы, почему «друзья рядом» write-heavy и как pub/sub по региону ограничивает фанаут, почему наивный Dijkstra проваливается и что чинит, и структура, делающая обновление, top-k и ранг дешёвыми разом.
- 01Сравните geohash, quadtree и S2/H3, и объясните проблему границы ячейки и её фикс.
- 02Почему «друзья рядом» write-heavy, и как WebSocket и pub/sub по региону заставляют это работать?
- 03Почему наивный Dijkstra проваливается на маршрутизации Maps, и как contraction hierarchies и живой трафик сочетаются?
- 04Почему отсортированное множество — верная структура для лидерборда, и как работают top-k, мой-ранг, ничьи и шардинг?
- 05Какое единое озарение связывает все четыре кейса, и где каждый расходится?
Если смог пересобрать каждый ответ по памяти, держишь спину юнита. Близость индексирует пространство (geohash/quadtree/S2-H3) и запрашивает ячейку плюс соседей как грубый фильтр, ранжируя уцелевших по точному расстоянию и кэшируя по ячейке. «Друзья рядом» инвертируют это в поток записи эфемерных пингов, толкаемых по WebSocket из TTL-хранилища и маршрутизируемых через pub/sub по региону с фильтром друг-и-радиус на краю-подписчике. Maps определяется предвычислением — пирамида тайлов на CDN и маршрутизация через contraction hierarchies — с живым трафиком как отдельным оверлеем весов, чтобы он не вынуждал пересжатие. Лидерборд использует отсортированное множество, делая обновление, top-k и ранг-одного все O(log n), где SQL делает ранг счётом O(n), и шардит по диапазону очков с глобальным рангом из по-шардовых счётчиков. Объединяющая идея: каждая схема следует паттерну доступа и превращает «сравни со всем» в «трогай лишь осколок».
Что-то непонятно?
Задай вопрос по этому уроку. Вопросы анонимны и попадают напрямую автору — урок станет лучше.