NESTA interview question

How would you approach a problem collaborative filtering from scratch.