A feature store has a registry of feature definitions, an offline store (a warehouse or data lake holding every historical value), an online store (a key-value database holding the current value per entity) and jobs that keep the two in sync. Training reads from the offline store and serving reads from the online one, but both come from the same code.
Its key job is point-in-time correctness. To train a churn model on labels dated March 1, the feature "support tickets in the last 30 days" must be the value as of March 1. A plain join with today's table leaks tickets filed after the label date, the model learns from the future, and offline metrics come out too good. The feature store's point-in-time join fetches, for each label, the feature value that was valid at that timestamp.
Uber's 2017 post on its Michelangelo platform popularized the idea; Feast, open-sourced by Gojek and Google Cloud in 2019, is the common open-source option, and the major cloud ML platforms offer managed ones. Interviewers may also ask when you don't need one: a single batch model owned by one team is usually fine with well-kept tables.