I just want to add my solution although it's not as complete as the one by @Michael Plotke
ls -lR | egrep "^-" | awk '{ print $5, "\t", $8 }' | sort -rn | head
UPDATE 1
I've now had to use this script on BSD unix (which I did not originally intended to do) and found Michael's solution doesn't work.
By incorporating @steve's solution into mine, this solution is more usable on BSD systems:
find . -type f | xargs ls -lS | awk '{ print $5, "\t", $9 }' | head
UPDATE 2
Further refinement. Resolves issues with unusual filenames (eg. spaces)
find . -type f -print0 | xargs -0 ls -lS | awk '{ print $5, "\t", $9 }' | head
Note: I found this solution to be significantly faster on WSL (windows subsystem Linux) than the accepted solution.
In a directory with about 1000 files, this solution takes seconds whereas the accepted answer took tens of minutes.