ServiceNow | SDE2 | Hyderabad | Jul 2020 [Offer]
Summary
I successfully received an offer for an SDE2 position at ServiceNow in Hyderabad. The interview process consisted of an online coding assessment followed by four technical rounds, including data structures, algorithms, and system design, which I found engaging and cleared confidently.
Full Experience
Hello, I'm sharing my interview experience with ServiceNow as a way to thank this platform for all the knowledge I've gained. I have 3 years of experience, holding a B.Tech in Computer Science from a tier-1 university in India, and was working as an Analyst at Oracle at the time. My interviews took place in Hyderabad on July 31st, 2020.
Round 1: Online Coding Assessment
This round was quite easy, lasting 45 minutes with just one question: Convert binary value in a linked list to its decimal equivalent.Round 2: Data Structures & Algorithms
I was asked to solve the Maximum Path Sum in a matrix problem. I explained both recursive and tabular (dynamic programming) approaches, including a detailed analysis of their time and space complexity. After convincing the interviewer, I wrote the code for the bottom-up DP solution on a notepad. There was also another simple question similar to pattern matching, though the interviewer wasn't looking for the most optimized standard algorithms.Round 3: Data Structures & Algorithms
This round presented an interesting problem: Given two sorted integer arrays, A and B, find 'n' maximum sums where sum = A[i] + B[j]. The interviewer provided some hints to guide me, and I solved it using a heap-based approach, performing a dry run with test cases. The interviewer seemed satisfied with my solution.Round 4: System Design
I was tasked with designing an online survey system, similar to SurveyMonkey. We had a thorough discussion covering both High-Level Design (HLD) and Low-Level Design (LLD).Round 5: Data Structures & Algorithms & System Design
The first part of this round involved the classic Rod Cutting Problem: finding the maximum price by breaking a rod of length 'L' given an array of lengths and prices. I discussed the dynamic programming solution and provided pseudo-code, as the interviewer wanted to move to another design question. The second part was to design a Rate Limiting System. The interviewer was primarily interested in the Low-Level Design (LLD) and the logic for identifying and either allowing or blocking requests coming from the same user.Overall, the process was smooth, and I received quick feedback since all rounds happened on the same day. I felt very happy after answering every question, and I had productive discussions with the engineers from ServiceNow. They offer great employee benefits and good stock options.
Interview Questions (6)
Given a singly linked list where each node contains a 0 or 1, representing a binary number, convert the binary number to its decimal equivalent.
Find the maximum path sum in a matrix. I needed to present both recursive and tabular approaches along with time and space complexity analysis, and then write the code for the bottom-up DP solution.
Given two sorted integer arrays, A and B, find the 'n' largest sums formed by picking one element from A and one from B (Ai + Bj).
Design an online survey system similar to SurveyMonkey, covering both High-Level Design (HLD) and Low-Level Design (LLD) aspects.
Given a rod of length 'L' and an array of prices corresponding to different lengths, determine the maximum price obtainable by cutting the rod into pieces and selling them.
Design a rate-limiting system. The interviewer was particularly interested in the Low-Level Design (LLD) and the logic required to identify requests from the same user and decide whether to allow or block them.
Preparation Tips
I find it helpful to think about these interviews as a discussion with a friend, as it helps me calm down. I imagine myself explaining a concept to my hostel buddy. I will try to attach the notepad file from the interview to help others understand the discussions better.