Probably the same many versioning systems work.
The most basic way to do it is:
Don't store the file under it's name - it's very likely that thousands of people will submit a file called "resume.txt" or "resume.docx" - and you want to keep them separate.
Instead, use a GUID as the file name, and add a table which links the UserID to teh files he has submitted:
ID GUID or IDENTITY
UserID Foreign key to your Users table
FileRef GUID (the actual file storage name)
FileName The names as supplied by the user
Submitted DATETIME or DATETIME2 when the file was submitted
Each time he submits a file, you generate a new row.
You can fetch each users latest file by looking at the Submitted date, and still access earlier versions.
There are more complex systems (where the newer files are stored as differences from previous versions) but they can get very complicated if you aren't careful. Storage is cheap enough, and you can always archive older versions if necessary.