ServiceNow | Software Engineer (IC2) | Hyderabad (Hybrid) | Nov 2024 [Offer]
Round 1
Questions:
- Intro, Project intro
- Basic JS questions on output consisting of hoisting, Temporal Dead Zone, Arrow functions
- How does browser load from start: Explain the HTML page rendering sequence. How is the script tag executed while running?
- Difference between async and defer.
- What is event loop?
- Micro task vs macro task?
- Output questions based on promises micro task macro task to print in sequence.
- Polyfills of debounce, polyfills of currying.
- What is 2 way binding in Angular?
- Gave a problem statement on manipulating and showing desired output with a JSON object.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2
Questions:
- Output for the following & Explain why.
function foo() { for (var i = 0; i < 10; i++) setTimeout(() => console.log(i), 1000); } foo();
- Implement a debounce method (polyfills).
- Implement the curry function present here to make the code work. Basically, implement polyfills of currying. Cross questioned and told to do further modification.
- Output of the following code (Based on Hoisting & callbacks).
- DSA - to be done with JS only: Given a binary matrix, find out the maximum size square sub-matrix with all 1s.
Input:
Output: 30 1 1 0 1 1 1 0 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0
- DSA - You are climbing a staircase. It takes n steps to reach the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? (Staircase Problem).
- System design (40 mins): Give HLD & LLD for Autocomplete component. Solution should be scalable and modular. Extra point for considering minute system design features. LLD was not asked to code completely, just write a skeleton. Answer for HLD expected in 3 parts: functional requirements, non-functional requirements, and data flow.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 3
Questions:
- Intro, Project that is close to your heart.
- How did you do performance optimizations in your project? Explain all methods in brief. Cross questioning.
- How did you implement lazy loading?
- Collections in JS: When are Hashmaps and HashSets useful?
- Arrays vs hashmaps.
- Advantages of hashmaps over arrays.
- How does hashmap work internally?
- What is the significance of "this" keyword in JavaScript?
- JavaScript Garbage collection: Explain in detail, expects algorithms used to be mentioned and explained in brief.
- How do you keep yourself updated in JavaScript, Angular, and React and overall technologically?
- What do you know about ServiceNow?
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 4
Questions:
- Intro, Project Discussion, Hobbies, Why looking for a job change? Why ServiceNow?
- How did you implement web components in your project?
- Explain web components' lifecycle hooks. Write code to explain.
- How do you render HTML string in React?
- How do we use React component in web component? Explain with already written code.
- Explain useState in React in short.
- Can you implement React useState custom hook? i.e., give custom implementation of useState. Told to write code.
- How can you use this custom implementation multiple times? Let's say you have to call this more than 5 times, will it work? If not, how will you modify it? What will be the approach?
- Do you know what ServiceNow does?
- Comfortable with 2 days Work from office?
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 5
Questions: HR discussions on benefits and salary. Had 1 round of negotiation (had competing offers). Offered next day.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.