Amazon Interview Question

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