ServiceNow Frontend Interview Experience — A Wasted Effort Due to Budget Issues 💸❌
Overview
A frontend engineer participated in a series of interviews with ServiceNow, a company recognized for its stringent technical hiring process. The candidate successfully navigated two technical rounds but was ultimately rejected due to budget limitations, despite having disclosed salary expectations to HR beforehand. This experience serves as a cautionary tale about the need for transparency in the hiring process and the importance of candidates confirming compensation details upfront.
Interview Rounds
Round 1: DSA + Machine Coding
This round consisted of two parts: a data structures and algorithms (DSA) problem and a machine coding challenge.
-
Problem Solving: The candidate was tasked with reversing a string and sorting words based on their length while preserving the original sequence. The provided JavaScript code snippet demonstrates the implemented solution.
function arrange(sentence) { let modifiedString = sentence.slice(0, -1)?.toLowerCase(); let wordsFrequency = {}; let words = modifiedString.split(' '); words.forEach(word => { let length = word.length; wordsFrequency[length] = wordsFrequency[length] ? [...wordsFrequency[length], word] : [word]; }); let resultArray = Object.keys(wordsFrequency) .sort((a, b) => a - b) .flatMap(key => wordsFrequency[key]); let resultString = resultArray.join(' '); return ( resultString.charAt(0).toUpperCase() + resultString.slice(1) + '.' ); } -
Machine Coding: The candidate was required to replicate a given UI and implement a "pole game" using Vanilla JavaScript. Success in this portion depended on a strong understanding of DOM manipulation, efficient use of event listeners, and code reusability.
Round 2: Advanced Machine Coding + Experience Discussion
This round involved a discussion of the candidate's previous experience followed by an advanced machine coding challenge.
-
Discussion on Previous Experience: The interviewers inquired about the candidate's biggest challenges in previous projects, their approach to performance optimization in large-scale applications, and their debugging and problem-solving strategies.
-
Machine Coding: The candidate was asked to build a To-Do application with features including adding new tasks, viewing all tasks, marking tasks as completed, and editing/deleting tasks. The provided HTML and JavaScript code demonstrates a basic implementation.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>To-Do App</title> <style> .taskItem { background-color: lightgray; padding: 10px; border: 1px solid black; } </style> </head> <body> <input type="text" id="user_input" placeholder="Enter your task" /> <button onclick="addTask()">Add Task</button> <div id="taskContainer"></div> <script> class TaskManager { constructor() { this.taskList = []; } addTask(newTask) { this.taskList.push(newTask); } getTasks() { return this.taskList; } markCompleted(taskId) { let index = (this.taskList) .findIndex(task => task.id === taskId); this.taskList[index].isCompleted = true; } } let taskManager = new TaskManager(); let inputElement = document.getElementById('user_input'); let taskContainer = document.getElementById('taskContainer'); function addTask() { let task = { title: inputElement.value, isCompleted: false, id: Date.now() }; taskManager.addTask(task); renderTasks(); } function renderTasks() { taskContainer.innerHTML = ""; taskManager.getTasks().forEach(task => { let taskElement = document.createElement('div'); taskElement.innerHTML = ( task.title + (task.isCompleted ? " ✅" : ""); ); taskContainer.appendChild(taskElement); }); } </script> </body> </html>
Key Takeaways
- Importance of Salary Discussion: Candidates should always discuss compensation expectations with HR before commencing the interview process to ensure alignment with the company's budget.
- Transparency is Crucial: Companies should be transparent about salary constraints to avoid wasting candidates' time and effort.
- Respect for Candidates' Time: Companies should recognize that candidates invest significant time and energy in preparing for and attending interviews.
- Potential Red Flag: A company's lack of respect for a candidate's time during the hiring process may indicate a similar lack of respect for employees.
Original Source
This experience was originally published on medium. Support the author by visiting the original post.
Read on medium