You are asked to design a highly available online experiment assignment service. The service exposes an API that takes (userId, featureName) and returns a variant identifier (e.g., control or treatment). Assume the service will be used by web and mobile applications globally and must support both logged-in and logged-out users.
Clarify, specify, and propose designs for the following:
Provide a high-level architecture, key APIs, and justify key trade-offs. Where relevant, include small examples and precise definitions (e.g., hashing and bucket math, namespace/layering).
Login required