Citi Interview Question

1.8 features, design patterns etc