Having candidates work on small projects simulates the communication required to complete actual/mock work projects. This will definitely foster better rapport between people involved.
Personally, I'd rather be given a weekend to work on a smaller project rather than be tested on algorithms that are available by common libraries of most programming languages.