Java Online IDE & Code Editor for Technical Interviews

Running OpenJDK 17 - IntelliSense is enabled

You should define a public class named Solution with a public static void main. Your code is compiled with -Xlint (linting) and run with -ea (assertions enabled).

A few libraries are included for your convenience, and are available on the classpath with no additional work from you. Simply import and they’re available for use:

  • json-simple for parsing/encoding JSON.
  • guava provides immutable collections and other handy utility classes.
  • Apache Commons Lang for assorted utilities. The import prefix is org.apache.commons.lang3, so you can perform imports by writing import org.apache.commons.lang3.ArrayUtils.
  • JUnit, the gold standard for testing in Java. If you want to ask your candidate to write JUnit-style tests during the interview, please format your Java code like so (stack traces originating from JUnit errors are trimmed for brevity):
import org.junit.*; import org.junit.runner.*; public class Solution { @Test public void testNoop() { Assert.assertTrue(true); } public static void main(String[] args) { JUnitCore.main("Solution"); } }
Code language: Java (java)
  • jMock, a library to assist with mocking in Java. Combining jMock with the previous JUnit example:
import org.jmock.*; import org.junit.*; import org.junit.runner.*; interface Receiver { void receive(String message); } public class Solution { @Test public void testMock() { Mockery context = new Mockery(); Receiver receiver = context.mock(Receiver.class); context.checking(new Expectations() {{ oneOf (receiver).receive("hello"); }}); receiver.receive("hello"); context.assertIsSatisfied(); } public static void main(String[] args) { JUnitCore.main("Solution"); } }
Code language: Java (java)

Try Our Java Editor