ServiceNow | IC3 | Offer
Summary
I successfully interviewed for an IC3 position at servicenow, which involved three comprehensive rounds covering data structures and algorithms, Java, SQL, system design, and problem-solving, ultimately leading to an offer.
Full Experience
I applied for a position at ServiceNow through LinkedIn and was contacted by a recruiter after about three weeks. The interview process was structured incrementally, meaning I had to clear each round to progress to the next. I faced a total of three interview rounds.
Round 1 (DSA & Technical)
My first round focused on DSA and core technical concepts. The interviewer asked one DSA question, a Java-related question, and a simple SQL query. I was asked to swap numbers in a linked list, save employee data into a data structure ordered by salary using a comparator, and write a SQL query to sum salaries grouped by department and ordered descending. We also discussed my projects and Java concepts like exception handling. All questions in this round felt relatively easy.
Round 2 (DSA & Problem Solving)
The second round was more about problem-solving. I received another DSA question and a non-coding puzzle. The DSA task was to find the largest possible number by rearranging integers in a given array, which I found to be an easy-medium difficulty. The puzzle involved three mislabeled boxes (apples, oranges, both) and determining the minimum picks to correctly label them; the interviewer was particularly interested in my approach and logic.
Round 3 (DSA & LLD & Managerial)
The final third round combined DSA, Low-Level Design (LLD), and managerial aspects. It began with an LLD question similar to designing an MRU cache, where we delved into data structure choices, reasons, and complexity analysis. Following that, a DSA question involved finding an element with a minimum number of steps in an array where adjacent elements had a difference of 1. I managed to solve the DSA problem, but I felt the interviewer wasn't entirely satisfied with my LLD answer. Despite my reservations about the LLD, I was fortunate to receive an offer.
Interview Questions (7)
The interviewer asked to swap numbers (data) of nodes in a Linked List.
I was asked to save employee data into a data structure such that employees are ordered by their salary.
Write a SQL query to sum the salaries of employees, grouped by department, and order the results by salary in descending order.
Given an array of non-negative integers, arrange them such that they form the largest number.
You have three boxes. One contains only apples, one contains only oranges, and one contains both apples and oranges. All three boxes are mislabeled. You can pick one box at a time and check its contents. What is the minimum number of picks required to correctly label all boxes, and why?
I was asked a Low-Level Design question similar to an MRU (Most Recently Used) cache. The discussion involved choosing appropriate data structures, explaining design choices, and analyzing time and space complexities.
Given an array of integers in which elements have a difference of 1 with their adjacent elements. Within this, find an element with the minimum number of steps (implying a specific search strategy for an optimal value).