Collaborative filtering finds similar users or items. User-based: find users with similar ratings, recommend their liked items. Item-based: find items rated similarly, recommend to users who liked related items.
Matrix factorization (SVD, ALS) scales better. Embed users and items in vector space. Similar vectors = similar preferences. Spark MLlib or TensorFlow for training at scale.