My friend was asked this in his system design interview for Amazon. He bombed it and now I'm curious - how would you design it?
Things to consider:
There's a question bank
Users can write solutions
Users can compile their solutions
Users can submit to see if they're correct and passes all the test cases
Once a user solves a problem, it shows the user the ones that are solved
What kind of DB would you use?
What would be the schema tables?
Follow Up: How do design live programming contest
Are there any good resources on this? Can someone share some information and also any links to documents/videos?