ServiceNow Staff Software Engineer Interview experience
Summary
I experienced a multi-round interview process for a Staff Software Engineer position at ServiceNow, which included coding, low-level design, and high-level design challenges across four distinct rounds.
Full Experience
Round 1
Round 2
(LLD) Design a Loan Management System where customers can take loan and see the monthly EMI for the entire loan period (including days beyond current date). The customers can pay advance amounts as well which will change the EMI for the upcoming period that should be reflected in the upcoming monthly sheets.
Follow Up:
- All DB tables to store loans and calculate EMIs
- What if the interest rate changed midway through loan ? What changes will be made in the tables and LLD to accomodate that ?
- What other improvements can be done on the entire system?
Round 3
(Bonus Problem Solving round since second round had mixed feedback)
Round 4
(HLD) Design an Incident Management system which can be shipped to external Clients (ex: Amazon type e-commerece site)
Requirements:
- CRUD on incidents
- All DB tables, indexes, query patterns
- How will the incident be routed to the right team ? The team information is not available while creating the incident. The expectation is to define a PROCESS/SYSTEM through which the right team can be found and the incident can be assigned to them.
Interview Questions (5)
Text Justification
Design Loan Management System (LLD)
Design a Loan Management System where customers can take loan and see the monthly EMI for the entire loan period (including days beyond current date). The customers can pay advance amounts as well which will change the EMI for the upcoming period that should be reflected in the upcoming monthly sheets.
Follow Up:
- All DB tables to store loans and calculate EMIs
- What if the interest rate changed midway through loan ? What changes will be made in the tables and LLD to accomodate that ?
- What other improvements can be done on the entire system?
Jump Game II
The problem can be found at the provided LeetCode link.
Minimum Window Subsequence
Design Incident Management System (HLD)
Design an Incident Management system which can be shipped to external Clients (ex: Amazon type e-commerece site)
Requirements:
- CRUD on incidents
- All DB tables, indexes, query patterns
- How will the incident be routed to the right team ? The team information is not available while creating the incident. The expectation is to define a PROCESS/SYSTEM through which the right team can be found and the incident can be assigned to them.