Tekion Frontend Interview Experience — Offer Declined 🚀
Overview
This document details a frontend engineer's interview experience with Tekion for the Software Engineer II position. The evaluation process encompassed a range of technical domains, including data structures and algorithms (DSA), low-level design (LLD), high-level design (HLD), and a hiring manager (HM) discussion.
Interview Rounds
The interview process was structured into four distinct rounds:
Round 1: Data Structures and Algorithms (DSA)
This round assessed the candidate's problem-solving abilities using JavaScript. The questions included:
-
Polyfill for Bind Method: The candidate was required to implement a custom polyfill for the
bind()method.const obj = { name: 'Gourav', methodOne: function() { console.log('method1 Running') } } obj.methodOne() function test(age) { console.log(this.name, age) } Function.prototype.myBind = function (thisContext, ...argsArray) { let parentFunction = this; return function bindedFun(...funArgs) { return parentFunction.apply( thisContext, [...argsArray, ...funArgs] ); } } let bindedFunc = test.myBind(obj); bindedFunc(29); -
Currying Function Implementation: The candidate was asked to implement a currying function that could be invoked partially.
function curry(func) { return function myCurried(...args) { if (args.length >= func.length) { return func(...args); } else { return (...args2) => myCurried(...args, ...args2); } }; } function test(a, b, c) { return a + b + c; } const curriedFunction = curry(test); console.log(curriedFunction(1, 2, 3)); // 6 console.log(curriedFunction(1, 2)(3)); // 6 console.log(curriedFunction(1)(2)(3)); // 6 -
Machine Coding: Stopwatch: The task was to implement a Stopwatch component with functionalities for Pause, Play, Stop, and Reset.
Round 2: Low-Level Design (LLD)
-
Machine Coding: Word Guess Game: The candidate was tasked with implementing a Word Guess game similar to Wordle.
- Follow-up Questions:
- How would you handle errors and success cases?
- How do we optimize performance and make it scalable?
- How would you design the keyboard functionality?
- Follow-up Questions:
-
Polyfill for componentDidUpdate() in Functional Components: The task involved implementing a polyfill for
componentDidUpdate()for functional components, mimicking the behavior of the lifecycle method in class components.
Round 3: High-Level Design (HLD)
-
Website Performance Optimization: The candidate was asked how they would optimize the performance of tekion.com. The discussion included:
- Lazy loading & Code splitting
- Server-side rendering (SSR) and caching
- Reducing CLS, LCP, and TBT issues
- Optimizing API calls
-
Machine Coding: Dynamic Grid Component: The task was to build a Dynamic Grid Component that takes row and column inputs and renders them efficiently.
Round 4: Hiring Manager (HM) Discussion
This round covered:
- Current project architecture and responsibilities.
- System Design: Flipkart Search Bar (Pagination, API response handling, etc.).
Key Takeaways
The interview process at Tekion assesses a wide range of frontend engineering skills, from fundamental DSA knowledge to practical system design considerations. The emphasis on polyfills suggests a focus on understanding core JavaScript concepts and component lifecycles. The machine coding rounds highlight the importance of building functional and optimized components. While the candidate ultimately declined the offer, the process provides valuable insights into Tekion's technical expectations for frontend engineers.
Original Source
This experience was originally published on medium. Support the author by visiting the original post.
Read on medium