ServiceNow QA Intern OA | Complete Breakdown (Tier-3 | College Shortlist)
QA InternServiceNow | IC2 | Interview
SDE IServiceNow USA Staff Offer
Staff Software EngineerServiceNow | Staff Engineer | Interview Experience | Hyd | Data Analytics Team
Staff EngineerServiceNow | SSE | R-1
SDE II28 more experiences below
Summary
I recently completed the ServiceNow QA Intern Online Assessment, which proved to be far more challenging and comprehensive than I anticipated for an intern role. The assessment covered a wide array of topics, from DSA and automation to databases and prompt engineering, offering a humbling and insightful experience.
Full Experience
Assessment Structure
I recently took the ServiceNow QA Intern Online Assessment, and honestly, I went in thinking it would be a straightforward, conceptual test like 'Tell me what Agile is'. However, the current job market must be incredibly competitive because the OA felt like I was interviewing for a full engineering role! It covered everything from HashMap scheduling and Selenium automation in Java to complex 3-table SQL joins, Jenkins pipelines, and even prompt-engineering test cases—all for an intern position.
It was both hilarious and incredibly humbling at the same time. I started as a student but finished the assessment feeling like the industry now expects interns to be proficient in coding, testing, deploying, automating, optimizing, debugging, and maybe also making coffee. Nevertheless, it was a very memorable and humbling experience.
Interview Questions (4)
The problem involved applying HashMap data structure principles combined with scheduling-based logic to solve a coding challenge. It was pretty straightforward.
I was tasked with writing Java code to automate interactions with a web form, specifically using Selenium WebDriver to perform the necessary actions. I honestly wasn't expecting a pure automation coding question.
I was presented with three database tables and had to write a SQL query involving multiple joins and aggregation functions, including GROUP BY with specific conditions. This query was pretty lengthy and slightly complex.
The final section featured a prompt engineering question. I was asked to design a solution to mask private information found in emails, acting in the capacity of a bank employee.
Summary
I had an interview with ServiceNow for an IC2 role. The first round consisted of a resume discussion followed by two DSA problems, both of which I solved. However, I was later informed that I would not be moving forward with other candidates.
Full Experience
HR reached out to me for an interview opportunity at ServiceNow. The interview process began with a Round 1. This round started with a 15-minute discussion about my resume and previous experience. Following that, for the remaining 45 minutes, I was given two Data Structures and Algorithms (DSA) problems to solve. I successfully solved both problems completely. A week later, I received an email stating that I would not be moving forward with other candidates.
Interview Questions (2)
Summary
I interviewed for a Staff Software Engineer role at ServiceNow and successfully received an offer after navigating through a hiring manager screen and a comprehensive onsite loop. The interviews covered coding challenges, system design, and behavioral questions.
Full Experience
I recently interviewed for a Staff Software Engineer role at ServiceNow. The process started with a Hiring Manager Screen, which lasted about 60 minutes. This round included some behavioral questions, discussions about my work experience, my role, and the impact I've made. I was also asked to solve 2-3 coding questions which were quite straightforward. I had to implement a linked list and add several APIs to support use cases such as removing all duplicates and reversing a sublist given start and end indices.
The onsite interviews consisted of multiple rounds:
- Coding Round 1: I faced 1-2 behavioral questions. The main coding problem was a stock question with follow-ups: Given a list of stock prices, I needed to find the maximum profit if at most 2 transactions were allowed. The interviewer wanted a recursive solution first, followed by an optimized version. The follow-up extended this to allow max 'k' transactions. This is a standard DP problem, and I explained a memoization approach using a HashMap as a cache instead of a 2D table.
- Coding Round 2: Again, there were 1-2 behavioral questions. The coding challenge involved a company hierarchy represented as a binary tree, where I had to find the most relevant common department, which translates to finding the Lowest Common Ancestor. We then discussed what if the tree was an n-ary tree and talked about various optimization techniques.
- System Design Round: This round started with 2 behavioral questions. The system design problem prompt was displayed on a whiteboarding tool. It described a complex system involving uploading, supporting multiple GET endpoints, and orchestration aspects. We delved into design choices, tradeoffs, scalability, and monitoring. A significant portion of the discussion revolved around security aspects and access controls. I noted that I didn't have deep expertise in security-related conversations, and the interviewer probed to gauge my understanding in this area, as the team was particularly focused on security.
A week after my interviews, the hiring manager reached out, informing me that the feedback was positive and there was no need for an additional hiring manager round. They extended an offer. I must say, the hiring manager was one of the nicest people I've met throughout this process, and I thoroughly enjoyed my conversations with all the interviewers. There was a slight hiccup in one of the coding interviews related to language, which I mentioned to the hiring manager, anticipating it might affect the outcome, but it didn't.
Interview Questions (3)
I was asked to code up a linked list and add multiple APIs to support use cases such as modifying the list by removing all duplicates, and reversing a sublist given a start and end index.
Given a list of stock prices, find the maximum profit if at most 2 transactions are allowed. The interviewer wanted me to write the recursive solution first and then optimize it later. The follow-up was to extend this to max 'k' transactions.
Given a company hierarchy in the form of a binary tree, find the most relevant common department, which translates to finding the Lowest Common Ancestor. The follow-up discussion was about how to handle this if the tree was an N-ary tree.
Summary
I applied for a Staff Engineer role at ServiceNow in Hyderabad. While I performed well in the initial two rounds, the third round was disorganized and ultimately led to a frustrating experience, resulting in no offer.
Full Experience
I applied for the Staff Engineer position at ServiceNow in Hyderabad through LinkedIn, bringing 10 years of experience to the table.
Round 1: Technical Interview
This round began with questions about my current work and projects. For the DSA part, I was given a problem focused on finding disconnected components in a graph, which I successfully solved using DFS. The feedback from this round was positive.
Round 2: Technical Interview
The second round also started strong. I was asked a DSA problem to find the number of paths from the top-left to the bottom-right of a grid with obstacles, which I solved using DFS. Following this, we moved to System Design, where I was tasked with designing an analytics platform. The requirements included moving data from various sources like MongoDB and RDS to an OLAP database for analytical queries. We discussed data ingestion pipelines, ETL processes, and strategies for query optimization. I received positive feedback for this round as well.
Round 3: Technical Interview
Unfortunately, the third round did not go as smoothly. The interviewer seemed unprepared and lacked clarity on what they wanted to assess. They randomly asked questions about ACID properties and various database concepts, frequently jumping to new topics before I could fully complete my answers. About 20 minutes into the interview, they asked me to design a Web Crawler. I had practiced this problem before and knew the approach, but the interviewer wasn't actively listening to my proposed solution. Instead, they kept asking unrelated questions that didn't align with my design. Every time I tried to clarify the requirements, they would move on to the next question without fully understanding my point. Midway through, I started to lose interest and stopped engaging fully due to the disjointed nature of the discussion.
Interview Questions (4)
Find and identify all disconnected components within a given graph.
Given a grid that may contain obstacles, find the number of unique paths from the top-left corner to the bottom-right corner. Obstacles block paths.
Design an analytics platform capable of moving data from diverse sources such as MongoDB and RDS into an OLAP database for efficient analytical querying. The discussion should cover data ingestion pipelines, ETL processes, and strategies for query optimization.
Design a scalable and robust web crawler system.
Summary
I recently interviewed for an SSE role at ServiceNow. My first round was a technical session that included two LeetCode problems.
Full Experience
I applied for a Senior Software Engineer (SSE) position at ServiceNow through their careers website. With 6.3 years of experience, I moved to the first round, which was a 1-hour technical interview. During this round, I was presented with two coding challenges.
Interview Questions (2)
Summary
I recently interviewed at Servicenow for an IC2 role and successfully received an offer after completing four rounds of technical and behavioral assessments.
Full Experience
My interview process at Servicenow for the IC2 position consisted of four rounds. The first round focused on data structures and algorithms, where I was given two coding problems. The second round also involved DSA, along with some JavaScript conceptual questions. The third round included a string-based coding question and a discussion about my past experience. Finally, the fourth round was a system design interview followed by more behavioral questions and a review of my professional background. I was excited to receive an offer!
Interview Questions (4)
Given the head of a linked list, remove the nth node from the end of the list and return its head.
Given head, the head of a linked list, determine if the linked list has a cycle in it.
Given the head of a linked list, return the node where the cycle begins. If there is no cycle, return null.
Design a database for a system that manages entities with multiple stages, evaluations, and results over time, supporting repeated attempts and outcomes at different stages.
Summary
I interviewed for a Senior Software Engineer role at ServiceNow in Hyderabad, which consisted of multiple rounds covering DSA, LLD, HLD, Java concepts, and behavioral questions. Despite a positive performance in the initial rounds, I received negative feedback on the High-Level Design round, ultimately leading to rejection, and experienced poor communication from HR.
Full Experience
ServiceNow | Senior Software Engineer | Interview Experience
Applied via Referral Current: 6 YEO | PBC
Round 1: Asked questions about current work and projects Java Concepts Two DSA Problems i. Minimum Increment to Make Array Unique ii. Another question on array (I don't remember) Feedback - Positive
Round 2: Java Concepts DSA - Something similar to Stock Buy & Sell LLD - Design a book lending system Feedback - Positive
Round 3: Detailed discussion on projects and resume scanning Java Concepts HLD - Design a notification system - asked a lot of follow up questions related to tech that was not on my resume (He wanted to ask questions about the tech used in their system) Some behavioural questions Feedback - Negative (Obviously, HLD did not go well)
Got the worst HR, she didn't know anything about the focus areas of the interviews. When asked, said that she is not aware of these details. Post R3, HR ghosted me for 2 weeks. After multiple follow ups, I got the feedback.
Piece of advise: Make sure you have a tech recruiter in loop, not just a TA.
Posting these details here so that others can be better prepared.
Interview Questions (3)
Given an array of integers A, a move consists of choosing any A[i] and incrementing it by 1. Return the minimum number of moves to make every value in A unique.
Design a Low-Level Design (LLD) for a book lending system.
Design a High-Level Design (HLD) for a notification system. This involved follow-up questions related to technologies not on my resume, as the interviewer seemed interested in the tech used in their own system.
Summary
I interviewed for an Associate Software Engineer Intern position at ServiceNow and was selected. The process included an online assessment and three technical rounds covering data structures, algorithms, and projects, with specific questions on topics like AVL trees, linked lists, and dynamic programming.
Full Experience
Interview Process:
1. Online Assessment:
- 3 problems: Difficulty was LeetCode Medium, Medium & Hard.
2. Technical Round 1:
- Introduction & Resume Discussion (5 mins).
- Asked about AVL Tree.
- A linked list problem: Reverse two segments of a linked list.
- A math puzzle.
3. Technical Round 2:
- Introduction & Project Discussion (10 mins).
- Basic questions related to ML and JavaScript (5 mins).
- A DSA problem, a slight modification of Kadane's Algorithm.
- A DP problem, a variation of the Minimum Sum Path on a grid with 2 follow-ups.
4. Technical Round 3:
- Project Discussion and Development-related questions (10 mins).
- A string-related problem (25 mins).
- I was asked to implement all DSA problems and run them on an online compiler. Interviewers provided edge cases.
Result:
Selected
Compensation:
89K per month for 2 months.
Interview Questions (4)
Discussion on AVL Tree properties, rotations, and operations.
Given a linked list, reverse two specific segments of it.
A DSA problem that was a slight modification of Kadane's Algorithm.
A dynamic programming problem, a variation of the Minimum Sum Path on a grid, followed by two follow-up questions.
Preparation Tips
DSA Experience:
- Had prior knowledge of topics like Stack, Queues, Binary Search, Number Theory, Bit Manipulation, Trees (Generic Trees), Graphs, and DP (excluding advanced concepts like Digit DP and DP with Bitmask).
- Learned interview-specific topics like Linked Lists and Binary Trees within 15 days before the interview.
Competitive Programming:
- Peak Specialist on Codeforces.
- Active in competitive programming for a long time on Codeforces, CodeChef, and occasionally on Atcoder.
Development Experience:
- Below average in development.
- Familiar with Python and JavaScript.
- Created a few ML projects.
- Developed a web server in C++.
Summary
I interviewed for an SSE position at ServiceNow in Hyderabad. I encountered a LeetCode coding problem in Round 1 and could not provide an optimal solution, which likely led to a rejection.
Full Experience
Round1: https://leetcode.com/problems/smallest-subsequence-of-distinct-characters/description/ I could not come up with the optimal solution. Likely a Reject. Applied through Careers page.
Summary
I interviewed for a Staff Software Engineer (IC3) position at ServiceNow. The process included coding rounds with dynamic programming problems, a system design discussion focusing on AWS latency, and a complex custom DSA problem, though I did not pass the final coding/system design round.
Full Experience
Hi all,
YOE: 5 (Java) Current Location: Hyderabad
Round 1: Simple DP based questions https://leetcode.com/problems/unique-paths/description/ and the follow up https://leetcode.com/problems/unique-paths-ii/description/. Quesitons on the project from resume and a little dive on them
Round 2: HR told me it would be a Coding + System Design.
Interviewer started with AWS services based questions like if we an API and a lambda integrated with it and the API is experiencing high latency what can be the issue causing high latency if there is no issue on Lambda side. How would you optimise your API if we are not allowed to improve memory/performance on lambda side.
DSA Question: https://leetcode.com/problems/maximum-coins-from-k-consecutive-bags/ (Don't know how they selected the question :|) After the first read question seemed a little tricky. Started discussing a Brute Force Approach by using an array to store coins on each coordinate of number line. Interviewer asked to improve on the space complexity as it is mentioned in the question that the number line can be infinte. Tried optimising but could not code the approach that I came up with afterwards.
P.S.- Haven't heard back after this round but doesn't seem will pass this round
Interview Questions (4)
If an API integrated with a Lambda is experiencing high latency, what could be the issue causing high latency if there is no issue on the Lambda side? How would you optimise your API if you are not allowed to improve memory/performance on the lambda side.
DSA Question: The problem seemed a little tricky. I started discussing a Brute Force Approach by using an array to store coins on each coordinate of a number line. The interviewer asked to improve on the space complexity as it is mentioned in the question that the number line can be infinite. I tried optimising but could not code the approach that I came up with afterwards.
Summary
I interviewed for an IC-2 role at ServiceNow, completing two rounds of interviews focusing on DSA and System Design. Despite receiving positive feedback, I was ultimately ghosted by the recruiter.
Full Experience
YOE: 4.5 Recruiter reached out directly.
Round 1: DSA 1st question was a variation of: https://leetcode.com/problems/string-compression-iii/description/ Had to implement a search functionality, did it with binary search 2nd Question: https://leetcode.com/problems/wiggle-subsequence/description/
Round 2: DSA+System Design 1st Question was a hard DP question. A variation of https://leetcode.com/problems/count-palindromic-subsequences/description/
2nd Question: Design Instagram.
Received positive feedback for both rounds, recruiter told the HM round will be scheduled soon but then ghosted.
Interview Questions (4)
System design question focused on designing Instagram.
Summary
I participated in the ServiceNow Women Tech Hiring Challenge, clearing the Online Assessment round which included three coding problems. I advanced to a DSA round where I was asked a 'valid Sudoku' question but was unable to solve it, leading to my rejection.
Full Experience
Hi, I registered for Hackerrank challenge in ServiceNow Women Tech Hiring Challenge.
1st Round - OA(Online Assessment)
Duration - 105 minutes , No. of Questions - 3
There were total of 3 questions and all were coding problems.
First question was something related to Binary Trees which I was not able to solve.
Second question was there was a binary integer array was given and we have to flip it based on some condition. I don't remember exactly the question but I was able to solve it and there were some error I was resolving it but then time was up.
Third question was based on string it was quite easy I was able to solve it quickly.
After few days I got a mail confimation saying that I have cleared the OA round and I'm moved to next stage of the process.
My interview was scheduled within few days.
2nd Round - DSA Round
I was asked valid Sudko question I was not able to solve this.
Verdict - Rejected.
Interview Questions (1)
I was asked the 'Valid Sudoku' question during the DSA round.
Summary
I gave a coding interview round for ServiceNow for System Engineer and Senior System Engineer roles on June 20th. The test was conducted on HackerRank and involved one coding problem, 'Longest Subarray', which I was unable to solve.
Full Experience
Hi, gave a coding interview round for service Now on 20th june for System Engineer and Senior System Engineer role
the test was conducted on hacker rank. Only one problem(not sure if their were others , was not able to solve this.)
Problem: Longest Subarray a subarray of array a is defined as a contiguous block of a’s elements having a length that is less than or equal to the length of the array. For example, the subarrays of array a = {1, 2, 3} are [1], [2], [3], [1, 2], [2, 3], and [1, 2, 3].
Given an integer k = 3, the subarrays having elements that sum to a number ≤ k are [1], [2], and [1, 2]. The longest of these subarrays is [1, 2], which has a length of 2.
Given an array a, determine the longest subarray that sums to less than or equal to a given value k.
Interview Questions (1)
A subarray of array a is defined as a contiguous block of a’s elements having a length that is less than or equal to the length of the array. For example, the subarrays of array a = {1, 2, 3} are [1], [2], [3], [1, 2], [2, 3], and [1, 2, 3].
Given an integer k = 3, the subarrays having elements that sum to a number ≤ k are [1], [2], and [1, 2]. The longest of these subarrays is [1, 2], which has a length of 2.
Given an array a, determine the longest subarray that sums to less than or equal to a given value k.
Summary
I had a Hiring Manager round interview at ServiceNow, where I was presented with a challenging JavaScript problem involving deep flattening an array, grouping its elements by type, and counting the frequency of unique values within each type. I successfully navigated the problem, including debugging a runtime error and addressing several follow-up questions, which led to a positive outcome.
Full Experience
💼 HM Round Interview – JavaScript Deep Flatten + Type Grouping (with a Catch)
🔹 Part 1: Main Problem Asked
"You're given a deeply nested array with all kinds of values (numbers, strings, booleans, null, undefined, functions, symbols, objects).
Write a function that:
- ✅ Deep flattens the array
- ✅ Groups elements by their JavaScript
typeof - ✅ Tracks the frequency count of each unique value within that type (This was the followup of the main question)
🔸 Sample Input:
const input = [1, 'a', [true, ['b', undefined], [{} , null]], () => {}, Symbol('x')];
🔸 Expected Output:
{
number: { '1': 1 },
string: { 'a': 1, 'b': 1 },
boolean: { 'true': 1 },
undefined: { 'undefined': 1 },
null: { 'null': 1 },
object: { '[object Object]': 1 },
function: { '() => {}': 1 },
symbol: { 'Symbol(x)': 1 }
}
🔹 Part 2: Follow-Up Challenge – Runtime Error & Fix
While implementing this, I hit a TypeError:
Cannot read properties of undefined (reading '1')
🐞 Root Cause:
if (!result[key]) {
result[key] = {};
}
❌ Incorrect check — I was initializing based on key (the value),
but should have checked result[type] instead (the group).
✅ Corrected Code:
if (!result[type]) {
result[type] = {};
}
🔍 Bonus Follow-Ups Asked:
- Why does
typeof null === 'object'?
→ Legacy bug. I handled it using:item === null ? 'null' : typeof item. - How did you stringify symbols safely for keys?
→ Useditem.toString()forSymbol(x)values. - What if you needed to keep raw values instead of string keys?
→ Suggested using aMapor{ value, count }objects instead of stringified keys.
✅ Outcome:
Handled edge cases, debugging, and recursion with safe typing and clean grouping logic.
Both versions of the solution:
✅ 1. With Frequency Count
function deepFlattenAndGroupByTypeWithFrequency(input) { const result = {};function recurse(arr) { for (const item of arr) { if (Array.isArray(item)) { recurse(item); // handle nested arrays } else { const type = item === null ? 'null' : typeof item; const key = typeof item === 'symbol' ? item.toString() : String(item);
if (!result[type]) { result[type] = {}; } result[type][key] = (result[type][key] || 0) + 1; } }}
recurse(input); return result; }
🔸 Output Example:
{
number: { '1': 2 },
string: { 'a': 2, 'b': 1 },
boolean: { 'true': 2 },
undefined: { 'undefined': 1 },
null: { 'null': 1 },
symbol: { 'Symbol(x)': 2 }
}
✅ 2. Without Frequency Count (Just grouping by type)
function deepFlattenAndGroupByType(input) { const result = {};function recurse(arr) { for (const item of arr) { if (Array.isArray(item)) { recurse(item); } else { const type = item === null ? 'null' : typeof item;
if (!result[type]) { result[type] = []; } result[type].push(item); } }}
recurse(input); return result; }
🔸 Output Example:
{
number: [1, 1],
string: ['a', 'a', 'b'],
boolean: [true, true],
undefined: [undefined],
null: [null],
symbol: [Symbol('x'), Symbol('x')]
}
Interview Questions (1)
You're given a deeply nested array with all kinds of values (numbers, strings, booleans, null, undefined, functions, symbols, objects).
Write a function that:
- ✅ Deep flattens the array
- ✅ Groups elements by their JavaScript
typeof - ✅ Tracks the frequency count of each unique value within that type (This was the followup of the main question)
🔸 Sample Input:
const input = [1, 'a', [true, ['b', undefined], [{} , null]], () => {}, Symbol('x')];
🔸 Expected Output:
{
number: { '1': 1 },
string: { 'a': 1, 'b': 1 },
boolean: { 'true': 1 },
undefined: { 'undefined': 1 },
null: { 'null': 1 },
object: { '[object Object]': 1 },
function: { '() => {}': 1 },
symbol: { 'Symbol(x)': 1 }
}
Summary
I interviewed for a Software Engineer (IC2) position at ServiceNow, completing a technical round that covered DSA, JavaScript, React, and CS fundamentals. I successfully presented optimal solutions for coding problems and provided detailed explanations for conceptual questions.
Full Experience
Interview experience for Round 1 (R1) – ServiceNow IC2 position
Position: Software Engineer (IC2) Company: ServiceNow Round: R1 – Technical Coding + Concepts Background: I currently work as a Machine Learning Quality Engineer, prepping for a software engineer transition.
Round Format
- Live online technical round
- Topics: DSA, JavaScript, React, CS fundamentals
- Coding on a shared editor (JavaScript)
Questions & My Approach
1. Next Greater Element to the Right
-
Question: Given an array, print for each element its next greater element to the right (or -1 if none exists). Example:
[11, 13, 21, 3]→[13, 21, -1, -1] -
My Approach:
- Explained both brute-force (O(n²)) and optimal stack (O(n)) solutions.
- Implemented the monotonic stack solution in JavaScript—clean, commented, CP-style.
- Discussed edge cases like decreasing sequences and duplicates.
- Provided reasoning and time/space complexity.
2. First Missing Positive Integer
-
Question: Given an unsorted array, find the smallest missing positive integer starting from 1, in O(n) time and O(1) space. Example:
[2, 3, -7, 6, 8, 1, -10, 15]→4 -
My Approach:
- Described classic O(n) in-place hashing (index marking) approach.
- Walked through a dry run, showed how negatives and out-of-bounds numbers are handled.
- Wrote JS function signatures and code.
- Highlighted edge cases (no 1 present, fully continuous arrays, all negatives).
- Explained why this approach meets O(n)/O(1) requirements.
3. JavaScript & React Concepts
-
Promises:
- Explained promise states (pending/fulfilled/rejected), usage, chaining, and async/await.
-
Callbacks:
- Discussed as arguments for async ops, in React (event handlers, child-to-parent comm), and array methods.
-
useEffect & useMemo:
- Gave clear definitions, syntax, use cases, and sample code.
- Explained when and why to use each for performance and side effects.
4. JS Fundamentals
-
call, apply, bind:
- Compared usage, argument passing, and context binding.
-
Private Variables/Closures:
- Demonstrated classic closure and ES6+ class fields.
-
IIFE:
- Explained syntax, use cases for local scope/data privacy.
-
Hoisting:
- Clarified what’s hoisted, difference between var/let/const, TDZ.
-
Synchronous vs. Asynchronous:
- Explained default JS sync nature, async via event loop/callbacks/promises.
5. Closure Coding Challenge
-
Task: Implement a closure-based counter so each call returns the next increment.
-
Solution:
- Wrote a factory function returning an inner function that remembers a private counter.
How I Approached the Round
- Explained my thinking before coding, highlighted time/space tradeoffs.
- Used CP-style variable names and code structure.
- Gave edge cases, reasoning, and small dry runs for clarity.
- Related answers back to real ServiceNow product scenarios (edge-case bugs, async APIs, UI interactions).
Overall Impression
- Questions were practical, relevant, and tested core understanding.
- Clear communication and explaining the "why" as well as the "how" was appreciated.
- Prepping with LeetCode, React core, and real-world debugging scenarios helped a lot.
Interview Questions (11)
Given an array, print for each element its next greater element to the right (or -1 if none exists).
Example: [11, 13, 21, 3] → [13, 21, -1, -1]
Given an unsorted array, find the smallest missing positive integer starting from 1, in O(n) time and O(1) space.
Example: [2, 3, -7, 6, 8, 1, -10, 15] → 4
Explain Promise states (pending/fulfilled/rejected), usage, chaining, and async/await.
Discuss callbacks as arguments for async ops, in React (event handlers, child-to-parent comm), and array methods.
Give clear definitions, syntax, use cases, and sample code for useEffect and useMemo. Explain when and why to use each for performance and side effects.
Compare usage, argument passing, and context binding for call, apply, and bind.
Demonstrate classic closure and ES6+ class fields for private variables.
Explain IIFE syntax, use cases for local scope/data privacy.
Clarify what’s hoisted, difference between var/let/const, TDZ.
Explain default JS sync nature, async via event loop/callbacks/promises.
Implement a closure-based counter so each call returns the next increment. Task: Implement a closure-based counter so each call returns the next increment.
Preparation Tips
Prepping with LeetCode, React core, and real-world debugging scenarios helped a lot.
Summary
I recently interviewed at ServiceNow for a Software Engineer (IC2) role, navigating multiple rounds covering DSA, HLD, and behavioral questions, and ultimately received an offer in May 2025.
Full Experience
Hi everyone, I recently interviewed at ServiceNow for the Software Engineer (IC2) role at their Hyderabad office. Here’s a quick breakdown of the process:
🔹 Round 1: DSA Jump Game II
Minimum Number of Swaps to Make the String Balanced
🔹 Round 2: DSA + HLD Remove K Digits
Merge Two Sorted Lists (without extra space)
One basic high-level design question. Good discussion overall.
🔹 Round 3: Hiring Manager Situation-based and behavioral questions
Discussion on past work
DSA variation of Majority Element (More then 3 distinct elements)
One HLD problem
🔸 Hiring Paused After this round, hiring was paused for the team I was interviewing with. HR contacted me after ~10 days and asked if I’d like to interview for a different team. I agreed.
🔹 Round 4: DSA + DB Design Modified Maximal Square (with coordinates)
One database design question
🔹 Round 5: DB Design + DSA Basic DB schema design
✅ Final Outcome Got the offer in May 2025.
🙋♂️ About Me 2.5+ years experience
Tier-1 college
Product-based background
Compensation Detail Let me know if anyone has questions! Happy to help 😊
I don't know how to comment while staying anonymous.
- I had applied and forgotten about it, but after a few months, the HR reached out to me, I’d say it was pure luck.
- I don't know the exact team.
Interview Questions (7)
Summary
I completed seven rounds of interviews for a Senior Software Engineer (IC3) - Full stack Engineer position at ServiceNow in Hyderabad, ultimately receiving an offer despite a challenging and lengthy process, which included multiple coding and system design rounds.
Full Experience
Company : Service Now Location : Hyderabad YOE : 5.6 years Position : Senior Software Engineer (IC3) - Full stack Engineer
Round 1 - Coding
Question 1 : Leetcode 11. Container With Most Water
Solved it using standard 2-pointer solution for this problem
Question 2 : Given 2n numbers, check if we can divide them into n pairs with each pair containing same element : Eg. [3,2,3,2,2,2] - [3,3], [2,2],[2,2] - Return true
Used a set and looped through the array and inserted the element if it does not exist in set and removed the element from set if it exists already. Returned true if set is empty at the end.
Few questions on Javascript :
-> Output based questions around Promises, setTimeout, this keyword, || operations on different data types.
Answered all these questions correctly
Open ended design based question :
Design database schema and APIs for handling Credit and Debit transations in a bank
This section went well too as I incorporated all the follow up questions in my design
Round 2 - Coding
Question 1 :
Akash wants to distribute candies on his birthday. There are A people and he has two types of candies. B candies of the first type and C candies of the second type.
He wants to distribute candies in such a way that no person has candies of both types and each person has at least one candy.
Let X denotes the minimum candies among all people after distribution of candies.
Find the maximum X.
Eg. A=4 B=4 C=5
Output = 2
Solved it using binary search over range of possible valid answers. Interviewer was satisfied with the approach, sample test cases passed.
Question 2 :
Given an array A, find the nearest smaller element G[i] for every element A[i] in the array such that the element has an index smaller than i.
More formally, G[i] for an element A[i] = an element A[j] such that j is maximum possible AND j < i AND A[j] < A[i]
Elements for which no smaller element exist, consider the next smaller element as -1.
A = [1, 6, 5, 9, 10, 8, 11, 10] Output = -1 1 1 5 9 5 8 8
Proposed brute force initially and then improvised it using stack.
Round 3 - System Desgign (UI)
Design a configurable/Reusable table component - Discussion was more around what things I will be considering to make it as flexible as possible, how would the contract look like, handling complex cells in the table etc.
Overall went well, discussion felt healthy.
After these rounds, I was told that this position got cancellend and was told I was being mapped to a different position open with another team for which I have to give another round of system design and coding round since that team wanted it. Usually service now has 2 coding, 1 system design and 1 hiring manager rounds but had to given additional rounds due to this change
Round 4 - System Design
Build a messaging service - Design APIs, Database schema and Queries, basic code to process certain pieces of logic in these APIs etc
Overall went well, it felt like interviewer seemed satisifed at the end.
Round 5 - Coding
Solved it brute force using two hashmaps initially and then proposed and wrote pseudo code using dfs and interviewer looked okay at the end
Round 6 - Hiring Manager (US) General discussion about my experience, their team, and surprisingly a coding question :
Something similar to this but input won't have extra spaces. I did not have to solve it entirely, had to discuss the approach and it was a friendly discussion.
Round 7 - Hiring Manager (India)
General discussion about working culture, career, my past experience and projects.
Finally received the offer. Compensation details here - https://leetcode.com/discuss/post/6660684/servicenow-senior-software-engineer-ic3-22guq/
It was little exhausting as I had to give same rounds multiple times. I felt I was lowballed in the offered compensation especially after clearing so many rounds and servicenow compensation standards.
But having an offer after months of search finally feels like a relief.
Interview Questions (10)
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i are (i, ai) and (i, 0). Find two lines, which, together with the x-axis, forms a container, such that the container contains the most water.
Given 2n numbers, check if we can divide them into n pairs with each pair containing the same element. Example: [3,2,3,2,2,2] -> [3,3], [2,2],[2,2] -> Return true
Output based questions around Promises, setTimeout, this keyword, and || operations on different data types.
Design database schema and APIs for handling Credit and Debit transactions in a bank.
Akash wants to distribute candies on his birthday. There are A people and he has two types of candies. B candies of the first type and C candies of the second type. He wants to distribute candies in such a way that no person has candies of both types and each person has at least one candy. Let X denotes the minimum candies among all people after distribution of candies. Find the maximum X. Eg. A=4 B=4 C=5 Output = 2
Given an array A, find the nearest smaller element G[i] for every element A[i] in the array such that the element has an index smaller than i. More formally, G[i] for an element A[i] = an element A[j] such that j is maximum possible AND j < i AND A[j] < A[i] Elements for which no smaller element exist, consider the next smaller element as -1. A = [1, 6, 5, 9, 10, 8, 11, 10] Output = -1 1 1 5 9 5 8 8
Design a configurable/reusable table component. The discussion focused on considerations for flexibility, the component's contract (API), and handling complex cells within the table.
Design a messaging service, including its APIs, database schema and queries, and basic code to process certain pieces of logic in these APIs.
Given a list of accounts where each account consists of a name and a list of emails, merge these accounts. Two accounts belong to the same person if they have some email in common. Note that emails are case-insensitive. After merging, each account should consist of the name and a list of sorted unique emails. The accounts should be sorted by name and then by the first email in each account.
Implement a basic calculator to evaluate a simple expression string. The expression string contains only non-negative integers, +, -, *, / operators and empty spaces. The integer division should truncate toward zero. The input expression does not contain extra spaces, similar to LeetCode problem 227.
Summary
I recently appeared for a ServiceNow IC2 interview, detailing three rounds including DSA, system design, and behavioral questions, but I have not yet received a response after the final round.
Full Experience
Hi everyone,
I recently appeared for a ServiceNow interview.
First Round: DSA + My Previous Work
Bracket Swapping (standard question)Math + Binary Search question (easy-medium level, I can't recall the exact problem)
I solved both optimally.
Second Round: DSA + My Previous Work
Rotten Oranges (solved completely)Find the number of rooms required to conduct all meetings
(I explained it using the line sweep algorithm, but the interviewer asked me not to use that approach. I have come up with new approach but couldn’t code it in within the given time)
The interviewer seemed satisfied with my approach, and I got a call for the Hiring Manager round the same day.
Third Round: HM Round
Basic questions on Java, Docker, Kubernetes, Java vs Golang, Rest vs GrpcA puzzle
Discussion about my previous work, current salary, and expected salary
(I primarily work as a backend developer (SpringBoot, Golang) and have a basic understanding of Docker and Kubernetes. I answered all questions correctly, except for one Docker-related question, which I couldn't answer properly.)
It's been 5 days since the last round, and I haven’t heard back from them.
Has anyone faced a similar situation or can share any insights?
Update: HR called me asked me to share documents (3months payslip, pan, passport,...) and expected salary, I have shared all the details but no response from there side even after 4 days, not lifting the calls currently :(
About Me:
Expereience: 1 year 8 monthsCollege: Tier-1
Current Company: Startup - One of India's Biggest :)
Interview Questions (2)
Given a grid of oranges, where 0 is an empty cell, 1 is a fresh orange, and 2 is a rotten orange. Every minute, any fresh orange that is 4-directionally adjacent to a rotten orange becomes rotten. Determine the minimum number of minutes that must elapse until no fresh oranges remain. If this is impossible, return -1.
Given an array of meeting time intervals intervals where intervals[i] = [starti, endi], return the minimum number of conference rooms required.
Summary
I interviewed for a Senior Software Engineer (SSE) position at ServiceNow, which included an HR screening and a Problem Solving/DSA round. I successfully solved the DSA problems within 30 minutes and discussed work culture, but I was ultimately rejected.
Full Experience
1.HR Screening
2.PS/DSA
1.Longest subarray of zero Sum
follow up : Print subarray
2. Zig zag traversal of Binary Tree
Solved with in 30 mins and discussed work culture in servicenow
Final Verdict: Rejected
Interview Questions (3)
Find the longest contiguous subarray whose elements sum up to zero.
After finding the longest contiguous subarray whose elements sum up to zero, print the actual subarray. This was a follow-up to the previous problem.
Given the root of a binary tree, return the zigzag level order traversal of its nodes' values. (i.e., from left to right, then right to left for the next level and alternate between).
Summary
I applied to ServiceNow via referral for a Senior Software Engineer role. I underwent a 60-minute round covering project discussion, design patterns, multithreading scenarios, and two DSA questions: Longest Palindromic Substring and Course Schedule. I was rejected after failing to fully solve Course Schedule.
Full Experience
Applied to ServiceNow via Referral, got a call as I was an immediate joiner. Total experience - 4.5 years
Round 1 - 60 mins
- Initial 20 mins -
- Discussion and cross questions on my current project.
- Questions about Design patterns - specially Singleton Design Pattern, how can we break Singleton pattern, how to make it thread safe, what are reflection APIs
- Few Scenario based questions on Multithreading.
- Next 40 Mins -
- 2 DSA Questions - Longest Palindromic Substring, Course Schedule
- Expectation was to have complete working code.
Rejected in round 1 as I could solve first question full but 2nd question partially(few TCs were failing).
Interview Questions (3)
Discussion on Design patterns, specifically the Singleton Design Pattern: how can we break it, how to make it thread safe, and questions about reflection APIs in this context.
A Data Structures & Algorithms question requiring the implementation of the Longest Palindromic Substring problem. Expectation was to have complete working code.
A Data Structures & Algorithms question requiring the implementation of the Course Schedule problem. Expectation was to have complete working code.
Summary
I interviewed for a Senior Software Engineer position at ServiceNow, completing two rounds that included coding, system design, and project discussions. I was ultimately rejected.
Full Experience
Round 1
- Coding: Search for a value on a row and column sorted 2d matrix.
- Short discussion on a past project.
- Discussed approach for the below:
// Given a log file, each log consists time stamp, user name, message. Output top N users in descending order of total no of words used. // Ip: 10.10 John ABC def // 10.11 Marie ABC // 10.20 Marie Q W E // 10.23 John ABC def // N = 1 // M// Op: [(John, 4)]
// Also parse log function is given which takes input as log file path, and then returns List of users and their word counts // [(John, 2), (Marie, 1), (John, 2)]
Round 2
- Coding:
Variation of https://leetcode.com/problems/longest-consecutive-sequence, but for prime numbers. Still expected O(n) 🙂Length of Longest Consecutive prime Subsequence in unsorted array eg: arr[] = {36, 41, 19, 56, 35, 44, 13, 33, 17, 29, 34, 11, 92, 43, 23, 32, 42} 11, 13, 17, 19, 23, 29 -> 6 N <= 10^7 0 <= arr[i] <= 10^7- Unique numbers
unsorted
After some time, he mentioned we can assume we have a method that returns the next prime number for a given prime number in a very efficient way. - Last few mins discussion on LLD of BookMyShow for movies in India.
Verdict
RejectedInterview Questions (4)
Search for a value on a row and column sorted 2d matrix.
Given a log file, each log consists time stamp, user name, message. Output top N users in descending order of total no of words used. Ip: 10.10 John ABC def 10.11 Marie ABC 10.20 Marie Q W E 10.23 John ABC def N = 1
Op: [(John, 4)]
Also parse log function is given which takes input as log file path, and then returns List of users and their word counts [(John, 2), (Marie, 1), (John, 2)]
Variation of https://leetcode.com/problems/longest-consecutive-sequence, but for prime numbers. Still expected O(n) 🙂
Length of Longest Consecutive prime Subsequence in unsorted array eg: arr[] = {36, 41, 19, 56, 35, 44, 13, 33, 17, 29, 34, 11, 92, 43, 23, 32, 42} 11, 13, 17, 19, 23, 29 -> 6 N <= 10^7 0 <= arr[i] <= 10^7
- Unique numbers
- unsorted
Sieve not allowed due to the space it takes. Expected complexity of the driver algorithm - O(n). I don't really think a solutions exists.
After some time, he mentioned we can assume we have a method that returns the next prime number for a given prime number in a very efficient way.
Low-level design discussion for BookMyShow for movies in India.
Summary
I interviewed for a Software Staff Engineer (IC3) position at ServiceNow in Bangalore, which involved multiple rounds covering DSA, system design, and behavioral questions. Despite some areas where my knowledge was rated as average, I received positive feedback from the hiring manager round and am awaiting a potential offer.
Full Experience
Hi all,
My exp: 5.10 (Java) Current Location: Bangalore
Round 1 & Round 2: Easy to medium level DSA questions (dont remember but pretty solvable) Feedback: Positive (no negative details)
Round 3: Interviewer grilled me on technical topics.
- He started with Databases - I aforementioned I barely worked at Database level, written basic queries to fetch data - he skipped the topic completely (feedback was candidate lacked DB knowledge)
- Then he asked question like producer and consumer where producer produces events (timestamp, userid, msg) in unordered way. Consumer consumes them and once the batch reaches 100size sorts and prints. I gave him working solution (feedback was solution was incomplete but acceptable)
- When a user hits 100 requests at a time what happens on the server, how they are processed in your springboot application? (please share your answers)
- How do you limit amount of data size in request? I said I use page no and size in the request. He asked me to show it and I have shown.
- What measures will you take for the scenarios when the service you call not responds for some reason like timeout? I said Circuit breaker pattern
- Grilled me about Circuit breaker - How it helps? You can use error response 500 to understand that service failed but why do you need circuit breaker etc. I have answered the advantages (please share your answers too)
- Where you deployed your services? I used different platforms - OCP, Cloud like AWS etc
Overall feedback - just average (Candidate has good problem solving skills. Technology is poor - answered all but barely scratched the surface etc.)
My experience is that the cross questions were unclear. He asked on a very high level which are very difficult for me to interpret what was he expecting as an answer.
Have HM round scheduled tomorrow. Any suggestions on how to do in that round are welcome. My recruiter mentioned if HM goes well, most likely will get offer.
I will keep you posted
Update: Round 4: HM Round He politely spoke throughout the interview. Started off with a coding problem - min swaps to balance parenthesis. I did not solve the problem before but know using stack to check balanced/unbalanced parenthesis. I maintained a count of unbalanced ones but it did not give min swaps. Then I digged with other examples and found the logic. Interviewer also had participated in solving the problem. Finally got the solution. Other topics:- Microservices and REST API - what are they and differences? Authentication Statelessness Talk about previous project with Microservices
Feed back: Positive (not received detailed feedback yet)
Edit: Forgot to mention that there was another HM round after Round 1 & 2. Interviewer asked some managerial questions like how do you know and why do you want to join etc. Then a palindromic substring question and newsfeed systemdesign. I was not able to solve coding question completely. We discussed the design on high level where she asked a few questions and I clarified. But the feedback was design not good, can consider for IC2.
Details of Compensation: here
Interview Questions (13)
Implement a producer-consumer system where the producer generates events (timestamp, user ID, message) in an unordered fashion. The consumer should consume these events, and once a batch of 100 events is accumulated, it should sort and print them.
Explain what happens on the server when a user sends 100 requests concurrently, and how these requests are processed within a Spring Boot application.
How do you limit the amount of data size in a request? I demonstrated using page number and size parameters in the request.
What measures would you take for scenarios where a called service does not respond due to reasons like a timeout?
Explain how the Circuit Breaker pattern helps. Why is it needed when an HTTP 500 error response can indicate a service failure? Discuss its advantages.
Discuss the platforms where you have deployed your services.
Given a string of parentheses, find the minimum number of swaps required to balance it. I initially tried using a count of unbalanced parentheses, but eventually found the correct logic with the interviewer's help.
Explain what Microservices and REST APIs are, and discuss their differences.
Discuss concepts related to Authentication.
Discuss the concept of statelessness in system design.
Discuss my previous project experience involving Microservices.
Answer managerial questions such as how I know about ServiceNow and why I want to join.
Design a newsfeed system. We discussed the design on a high level.
Summary
I recently had an interview at ServiceNow for an IC2 role in Hyderabad after receiving a referral. The process involved three rounds focusing on Data Structures & Algorithms, High-Level Design, and a Hiring Manager discussion, ultimately resulting in an offer.
Full Experience
Round 1: Focus on DSA
The first round concentrated on Data Structures and Algorithms.
- I was asked to find the Next Greater Element (NGE) for every element in a given array.
- There was another medium-level problem that involved typical DSA concepts, but I don't recall the exact question.
- A problem was presented involving trains at a railway station with varying arrival times, some cancelled or delayed. The interviewer asked which data structure would be most suitable for solving this and why.
- Finally, I was asked for my approach to solving the Coin Change problem.
Round 2: DSA + HLD
The second round combined DSA with High-Level Design.
- One question involved reconstructing a normal Binary Search Tree (BST) given its postorder traversal.
- I was also given a High-Level Design problem related to Swiggy, where they wanted to assess my understanding of HLD and its practical application.
Round 3: Hiring Manager
The final round was with the Hiring Manager.
- I was asked to design a database for a hotel booking system, specifically mentioning OYO DB Design.
- Additionally, I had to provide an efficient approach to solve the classic Stock Buy and Sell Problem.
I am pleased to share that I was selected for the role.
Interview Questions (7)
Given an array, find the Next Greater Element (NGE) for every element in it. The Next Greater Element for an element x is the first greater element on the right side of x in the array. If no such element exists, consider it -1.
I encountered a problem involving trains at a railway station with varying arrival times, some cancelled or delayed. I was asked to identify the most suitable data structure for solving this problem and provide justification.
I was asked to describe the approach to solving the classic Coin Change problem, which involves finding the minimum number of coins needed to make a certain amount, given a set of coin denominations.
Given a postorder traversal sequence of a Binary Search Tree (BST), reconstruct the original BST from it.
I was presented with a High-Level Design (HLD) problem related to Swiggy, designed to test my understanding of HLD principles and their application in a practical scenario.
I was tasked with designing a database for a hotel booking system, similar to OYO.
I was asked to provide an efficient approach to solve the classic Stock Buy and Sell problem, where the goal is to maximize profit by buying and selling stocks over a period.
Summary
I experienced a four-round interview process for the Associate Software Engineer role at ServiceNow. The process included an online test with DSA and SQL, two technical rounds focusing on DSA, OOPS, and puzzles, and a final technical-managerial discussion.
Full Experience
My interview journey at ServiceNow for the Associate Software Engineer role comprised four distinct rounds: an Online Test, two Technical Rounds, and a final Technical + Manager Round.
Round 1: Online Test on HackerRank (2 DSA + 1 SQL)
This round was conducted on HackerRank with a time limit of 105 minutes. It included two Data Structures & Algorithms (DSA) questions and one SQL question. I was informed that those who solved all three questions received interview invitations.
Round 2: Technical Interview 1
This round was exclusively focused on DSA and a discussion of my resume. For the first 15 minutes, we discussed projects mentioned on my resume. The interviewer asked basic questions about problem statements, definitions of libraries and tech stacks used, and real-life applications of my projects. The DSA question asked was LeetCode 572. Subtree of Another Tree, where I was expected to present different approaches along with their time and space complexities, from brute force to optimal solutions.
Round 3: Technical Interview 2
This round primarily focused on easy Data Structures and Algorithms (DSA), Object-Oriented Programming (OOPs) concepts, and Puzzles. I faced multiple DSA questions and then some OOPs theory. Towards the end, the interviewer presented two puzzles; I managed to solve one, but the other posed a greater challenge.
Round 4: Technical + Managerial Interview
This final round combined a brief description of my projects and past experiences with a managerial evaluation. In the technical discussion, I was asked the reasons behind choosing each project and selecting specific libraries and frameworks. For the managerial discussion, questions revolved around how I take inputs from managers, where I envision myself in the next 5 years, and my interests in tech and hobbies.
Interview Questions (8)
Given an array of integers in any order, return the maximum of a+b+c where a, b, c are subsequences in the array, and a < b > c.
Given an array of integers, its totalCost is calculated as follows, where n = the number of elements in the array and the array itself is named element.
currentMaximumElement = element[0]
totalCost = 0
for ( i = 1; i < n; i += 1){
if (element[i]>currentMaximumElement){
currentMaximumElement=element[i]
totalCost+=1
}
}Given three values, n, m, and totalCost, find the number of distinct arrays that meet the following criteria:Each array consists of n integers.
1 <= value at index i in each array <= m, where 0 <= i < n.
The cost to find the maximum element of each array is equal to totalCost.
Two arrays are said to be distinct if there exists at least one index i (where 0 <= i < n) such that the elements at index i are not equal.
For example, given values n=4, m=4, and totalCost=2. With totalCost=2 increases in maximum value from the initial value at element 0 and n=4 elements, each element is between 1 and m=4 inclusive. There are 30 such arrays:
[1,1,2,3], [1,2,1,3], [1,2,3,1],[1,2,2,3], [1,2,3,2],[1,2,3,3],[1,1,2,4], [1,2,1,4], [1,2,4,1],[1,2,2,4], [1,2,4,2],[1,2,4,4],[1,1,3,4], [1,3,1,4], [1,3,4,1],[1,3,3,4], [1,3,4,3],[1,3,4,4],[2,2,3,4], [2,3,4], [2,3,4,2],[2,3,3,4], [2,3,4,3],[2,3,4,4],[2,1,2,3], [2,1,2,4], [2,1,3,4],[2,3,1,4],[2,3,2,4], [2,3,4,1]
Complete the Function
vector arraysCount(vector n,vector m, vector totalCost){
}</code></pre>Function Description:<br>The function must return an array of integers where each answer[i] equals the number of arrays that meet the criteria for the query, modulo 10^9 +7.<br>Sample Input/Output:<br>The arrays are n=[2, 3, 4], m= [3, 3, 3], and totalCost=[1, 2, 2]. Let the return array be answers, then:<br>answers[0] describes the value arraysCount(n[0] =2, m[0]=3, totalCost[0] = 1) i.e., the total number distinct of arrays such that<br>Each array consists of 2 elements<br>1 <= value at each index i in each array <= 3, where 0 <= i < 2<br>The cost of finding the maximum element of each array = 1<br>The following three arrays meet the criteria:<br>[1,2]<br>[1,3]<br>[2,3]<br>Answer for this query is 3.<br>Similarly the answers array has to be [3,1,6].<br>Constraints:<br>1 < q <= 50<br>1 <= n[i] <= 50, where 0 <= i < q<br>1 <= m[i] <= 100, where 0 <= i < q<br>0 <= totalCost[i] < n[i]. Where 0 <= i < q
A vaccine is administered in two doses. It is best if the doses are given between 48 and 72 days apart inclusive. Write a SQL query to return the percentage of beneficiaries who received both doses within the recommended time period, rounded to the nearest integer. Table doses: Dose_id, Beneficiary_id, dose_type, vaccination_date.
Print the elements of a given matrix in spiral order.
I was asked to discuss the fundamental characteristics of Object-Oriented Programming (OOPs).
I had to explain the key differences between an Abstract class and an Interface in OOPs.
Summary
I interviewed for a Senior Software Engineer position at ServiceNow, successfully clearing four rounds of interviews. Despite receiving positive feedback throughout the process, I was ultimately rejected with a generic email.
Full Experience
My journey began with an introductory call from a recruiter who discussed my background, previous experience, the role's details, and compensation expectations. After confirming alignment, they informed me that another HR representative would assist with scheduling.
Approximately 10 days later, my first technical round was scheduled:
Problem Solving Round
This round focused heavily on problem-solving skills and the rationale behind choosing specific algorithms. The interviewer was less interested in perfectly working code and more in my thought process and a draft solution. I was presented with two coding challenges and one behavioral question:
Miscellaneous Round with Staff Engineer
Immediately after clearing the first round, HR contacted me to schedule the next round, which happened two days later. This round with a Staff Engineer touched upon a wide range of topics, with the interviewer emphasizing that he was evaluating my problem-solving approach rather than just the final solution. We discussed a coding problem, its extensions, and several system design and conceptual questions:
Miscellaneous Round with EM
After a week, HR informed me I had cleared the Staff Engineer round and scheduled the next round for the very next day. This round was with an Engineering Manager (not the hiring manager) and focused on my previous work experience, a deep dive into one of my past projects, and some Object-Oriented Programming (OOPs) concepts.
Techno-Behavioral Round with HM
Two days later, HR called again to confirm I had cleared all three technical rounds, and the final round with the Hiring Manager was scheduled for the following day. This round involved extensive discussions about my previous work, expectations from the company and the role, and ensuring mutual alignment. I was also asked a system design question:
All my rounds proceeded well, and I consistently received positive feedback. However, despite this, I eventually received a generic rejection email, which felt similar to a rejection during the resume screening phase. I've observed this pattern with other candidates too, which I believe is an inefficient use of time and resources for both candidates and the company, potentially impacting the company's reputation.
Interview Questions (11)
Given a string s consisting of only open and closed parentheses '(', ')', evaluate its score based on the following rules:
()has a score of 1.ABhas a score ofA + B, where A and B are balanced parentheses strings.(A)has a score of2 * A, where A is a balanced parentheses string.
Describe a time when you engaged in 'anti-engineering' practices and explain your rationale for doing so.
Given an array where all elements appear twice and are placed next to each other, except for one single element which is not repeated. Find that unique element. Example: [1,1,2,2,4,4,5,6,6] output 5.
What is fault tolerance?
What is a transaction?
Explain transactions in a distributed system context.
Describe how a payment service and an order service can communicate and update their respective values during the process of an order creation.
Perform a Low-Level Design (LLD) for a Cab Booking system, specifically focusing on implementing the pricing mechanism with simple assumptions.
What are the best practices for creating a new REST API?
Design a data model for the Aarogya Setu application.
Summary
I interviewed for a Software Staff Engineer (SSE) role at ServiceNow and unfortunately faced rejection after the second round. The interview process focused heavily on Data Structures and Algorithms, covering both well-known problems and a custom array partitioning challenge.
Full Experience
I recently interviewed for the SSE position at ServiceNow, which consisted of two rounds, primarily focusing on Data Structures and Algorithms.
Round 1: This round involved solving two DSA questions. I was asked to implement solutions for Spiral Matrix and Number of Islands. I successfully solved both problems and was advanced to the next round.
Round 2: In this round, I was presented with a custom array partitioning problem. Despite my efforts, I was not able to clear this round and received a rejection. A key takeaway from my experience is that they place a significant emphasis on the correctness and output of solutions in each round.
Interview Questions (3)
You are given an array of integers. You need to partition the array into three subarrays such that the sum of each subarray is equal. An important constraint is that the elements at the partition points should not be considered part of any subarray.
Example: If the input array is [1,2,1,2,1,2,1] and you partition at indices 1, 3, and 5, you would get three subarrays whose sums are 1 each ([1], [1], [1]). In such a case, you should return true. Otherwise, return false.
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).
Summary
I interviewed for a Software Staff Engineer position at ServiceNow in February 2024. The interview focused on Data Structures & Algorithms, specifically a problem involving calculating the sum of elements within a given range, and I was unfortunately rejected.
Full Experience
I recently had an interview for the SSE role at ServiceNow in February 2024. The session primarily revolved around Data Structures & Algorithms, where I was presented with a specific coding challenge. Despite my efforts, the outcome was a rejection.
Interview Questions (1)
Given an array of n integers and q queries. Each query is defined by a start index s and an end index e. For each query, I needed to return the sum of elements of the indices from s to e (inclusive).
Example:a=[1,2,3,6,3,2];q = 3
Queries:s,e-> [2,3]s,e-> [0,4]s,e-> [1,2]
Expected Output Sums:sum=[9,12,5]
Summary
I recently interviewed for the Software Quality Engineer (IC2) position at ServiceNow, progressing through multiple technical rounds and a hiring manager conversation. I successfully cleared all rounds and am currently awaiting an official offer.
Full Experience
Phase 1: Initial Phone Screening from HR
I started my interview process with an HR phone screen. During this call, we engaged in a comprehensive discussion about my current role and responsibilities, which successfully set the stage for the subsequent technical rounds.
Technical Phone Interview (Round 1)
This round was a technical deep dive, guided by a veteran senior quality engineer who maintained a calm demeanor throughout. We covered a wide array of topics to assess my technical acumen and problem-solving abilities:
- I provided detailed insights into my daily activities, emphasizing my key responsibilities and achievements in my current role.
- We discussed the role of Maven in managing project dependencies, and I highlighted its primary benefit in simplifying the build process.
- I clearly distinguished between method overloading and overriding, demonstrating a solid understanding of object-oriented programming (OOP) principles.
- I gave a detailed explanation of the structure of the test automation suite I had implemented, showcasing its organization and efficiency.
- I justified the use of POM.xml over alternative methods, highlighting its advantages in managing project dependencies.
- I successfully tackled the LeetCode medium-level problem 'Three Sum,' demonstrating my problem-solving skills.
- I enumerated the significance and use cases of various TestNG annotation methods, such as `@AfterSuite`, `@BeforeSuite`, and `@AfterClass`.
- I articulated the importance of assertions in testing and how they ensure the expected behavior of the code.
- I described the Jenkins setup I had implemented and discussed possible improvements and additional functionalities for continuous integration.
- I explained the implementation of parallel test case execution, demonstrating approaches to achieve scalability and efficiency in testing.
- I shared strategies I've used to address challenges in finding XPath for certain test cases, displaying my problem-solving skills in web automation.
- I clarified the nature of the automation suite I developed, categorizing it as BDD (Behavior-Driven Development), KDD (Keyword-Driven Development), and DOM-based.
Following this comprehensive round, I was pleased to receive an invitation for Round 2, which made me believe the interview went well!
Round 2 Interview
This round provided a further comprehensive understanding of various programming concepts and practical application scenarios, significantly enhancing my problem-solving skills and programming proficiency.
- I was asked to differentiate between overloading and overriding, and I provided an example related to automation, explaining how method overloading could involve having multiple methods with the same name but accepting different types of locator strategies.
- I debugged several provided Java code snippets, determining their output and explaining the behavior in scenarios involving `System.exit(0)` in a `try-finally` block, method overriding with exceptions in a class hierarchy, and the misuse of a `break` statement within a `try-finally` block.
- I explained how error codes are typically utilized in APIs when a resource is not present, citing common examples such as 404 for 'Not Found' and 400 for 'Bad Request'.
- I listed common HTML tags automated in web automation, such as `<input>`, `<button>`, and `<select>`, and briefly explained how they are automated using tools like Selenium WebDriver. I also detailed how iframes are handled in web automation by switching to the frame using Selenium's `switchTo().frame()` method before interacting with elements inside and then switching back to the default content.
- I was asked to manipulate an array to group negative numbers to the left and positive numbers to the right, for which I presented a Java solution.
- I outlined the essential components that should be included in a bug report, such as detailed steps to reproduce, expected vs. actual results, screenshots or logs, environment details, and severity/priority assessment.
- I described the process of using a package from one project in another project using Maven, explaining that it involves specifying the dependency in the `pom.xml` file of the target project.
- I discussed the considerations that should be taken into account when automating APIs using Newman, including factors like endpoint URL, request parameters, headers, authentication, response validation, error handling, and reporting.
- I defined the concept of packages in programming, specifically in Java, explaining their use in organizing classes into namespaces to aid in better code management, modularity, and avoiding naming conflicts.
Round 3 Interview
This round was diverse, focusing on cloud management, Linux systems, and practical Java programming.
- The first question focused on strategies for managing permissions within Google Cloud Platform (GCP). I discussed role-based access control (RBAC) and Google's Identity and Access Management (IAM) policies as effective means to control access to cloud resources.
- I explained how to conceal a running process in Linux so that it doesn't occupy the terminal and persists even after closing the virtual machine (VM). I detailed how to achieve this using background processes, `nohup`, and `disown` commands to detach processes from the terminal.
- I implemented a Java program to identify duplicate numbers in an array and print their frequencies. My program accurately calculated the occurrences of each duplicate number, providing insights into the frequency distribution within the array.
- I discussed the significance of `sudo` privileges and how to become a `sudo` user in Linux, outlining the `sudo` command's usage and its role in executing commands with elevated privileges.
- I explored methods for connecting to a remote Linux server, including the SSH (Secure Shell) protocol, highlighting SSH's encryption capabilities and its role in secure remote access.
- I delved into the concept of public-key cryptography and its application in authenticating users to remote servers, explaining how public and private key pairs facilitate secure authentication without transmitting sensitive information over the network.
- I demonstrated how to edit environment variables in Linux using commands like `export` and by editing configuration files such as `.bashrc` or `.profile`.
- I provided insights into viewing existing environment variables in Linux through commands like `env` or `printenv`.
- I shared methods for updating environment variables in Linux, emphasizing the importance of persistence across sessions and system reboots.
- I confirmed my proficiency and comfort with using the terminal for various tasks, including file management, process control, and system administration.
- We discussed my prior experience and contributions in previous organizations, highlighting relevant projects and achievements.
Round 4: Hiring Manager Conversation
The final round was a casual 30-minute conversation with the Hiring Manager, where we focused on topics related to the prospective team, work culture, and other general aspects of the role.
I received the final selection call from HR the next day and am currently waiting for the official offer.
Interview Questions (32)
Discussed my daily activities, emphasizing key responsibilities and achievements in my current role.
Discussed the role of Maven in managing project dependencies and highlighted a primary benefit, simplifying the build process.
Clearly distinguish between method overloading and overriding, demonstrating a solid understanding of OOP principles.
Provide a detailed explanation of the structure of a test automation suite you have implemented.
Justify the use of POM.xml over alternative methods in managing project dependencies, highlighting its advantages.
Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0. Notice that the solution set must not contain duplicate triplets.
Enumerate the significance and use cases of various TestNG annotation methods like @AfterSuite, @BeforeSuite, @AfterClass, etc.
Articulate the importance of assertions in testing and how they ensure the expected behavior of the code.
Describe the Jenkins setup you have implemented and discuss possible improvements and additional functionalities.
Explain the implementation of parallel test case execution, demonstrating scalability and efficiency.
Share strategies to address challenges in finding XPath for certain test cases, displaying problem-solving skills.
Clarify the nature of the automation suite developed, categorizing it as BDD, KDD, and DOM-based.
What is the difference between overloading and overriding? Provide an example related to automation.
Debug the provided Java code snippets and determine their output. Snippet 1 involves System.exit(0) in a try-finally block. Snippet 2 demonstrates method overriding with different exception types in a superclass/subclass hierarchy. Snippet 3 involves a break statement in a try-finally block.
How are error codes typically utilized in APIs when a resource is not present?
List HTML tags commonly automated in web automation, and briefly explain how they are automated. Also, explain how iframes are handled.
How would you manipulate an array to group negative numbers to the left and positive numbers to the right?
What essential components should be included in a bug report?
Describe the process of using a package from one project in another project using Maven.
What considerations should be taken into account when automating APIs using Newman?
Define the concept of packages in programming, specifically in Java.
Strategies for managing permissions within Google Cloud Platform (GCP).
How to conceal a running process in Linux so that it doesn't occupy the terminal and persists even after closing the virtual machine (VM).
Implement a Java program to identify duplicate numbers in an array and print their frequencies.
Discuss the significance of sudo privileges and how to become a sudo user in Linux, outlining the sudo command's usage and its role in executing commands with elevated privileges.
Explore methods for connecting to a remote Linux server, including the SSH (Secure Shell) protocol, highlighting SSH's encryption capabilities and its role in secure remote access.
Delve into the concept of public-key cryptography and its application in authenticating users to remote servers, explaining how public and private key pairs facilitate secure authentication without transmitting sensitive information over the network.
Demonstrate how to edit environment variables in Linux using commands like export and editing configuration files such as .bashrc or .profile.
Provide insights into viewing existing environment variables in Linux through commands like env or printenv.
Share methods for updating environment variables in Linux, emphasizing the importance of persistence across sessions and system reboots.
Discuss proficiency and comfort with using the terminal for various tasks, including file management, process control, and system administration.
Discuss prior experience and contributions in previous organizations, highlighting relevant projects and achievements.
Summary
I recently interviewed for an IC2 position at ServiceNow in Hyderabad, which involved a written test, a technical round with a senior engineer, and a hiring manager discussion. I successfully received a verbal offer.
Full Experience
I participated in a hiring drive in Hyderabad for an IC2 role. The interview process consisted of three main rounds:
Round 1
This was a written test (pen/paper) used for shortlisting candidates. The main question was based on tree data structures, specifically involving Depth-First Search (DFS).
Round 2
This round was conducted by a senior engineer. I was asked a few questions:
- An easy array question (specifics not recalled).
- To write code demonstrating inheritance concepts, including polymorphism.
- A SQL query requiring a join (specifics not recalled).
- A system design question focused on designing an efficient system to identify the top 5 most liked videos on YouTube, both across a specific region and worldwide.
Round 3
This was the Hiring Manager (HM) round. We had a good discussion for about 30 minutes regarding my current work, and he also explained details about his team. Following this, I was given a schema design question for a system somewhat similar to Uber. Based on my schema design, he asked a SQL query which again required a join.
I was given a verbal confirmation of my selection on the same day itself.
Interview Questions (3)
I was asked to write code demonstrating the core concepts of object-oriented programming, specifically inheritance and polymorphism.
Design an efficient system to find the top 5 most liked videos on YouTube across a specific region and also worldwide. This involves considerations for data storage, real-time updates, querying, and scalability.
I was presented with a problem to design a database schema for a system that operates similarly to Uber, considering entities like users, drivers, vehicles, rides, payments, etc.
Summary
I successfully navigated four rounds of interviews for an IC2 position at ServiceNow, which included technical DSA, system design, and managerial discussions, ultimately leading to an offer.
Full Experience
I went through a comprehensive interview process at ServiceNow for an IC2 role, which consisted of four distinct rounds.
Round 1: Data Structures & Algorithms
My first technical round focused on data structures and algorithms. I was presented with two problems: searching for a target in a rotated sorted array and recovering a binary search tree where two nodes had been swapped.
Round 2: Data Structures & Algorithms
The second technical round continued with more DSA challenges. I had to tackle problems related to finding the maximum element in a sliding window and making a deep copy of a linked list with random pointers.
Round 3: System Design
The third round was a dedicated system design interview. I was asked to design a parking lot system, covering both its Low-Level Design (LLD) and High-Level Design (HLD) aspects.
Round 4: Managerial Round
The final round was a managerial discussion, primarily centered around my past projects and professional experiences.
I am pleased to share that following these rounds, I received an offer for the position.
Interview Questions (5)
Given a sorted array that has been rotated at some pivot unknown to you beforehand, search for a given target value. If the target is found in the array, return its index, otherwise return -1.
Two nodes of a Binary Search Tree (BST) are swapped by mistake. Recover the tree without changing its structure.
Given an array of integers nums and an integer k, return the maximum sliding window. You can assume k is always valid, 1 <= k <= nums.length.
A linked list is given such that each node contains an additional random pointer, which could point to any node in the list, or to null. Construct a deep copy of the list.
Design a parking lot system, including both Low-Level Design (LLD) and High-Level Design (HLD) aspects. Consider features such as multiple entry/exit points, different vehicle types (e.g., car, motorcycle, bus), capacity management, and payment processing.
Summary
I recently interviewed onsite at Servicenow, which concluded with a rejection. The first round focused on a classic linked list problem and another question involving the sliding window technique.
Full Experience
I had an onsite interview at Servicenow. In the first round, I was presented with two coding challenges. The first problem asked me to clone a linked list that also contained random pointers, and I needed to do this without using extra space. The second question was generally related to the sliding window technique. Unfortunately, my interview process concluded with a rejection after this round.
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.