{"resource":{"author":{"id":"3eh0kijZwMrHum8TkMqX","name":"Devtools Tech","username":"devtoolstech"},"content":{"link":"","difficulty":4,"domain":2,"type":1,"isInternal":true,"body":"Note: This interview experience was contributed by a user of [devtools.tech](https://devtools.tech) platform. You can contribute your interview experiences [here](https://forms.gle/FsFk4YBaWjbLRThb6) and interview questions [here](https://forms.gle/Kve2m3bKHRCtKDKq5).\r\n\r\n## Overview\r\n\r\nThe interviews focused heavily on **JavaScript fundamentals, React development, machine coding, and performance optimization**. Evaluated through a combination of **conceptual discussions, output-based questions, practical coding exercises, and system design discussions**.\r\n\r\n### Interview Process\r\n\r\nThe process typically consisted of **3–4 rounds**:\r\n\r\n1. JavaScript Fundamentals Round\r\n2. Machine Coding / React Implementation Round\r\n3. Hiring Manager / Techno-Managerial Round\r\n4. System Design\r\n5. HR / Culture Fit Round\r\n\r\nThe difficulty and depth increased with seniority.\r\n\r\n## Round 1: JavaScript Fundamentals\r\n\r\nThis round primarily focused on **core JavaScript concepts, output-based questions, and small coding implementations**.\r\n\r\n### Topics Covered\r\n\r\n#### **Hoisting and Temporal Dead Zone**: Sharing some example questions:\r\n\r\n- [What is the output of the following code snippet? | JavaScript Output Based Question | JS Variables](https://devtools.tech/questions/s/what-is-the-output-of-the-following-code-snippet-or-javascript-output-based-question-or-js-variables---qid---fKtjCwgbBqNJSPj4c6gX)\r\n- [What would be the output? (Based on Temporal Dead Zone)](https://devtools.tech/questions/s/what-would-be-the-output-based-on-temporal-dead-zone---qid---aDXxcPUD7LZNdjBCJYo8)\r\n\r\n#### **Closures**\r\n\r\nDiscussion around closures and implemented examples demonstrating how inner functions retain access to outer variables.\r\n\r\nExplore **Closures** based questions: https://devtools.tech/questions/all?categories=closures\r\n\r\n#### **Currying**\r\n\r\n- [Implement Currying](https://devtools.tech/questions/s/implement-currying-or-javascript-interview-questions---qid---YxO8Lh7qrIIRaSejXjBO)\r\n\r\n#### **this Keyword and Context**\r\n\r\nQuestions tested understanding of:\r\n\r\n* implicit binding\r\n* explicit binding\r\n* arrow function lexical scope\r\n\r\nExample questions:\r\n\r\n- [What would be the output? (Different ways of Prototype calls)](https://devtools.tech/questions/s/what-would-be-the-output-different-ways-of-prototype-calls---qid---oRjYJXGzxi50NhQNWZ8g?categories=this-keyword)\r\n- [What would be the output? [JavaScript Inheritance]](https://devtools.tech/questions/s/what-would-be-the-output-javascript-inheritance---qid---NJ7WJ42FwnBy0au7r8Ph?categories=this-keyword)\r\n\r\nMore `this keyword` based questions: https://devtools.tech/questions/all?categories=this-keyword\r\n\r\n#### **Polyfills**\r\n\r\nDiscussion around polyfills and asked to implement some array methods. [Full polyfills based questions set can be found here](https://devtools.tech/questions/all?categories=polyfills).\r\n\r\nOther discussion topics can include IIFE and Execution context, Prototype Inhertiance, Method Chaining, and more.\r\n\r\n## Round 2: Machine Coding / React Implementation\r\n\r\nThis round evaluated **practical React development skills**, including state management, component architecture, and performance.\r\n\r\nCommon challenges included the following:\r\n\r\n- [File Explorer UI](https://devtools.tech/questions/s/how-to-build-a-file-explorer-atlassian-frontend-machine-coding-round-question-or-javascript-interview-question-or-react-js---qid---i2WQCZkIdpwGp2tG1LXJ)\r\n- [File Explorer UI 2](https://devtools.tech/questions/s/file-explorer-ii---qid---Xjox8jBBhp2RtuxcbxNK)\r\n- [Grid Lights Problem](https://devtools.tech/questions/s/how-to-create-an-grid-lights-interactive-shape-uber-frontend-interview-question-or-javascript-or-react-js---qid---6FVH1ZMWMXd4uZ8WAGEi)\r\n- [Breadcrumb Chain Problem](https://devtools.tech/questions/s/breadcrumb-chain-problem---qid---KO1sGon4cWLhj8BEuuKk?companies=cars24)\r\n\r\nThere were other questions around [Custom React Hooks](https://devtools.tech/questions/all?categories=react-hooks), [Progress Bars](https://devtools.tech/questions/all?searchTerm=progress), and more.\r\n\r\n## Round 3: Hiring Manager / Techno-Managerial Round\r\n\r\nThis round focused on **advanced JavaScript understanding, architecture discussions, and past experience**. We discussed topics like Event Loop, Blocking the main thread, JavaScript runtime, past projects, and more.\r\n\r\n## Round 4: Frontend System Design\r\n\r\nA common design discussion included:\r\n\r\n**Design an E-commerce Filter Component**\r\n\r\nTopics discussed:\r\n\r\n- filter state management\r\n- performance optimization\r\n- debouncing search queries\r\n- URL-based filters\r\n- reusable UI components\r\n- Rendering performance\r\n- minimizing re-renders\r\n- React memoization\r\n- lazy loading\r\n- code splitting\r\n- caching\r\n\r\n[Guide that helped me in frontend system design preparation](https://devtools.tech/frontend-system-design)\r\n\r\n## Round 5: HR / Culture Fit\r\n\r\nThe final round focused on cultural alignment and career goals.\r\n\r\nTypical questions included:\r\n\r\n* Why do you want to join CARS24?\r\n* Why are you looking to switch roles?\r\n* Describe a complex project you worked on.\r\n* How do you collaborate with cross-functional teams?\r\n* What are your salary expectations?\r\n* Notice period and joining availability.\r\n\r\n## Key Takeaways\r\n\r\n- Strong JavaScript fundamentals are critical\r\n- Machine coding rounds are heavily React-focused. Practice a lot of different type of questions. Recommended resource: https://devtools.tech/questions/all\r\n- Performance knowledge matters for senior roles\r\n- Communication matters\r\n- Focus on building system design thinking, not just learning jargons. Recommended guide: https://devtools.tech/frontend-system-design\r\n","languages":[],"editorConfig":"undefined"},"stats":{"views":4129,"used":0,"likes":0},"description":"","published":true,"isActive":true,"tags":["javascript","ui","ux","devtools tech","interview experiences","frontend coding"],"slug":"cars24-frontend-interview-experience---rid---5CxS7tyPLqunm9n3xIfH","isPremium":false,"categories":[],"requires":[],"_id":"69b3e73392f33c7d8ab0e2bd","title":"Cars24 Frontend Interview Experience","resourceId":"5CxS7tyPLqunm9n3xIfH","createdAt":1773397811690,"modifiedAt":1773397811690},"currentUser":null,"isOwner":false,"recommendations":{"questions":[{"_id":"645e244cd12c1e2402019e67","content":{"languages":["javascript","typescript"],"difficulty":1},"tags":["frontend","code","programming","lodash","polyfill","lodash once","javascript interview question","ui","ux","devtools tech","codedamn","egghead","frontend masters","problem solving","frontend interview questions","underscore","geeksforgeeks","rate limit","lodash before","limit js function invocation"],"slug":"implement-a-function-that-accepts-a-callback-and-restricts-its-invocation-to-at-most-n-times-or-lodash-polyfills-or-frontend-problem-solving---qid---ge3cwzQQrMlXt6VwDpNg","title":"Implement a function that accepts a callback and restricts its invocation to at most N times | Lodash Polyfills | Frontend Problem Solving","questionId":"ge3cwzQQrMlXt6VwDpNg"},{"_id":"6a01a41f8957c8c5cb9e3041","content":{"languages":["javascript","typescript"],"difficulty":1},"tags":["javascript","ui","ux","devtools tech","coding","frontend","interview challenge"],"slug":"chainable-currency-calculator---qid---7YLQzlFTbLwp3MfpQNkH","title":"Chainable Currency Calculator","questionId":"7YLQzlFTbLwp3MfpQNkH"},{"_id":"661569c84e1bed1edc0cab08","content":{"languages":["javascript","typescript"],"difficulty":4},"tags":["klarna","interview question","ui","ux","devtools tech","frontend interview question","problem solving","credit card","razorpay","fintech","tutorial"],"slug":"implement-a-credit-card-masker-or-klarna-frontend-interview-question-or-javascript---qid---AdZLcjN3FNivgYCuq5pa","title":"Implement a Credit Card Masker | Klarna Frontend Interview Question | JavaScript","questionId":"AdZLcjN3FNivgYCuq5pa"},{"_id":"61f8ef79e12bce537863b4cf","content":{"languages":["javascript","typescript"],"difficulty":4},"tags":["javascript","walmart","frontend interview question","devtools","ui","advanced javascript"],"slug":"implement-throttling-in-javascript-or-walmart-frontend-interview-question---qid---mLrwAyug9CgrVGbs6OYF","title":"Implement Throttling in JavaScript | Walmart Frontend Interview Question","questionId":"mLrwAyug9CgrVGbs6OYF"},{"_id":"6304a59777f9961d5b7cb002","content":{"languages":["javascript","typescript"],"difficulty":2},"tags":["javascript","lodash","pick","frontend","problem solving","interview questions","egghead","frontend masters","advanced js","library","ui","underscore"],"slug":"implement-lodash-pick-from-scratch-or-problem-solving-or-frontend-interview-question---qid---5Q0SKd6PFVE7Kfkw0F1A","title":"Implement lodash.pick from scratch | Problem Solving | Frontend Interview Question","questionId":"5Q0SKd6PFVE7Kfkw0F1A"}],"resources":[{"_id":"636cd77320622762d08cfe22","content":{"difficulty":1,"domain":2,"type":1,"isInternal":true},"tags":["javascript","frontend","code","array","interview questions","array polyfills","advanced javascript","js interview questions","hackerrank","codedamn","coding","interview preparation"],"slug":"top-10-javascript-interview-questions-based-on-array-polyfills---rid---oNzRUjONl4YB5ixIEGrl","title":"Top 10 JavaScript Interview Questions based on Array Polyfills","resourceId":"oNzRUjONl4YB5ixIEGrl"},{"_id":"5fc7215a6d3cda64e470c415","content":{"difficulty":4,"domain":1,"type":5},"tags":["linkedin","jobs","skills","career","indemand","devtools"],"slug":"move-close-to-your-dream-job-find-out-top-skills-in-the-market---rid---layhD7GHUKsulhIM25yM","title":"Move close to your dream job. Find out top skills in the market.","resourceId":"layhD7GHUKsulhIM25yM"},{"_id":"5f2856d6cbec5f7ffc0c2fc4","content":{"difficulty":1,"domain":2,"type":1},"tags":["closure","javascript","es6","nodejs","functions","frontend","js fundamentals"],"slug":"closure-and-this-how-are-variables-resolved-within-a-function---rid---UhIPcUg39ApeirvSiv4a","title":"Closure and this - How are variables resolved within a function?","resourceId":"UhIPcUg39ApeirvSiv4a"},{"_id":"5f202cd7cbec5f7ffc0c2fbb","content":{"difficulty":1,"domain":2,"type":1},"tags":["Cookies"," LocalStorage"," SessionStorage"," JavaScript"," Web Development"],"slug":"cookies-vs-localstorage-vs-sessionstorage---rid---1Hhlnl4V1QExC6zXn0wT","title":"Cookies Vs LocalStorage Vs SessionStorage","resourceId":"1Hhlnl4V1QExC6zXn0wT"},{"_id":"69537c54304108b3b5c96b2a","content":{"difficulty":4,"domain":1,"type":1,"isInternal":true,"languages":[]},"tags":["javascript","ui","ux","devtools tech","routing","frontend","coding","programming","tutorial","system design"],"slug":"urls-and-routing-practical-example---rid---o6V68nNKXJEThLaP9wmQ","title":"URLs and Routing - Practical Example","resourceId":"o6V68nNKXJEThLaP9wmQ"}]}}