As asked
Design a feature store for a ride-sharing platform that needs to serve real-time features like driver location recency and surge pricing zone to an ETA model at under 5ms p99. The platform has 50 million rides per day.
Sample answer outline
A strong answer separates the online store (Redis Cluster for sub-millisecond point lookups keyed by entity ID) from the offline store (Hive or BigQuery for historical training data). It describes a dual-write pattern where the streaming pipeline (Kafka plus Flink) writes to both stores simultaneously, discusses point-in-time joins for training data, and handles the co-location of the feature server close to inference to minimize network hops. It should address entity freshness TTLs and schema evolution.
Expect these follow-ups
- How do you handle the case where a feature pipeline is delayed and online features are stale?
- How would you scale the Redis tier to handle 500,000 lookups per second?