Design a recommendation system end-to-end | OpenAI Interview Question