ServiceNow Software Engineer Interview Experience
Software Engineer
Summary
AI Powered
The ServiceNow Frontend Software Engineer (IC2) interview process was quite extensive, involving multiple rounds and a mix of technical problem-solving. The first round focused heavily on JavaScript concepts and included questions on output interpretation, event loop mechanics, and basic algorithmic challenges. Subsequent rounds introduced system design discussions, demonstrating a need for both technical proficiency and design thinking. Overall, the interview experience at ServiceNow is rigorous, emphasizing strong coding skills, design principles, and a solid understanding of web technologies.
1
#1JavaScript Output Questions
Medium
javascript
output-based
What will be the output of the following JavaScript questions? Discuss aspects like hoisting, Temporal Dead Zone, and Arrow functions.
#1
JavaScript Output Questions
What will be the output of the following JavaScript questions? Discuss aspects like hoisting, Temporal Dead Zone, and Arrow functions.
javascript
output-based
Medium
#2Browser Load Sequence
Medium
web-development
browser
Explain the rendering sequence of an HTML page from start to finish. How is the script tag executed when running?
#2
Browser Load Sequence
Explain the rendering sequence of an HTML page from start to finish. How is the script tag executed when running?
web-development
browser
Medium
#3Async vs Defer Attributes
Easy
javascript
web-development
What is the difference between the async and defer attributes in script tags?
#3
Async vs Defer Attributes
What is the difference between the async and defer attributes in script tags?
javascript
web-development
Easy
#4Event Loop Explanation
Medium
javascript
asynchronous-programming
What is the event loop in JavaScript? How does it relate to the execution of asynchronous code?
#4
Event Loop Explanation
What is the event loop in JavaScript? How does it relate to the execution of asynchronous code?
javascript
asynchronous-programming
Medium
#5Microtask vs Macrotask
Medium
javascript
asynchronous-programming
Differentiate between microtasks and macrotasks in JavaScript. Provide examples of each.
#5
Microtask vs Macrotask
Differentiate between microtasks and macrotasks in JavaScript. Provide examples of each.
javascript
asynchronous-programming
Medium
#6Promise Output Sequencing
Medium
javascript
promises
What would be the output of a sequence of operations involving promises? Discuss how microtasks fit into this scenario.
#6
Promise Output Sequencing
What would be the output of a sequence of operations involving promises? Discuss how microtasks fit into this scenario.
javascript
promises
Medium
#7Debounce and Currying Polyfills
Medium
javascript
Implement polyfills for both debounce and currying functions in JavaScript.
#7
Debounce and Currying Polyfills
Implement polyfills for both debounce and currying functions in JavaScript.
javascript
Medium
#8Two-Way Data Binding in Angular
Medium
angular
What is two-way data binding in Angular? How is it implemented?
#8
Two-Way Data Binding in Angular
What is two-way data binding in Angular? How is it implemented?
angular
Medium
#9Manipulating JSON Objects
Medium
javascript
json
Given a problem statement regarding the manipulation of a JSON object, discuss how to achieve the desired output.
#9
Manipulating JSON Objects
Given a problem statement regarding the manipulation of a JSON object, discuss how to achieve the desired output.
javascript
json
Medium
2
#1Asynchronous Loop Output
Medium
javascript
output-based
What will be the output of the following code? Analyze the implications of the setTimeout function on the variable 'i'.
javascript
function foo() { for (var i = 0; i < 10; i++) setTimeout(() => console.log(i), 1000); } foo();
#1
Asynchronous Loop Output
What will be the output of the following code? Analyze the implications of the setTimeout function on the variable 'i'.
javascript
output-based
Medium
javascript
function foo() { for (var i = 0; i < 10; i++) setTimeout(() => console.log(i), 1000); } foo();
#2Debounce Function Implementation
Medium
javascript
coding
Implement a function to debounce another function by creating a polyfill.
#2
Debounce Function Implementation
Implement a function to debounce another function by creating a polyfill.
javascript
coding
Medium
#3Currying Function Implementation
Medium
javascript
coding
Implement a currying function which allows you to transform a function into a series of functions each taking a single argument.
#3
Currying Function Implementation
Implement a currying function which allows you to transform a function into a series of functions each taking a single argument.
javascript
coding
Medium
#4Maximum Size Square Sub-Matrix
Hard
dynamic-programming
matrix
Given a binary matrix, find the maximum size square sub-matrix that contains all 1s. For example, given the binary matrix:
0 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
what would be the output?
#4
Maximum Size Square Sub-Matrix
Given a binary matrix, find the maximum size square sub-matrix that contains all 1s. For example, given the binary matrix:
0 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
what would be the output?
dynamic-programming
matrix
Hard
#5Distinct Ways to Climb Stairs
Medium
dynamic-programming
stairs
You are climbing a staircase. It takes n steps to reach the top, and you can take either 1 or 2 steps at a time. In how many distinct ways can you climb to the top?
#5
Distinct Ways to Climb Stairs
You are climbing a staircase. It takes n steps to reach the top, and you can take either 1 or 2 steps at a time. In how many distinct ways can you climb to the top?
dynamic-programming
stairs
Medium
3
#1HLD and LLD for Autocomplete Component
Medium
system-design
components
Provide a High-Level Design (HLD) and Low-Level Design (LLD) for an Autocomplete component. Ensure the solution is scalable and modular, considering key system design features. Respond to functional, non-functional requirements, and data flow.
#1
HLD and LLD for Autocomplete Component
Provide a High-Level Design (HLD) and Low-Level Design (LLD) for an Autocomplete component. Ensure the solution is scalable and modular, considering key system design features. Respond to functional, non-functional requirements, and data flow.
system-design
components
Medium
frontendinterviewsoftwareengineersoftwaredeveloperinterviewexperienceservicenowjavascriptinterviewtipsjobinterviewcareergrowthservicenow
r
ritwik chakraborty
Verified User