Test questions from Atlassian
I briefly filed an application at Atlassian; I then got an email with a link to a seemingly personalised online test. Their questions match the info I gave them in my application so accordingly that I'm imagining they either had a fancy application-auto-processing keyword-extracting machine learning algorithm and system, or some humans to read the applications.
I am sharing the questions that I faced in the test. What I said I was able to do included:
- Python, Java
- OOP, design patterns, Java generics, essential functional programming
And the test pretty much hit me spot-on on those topics.
Test questions
Suggested time: 1.5h; actual used: ~3h.
5 multi-choice; 3 coding; 2 short-answer.
1.1 Singleton pattern: An implementation was given, and it asks to identify what's wrong.
1.2 JVM method invocation mechanism: Don't know what this was, but "<init>", "<clinit>" was mentioned.
1.3 try-finally block: What happens if in "try" I return true, but in "finally" I return false?
1.4 "char" in Java: How many bits is used under the hood? Is it a signed or unsigned number?
1.5 Run-time typechecking against generic type: What's wrong with doing "if (myObject instanceof List 2.1 Write a method that takes two arrays and returns the index on the first array, from which point on the subarray of it is the same as the second array. 2.2 A recursive implementation of a fold was given (taking an initial value, a list, and a function). Change it to iterative. 2.3 An interface of a ternary tree is given. (With heaps of generics used, e.g. "Either<Type, Triple<Tree<Type>>>") Write a method that returns a list of leafs in order of in-order traversal. 3.1 Name a product you use, and a way to improve it. 3.2 Market yourself within 140 chars.