Design an Event Tracking SDK / Client
Problem
Design the client-side event-tracking SDK that apps use to send analytics events to Amplitude.
Requirements
track(event, properties);identify(userId, traits)- Batch and flush events (size/time triggers)
- Retry on network failure; persist unsent events
- Respect opt-out
What evaluators look for
- Clean API; batching and flush policy
- Offline durability and retry/backoff
- Thread safety; minimal app overhead
Extension
Add sampling and a plugin/middleware hook for enriching events.
added …