Arctic Wolf
1 experiences · 1p3a (1)
Arctic Wolf Senior UI Developer Interview Experience (2025)
Interview Experience
Role: Senior Developer (UI) Date: September 2025 Type: Referral ### Round 1: JavaScript Fundamentals (60 Minutes) Theoretical Concepts: * Closures: Explanation and code examples. * Promises: Definition and internal working. Implementation Tasks: * Implement debounce and throttle functions in vanilla JavaScript. * Write a polyfill for Promise.all(). * Write a polyfill for Array.prototype.reduce. Output & Logic Questions: 1. Promise Chaining: Analyze the output flow involving resolve, then, catch, and finally. javascript Promise.resolve(1) .then((val) => { console.log(val); return val + 1; }) .then((val) => { console.log(val); }) .then((val) => { console.log(val); return Promise.resolve(3).then((val) => { console.log(val); }); }) .then((val) => { console.log(val); return Promise.reject(4); }) .catch((val) => { console.log(val); }) .finally((val) => { console.log(val); return 10; }) .then((val) => { console.log(val); }); 2. this Binding: Determine output based on arrow functions vs. regular functions. javascript const obj = { dev: "bfe", a: function() { return this.dev; }, b() { return this.dev; }, c: () => { return this.dev; }, d: function() { return (() => { return this.dev; })(); }, e: function() { return this.b(); }, f: function() { return this.b; }, g: function() { return this.c(); }, h: function() { return this.c; }, i: function() { return () => { return this.dev; }; }, }; // Console logs for calls a() through i() 3. Event Loop: Predict order of execution for Synchronous code, Promises (Microtasks), and setTimeout (Macrotasks). 4. Loop Scoping: Analyze var vs let behavior inside loops with setTimeout. 5. Hoisting: Analyze variable scope and hoisting behavior. javascript var a = 1; function func() { a = 2; console.log(a); var a; } func(); console.log(a); if (!("b" in window)) { var b = 1; } console.log(b); --- ### Round 2: Machine Coding (60 Minutes) Primary Task: Develop a To-Do List Application with the following specifications: * Implement three filter tabs: "Completed," "In Progress," and "Deleted." * Render tasks dynamically based on the active filter. * Implement keyboard accessibility (add new tasks using the Enter key). Follow-up Question: Predict the output of a Promise chain where non-function arguments are passed to .then. javascript Promise.resolve(1) .then(() => 2) .then(3) // Non-function argument .then((value) => value * 3) .then(Promise.resolve(4)) // Non-function argument .then(console.log); --- ### Round 3: System Design (60 Minutes) Focus: Optimization & Architecture * Virtualization: Write vanilla JavaScript pseudo-code to implement list virtualization using the Intersection Observer API. * Performance: Discuss Lazy Loading and the usage of the React Profiler. * Architecture: Theoretical discussion on Micro-frontend architecture. * Experience: Deep dive into specific technical challenges from past projects. --- ### Round 4: Hiring Manager (60 Minutes) Focus: High-Level Design & Behavioral * System Design: * Message Queues (usage and concepts). * Role-Based Authentication (RBAC): Designing the flow and implementation for restricting page access based on user roles. * Behavioral: Situational questions regarding culture fit and career history. --- ### Round 5: Final Technical Round (60 Minutes) Context: This round was added unexpectedly after positive feedback and a verbal indication of an offer. Discussion: * Experience migrating a legacy codebase from Gatsby to React. * Collaboration workflows with Product Managers and Junior Developers. Coding Challenge: * Problem: Solve a React scenario involving complex asynchronous behavior. * Execution: The candidate provided a working solution but it was deemed over-engineered. * Failure Point: The interviewer requested a simplified version of the code, which the candidate was unable to derive during the session. ### Result Outcome: Rejected. Feedback: "Do Not Proceed" based specifically on the complexity of the solution in the final round, despite clearing the previous four rounds.