Introducing the EPI online judge
July 7, 2016
We’re closing the judge service for the near future as we take the lessons learned and build out a more robust and full-featured service.
Jan 14, 2016
We’ve put together a prototype online judge service that you can use to practice for interviews.
Take a look at the screenshot at the end to see the UI, or just click on the link.
No login is needed, just read the problem description and start hacking!
The judge problems correspond to the problems in the PDF sample. These problems are an ideal starting point for anyone who wants to get up to speed with interviewing. (Right now, all programs are in Java.)
We use directed tests for the judge problems, and try to give meaningful feedback. For example, if your program for testing if a binary tree is balanced fails, you will see a report like the following.
If your program fails to compile, we return the compiler error, and the line numbers will correspond to the lines in your program.
If your program throws an exception, we return the stacktrace - the line numbers will not correspond to the lines in your program.
Your program runs in Docker container, so don’t worry about crashing or damaging our server. We run the program with a timeout of 20 seconds, so if your program has an infinite loop, or is very slow, you’ll get a timeout response. If the server is under load, it may block requests that are too frequent.
A few programs require you to have an efficient solution to pass, e.g., if you brute-force compute the parity, you will see the judge informs you that your solution is too slow:
We’re very excited about offering this service, and look forward to developing it - adding more problems, adding a login and persisting your code, classification of problens, drag-and-drop into the editor, executing from Github, etc.
As always, we treasure user input. Please share your thoughts with us about the judge. Some things we’re especially keen on learning about are:
- Bugs, e.g., program never returns, hint button doesn’t work, etc.
- Source of confusion, e.g., misleading stack traces, wording of error
- General UI issues: is editor font ok? do you prefer a light background?
- How important are features like login, timing, etc.?