ServiceNow SSE (IC3) interview experience
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.