ServiceNow Interview Experience for Associate Software Engineer | On- Campus 2021
ServiceNow visited our campus in August for the role of Associate Software Engineer. Computer Science, Electrical and Electronics Engineering, Electrical and Communication Engineering, and Electrical and Instrumentation Engineering were eligible to apply for their profile. The CGPA cut-off was 7.
Round 1: The first round was an online Hackerrank test which had a duration of 60 minutes. It consisted of 1 Coding question and 15 MCQs that consisted of questions from topics like OS, DBMS, Algorithms, etc.
- The coding question was exactly as this: https://www.lintcode.com/problem/1915/
Overall the test was of moderate difficulty level, the coding question expected us to write the most optimal solution otherwise a couple of test cases were not passing. The MCQs were easy and one could easily solve them if you are aware of the basics of CS fundamentals like OS, DBMS, etc.
20 students were shortlisted for the next round.
Round 2 (Technical Interview 1) – This round was supposed to last for an hour but lasted for 1 hr 40 minutes for me. The interviewer was friendly and started off by asking a few basic questions :
- Do you know anything about Cache?
- How would you implement LRU Cache? (No code required just explain the data structures you would use and why)
I used hash tables as well in my approach to implement LRU cache so there were a few follow-up questions :
- Can Hash tables have collisions?
- How can you minimize collisions?
- If at all a collision happens, how would you solve the problem?
After this I was asked basic questions:
After this, he moved on to DSA questions and I was asked two questions:
I was able to solve both these questions with the most efficient solution without taking hints. The questions were left open-ended on purpose and I was expected to ask about edge cases and other constraints. Only the function had to be written on CodePad and I was supposed to dry run my code. I was also asked about the time and space complexity of the same.
After this he asked a few questions before ending the interview :
- What is the heaps data structure? What is time complexity?
- Do you know DBMS? What is the difference between SQL and NoSQL? What do you think YouTube uses, SQL or NoSQL? (Answer- Combination of both)
He asked if I had any follow-up questions and I did ask a few questions related to the company.
Round 3 (Technical Interview 2): This round stuck to the time limit and lasted for about an hour and 10 minutes. A general introduction was followed directly by DSA questions. I was asked to open a code editor of my choice and the following questions were asked:
- Implement Queue using 2 Stacks.
- How would you implement a Queue which supports both push and pop from the front and the back? (Deque) (The interviewer expected a single linked list approach)
I initially gave a solution that would take O(1) for push and pop from the back and O(N) for push and pop from the front. He then asked if I could optimize it further and make it O(1) for all operations. I was stuck and he gave a hint for maintaining two separate linked lists for different operations. I was able to successfully build on the hint provided and took care of all the edge cases that one would encounter. He was satisfied with my approach.
The next DSA question was a simple question to reverse a Linked List (One pass iterative). After this, I was asked basic questions related to Garbage collection in C++, heap memory, Heap data structure. I was also asked to explain how a Heap data structure is implemented and was asked to write a code to build a heap from a given array (mainly the focus was on the Heapify function). After this, he asked if I had any questions and I proceeded to ask a few questions about the company. The round ended after this.
Round 4 (Hiring Manager Round): This was another Technical + HR round which lasted for an hour. The hiring manager was an experienced person, and he tested my language fundamentals by asking C++ questions like garbage collection, OOP concepts, and the difference between java and C++, and why Java is platform-independent whereas C++ is not.
Post this I was asked to design Netflix. The main focus was on the database schema implementation. I could not solve a lot of it but he gave me hints and helped me reach a solution. The main focus I believe was to check how would I approach the problem and he was happy with the same.
I was also asked what data structures I might use for various services offered on the platform.
Post this discussion,
- I was asked an easy probability puzzle: https://www.geeksforgeeks.org/puzzle-21-3-ants-and-triangle/
I was able to solve it in under a minute and he was happy. After this basic HR questions followed such as What are your strengths, weaknesses, explain a crisis that you have faced in your life and how did you overcome it. What will you do if you do not get selected for ServiceNow today? The interview ended after I asked him a few questions about the company.
A total of 5 students were selected and the interview process was challenging. However, the interviewers were friendly and helped me whenever I was stuck.
Additional Advice: Be clear when you are giving an answer and try to not speak more than required. A lot of times one might use a technical term which the interviewer might pick and grill you on. Also, do not panic if you cannot solve a question, ask for hints and try to follow that to build the solution. All the Best!
Hey geek! It’s time to become a success story instead of reading them. Check out our most renowned DSA Self Paced Course, now at a student-friendly price and become industry ready. And if you are looking for a more complete interview preparation resource, check out Complete Interview Preparation Course that will prepare you for the SDE role of your dreams!
Feeling prepared enough for your interview? Test your skills with our Test Series that will help you prepare for top companies like Amazon, Microsoft, TCS, Wipro, Google and many more!