Implementing access control via the proxy design pattern
This is an easy C++ coding problem that tests your ability to implement the proxy design pattern in a realistic trading-infrastructure context. Rather than modifying the exchange gateway directly, you must build a protective intermediary that enforces permission rules based on trader identity and order size.
The problem rewards clean separation of concerns: your proxy should wrap an existing ExecutionVenue interface, classify traders by ID range into permission tiers, and conditionally forward or reject requests. You'll need to map trader IDs to access levels, apply per-level risk limits, and ensure that invalid or over-limit orders never reach the underlying gateway. The focus is on correct conditional logic and proper encapsulation, not complex data structures.
- Identity-based access control and classification
- Conditional forwarding and request validation
- Wrapper objects and interface delegation
- Handling multiple authorization tiers with different constraints