Amazon interview question

How would you design a CDN? Which components will it include? Which caching strategies?