Summary
My interview experience at OakNorth for the SDE2(Java) role involved two rounds covering my resume, DSA, code improvement, Java Streams, and Spring Boot. Unfortunately, I fumbled during the technical round and didn't perform as expected.
Full Experience
I applied directly on OakNorth's portal for the SDE2(Java) position.
Round 1 - Screening Round (30 mins)
This round primarily focused on my tech stack and a deep dive into my projects. There were a lot of questions around my resume and my interest in technology.
Round 2 - Technical Round (30 mins)
The first interviewer began by discussing my resume. This was followed by several technical questions:
Q. DSA Question:
I was given a list of unique positive n numbers, for example, {1, 7, 3, 5, 8, 21, 23, 0}. The task was to find pairs of numbers that sum up to a given m = 8. The expected output was {{1, 7}, {3, 5}, {8, 0}}.
Q. Improve the given code:
class SpecificCatches { static void risky() throws IOException, NumberFormatException { /* ... */ }public static void main(String[] args) { try { risky(); } catch (Exception e) { // handle problem }
I needed to improve this code snippet.
Q. Stream on Java:
The problem was: "From a list of integers, filter out even numbers, square them, and collect into a new list using Java Streams."
import java.util.; import java.util.stream.;public class EvenSquaresProblem { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6); // Expected output: 4, 16, 36
// TODO: Use Stream API to get list of squares of even numbers. }
Following these, there were different questions on Spring Boot. These questions were mostly scenario-based and aimed at testing my hands-on knowledge. I fumbled a lot during this round, and it didn't go as expected.
Interview Questions (3)
Given a list of unique positive n numbers, for example {1, 7, 3, 5, 8, 21, 23, 0}, find all pairs of numbers whose sum equals a given m (e.g., m = 8). The output should be a list of pairs, such as {{1, 7}, {3, 5}, {8, 0}}.
Improve the given Java code snippet which uses a generic catch (Exception e) block. The risky() method declares IOException and NumberFormatException.
class SpecificCatches { static void risky() throws IOException, NumberFormatException { /* ... */ }public static void main(String[] args) { try { risky(); } catch (Exception e) { // handle problem }
From a list of integers, filter out even numbers, square them, and collect them into a new list using Java Streams.
import java.util.; import java.util.stream.;public class EvenSquaresProblem { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6); // Expected output: 4, 16, 36
// TODO: Use Stream API to get list of squares of even numbers. }