{"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## Round 1: HR Screening\r\n\r\nIt went for about 30 minutes. It was a brief discussion about my background, ensuring alignment on the role, and setting expectations. Mainly we talked about\r\n\r\n- Current role and responsibilities\r\n- Experience with past tech stacks\r\n- Current and expected compensation\r\n- Why switching and why do I want to join Zomato?\r\n\r\n💡Tip: Be clear about what you want. It is okay to switch for more open but trick is to better it in a way that it sounds win-win for both the candidate and the company.\r\n\r\n## Round 2: Technical Screening\r\n\r\nThis was a mix round of questions around frontend concepts and coding. Topics covered:\r\n\r\n- State management in large scale applications: Discussion around Redux, Redux Toolkit, Zustand, and Context API. What makes sense in which scenario.\r\n- What is Virtual DOM? What are the advantages of it?\r\n- [Implementation of Debounce method](https://devtools.tech/questions/s/implement-debounce-function-or-flipkart-ui-javascript-interview-questions---qid---CVSyd8uTdvVt1l2YcAcq?via=devtoolstech)\r\n- React Optimization techniques (memo, useMemo, useCallback, and others)\r\n- Different architectures (Monolith, Micro-frontends, module federation, shared dependencies, auth, and more)\r\n\r\n💡Tip: Have strong frontend & JavaScript fundamentals. Practice a wide variety of machine coding questions as in my experience, there could be multiple problem solving or UI based questions. Recommended Resource: [https://devtools.tech/questions/all](https://devtools.tech/questions/all?via=devtoolstech)\r\n\r\n## Round 3: Assignment\r\n\r\nIt was a 2 day assignment to build a simplified version of Zomato like restaurant listing page. It was aimed at testing topics like\r\n\r\n- Inifinite Scrolling (using either Intersection Observer or some third party package).\r\n- Responsive UI\r\n- Filtering\r\n- Loading & Error States\r\n- Testing (Unit and E2E)\r\n- Deployment\r\n\r\n## Round 4: Frontend System Design\r\n\r\nIt was like 1.5 hours and I got a question to build something an Order tracking system. The discussion was quite intense and involved topics like\r\n\r\n- Frontend architecture\r\n- Data handling\r\n- API discussion\r\n- Different of types users in the system and what type of access they will have.\r\n- UI framework (React/Angular/Vue)\r\n- Communication Strategies (Web Sockets/Polling/Rest)\r\n\r\nRecommend frontend system design guide: https://devtools.tech/frontend-system-design\r\n\r\n## Round 5: Cultural & Leadership Round\r\n\r\nIt was taken by an Engineering Manager. It was focused on ownership, teamwork, and understanding the mindset. The discussion primarily revolved around -\r\n\r\n- Past projects: Challenges, achievements, and balance between tech & speed.\r\n- Did I face any conflict in the past? How did I resolve it?\r\n- What is my decision matrix? Do I consider trade-offs and how?\r\n- If I want to stay IC or move to people track? What is my vision or future mindset?\r\n\r\nThat's all! I hope it helps the community.\r\n\r\n---\r\n\r\nIf you are preparing for interviews, then [devtools.tech](https://devtools.tech?via=devtoolstech) should be your goto resource for quality interview preparation. Make the most of --\r\n\r\n- 250+ premium questions with test cases and powerful in-browser IDE\r\n- Real tagged questions from 60+ companies\r\n- Frontend System Design Guide\r\n- Real time AI feedback and review\r\n- Time savers like Focus Areas specific questions\r\n- Access to future updates\r\n- Premium Resume Guide\r\n- Premium Question Collections\r\n- Access to AI Interview Assistant\r\n\r\n[Don't miss out. Subscribe now.](https://devtools.tech/pricing?via=devtoolstech)\r\n","languages":[],"editorConfig":"undefined"},"stats":{"views":5359,"used":0,"likes":0},"description":"","published":true,"isActive":true,"tags":["javascript","ui","ux","coding","frontend","devtools tech","frontend interview experience"],"slug":"zomato-frontend-interview-experience-or-sde-2---rid---7hUoqLgUfYf13XaOXRlq","isPremium":false,"categories":[],"requires":[],"_id":"698b2bde895fc3bf01415e40","title":"Zomato Frontend Interview Experience | SDE 2","resourceId":"7hUoqLgUfYf13XaOXRlq","createdAt":1770728414793,"modifiedAt":1770728685831},"currentUser":null,"isOwner":false,"recommendations":{"questions":[{"_id":"627631891195627fe9f205e1","content":{"languages":["html","react"],"difficulty":1},"tags":["html","styling","css","codepen","frontend coding challenge","beginner","frontend fundamentals.ui","ux","codedamn","frontend masters","egghead","image carousel","coding","programming","image gallery"],"slug":"how-to-create-an-overlapping-image-gallery-or-frontend-coding-challenge-or-html-or-css-or-beginner---qid---iVn7EeHHdzFiy3qfikP6","title":"How to create an overlapping image gallery? | Frontend Coding Challenge | HTML | CSS | Beginner","questionId":"iVn7EeHHdzFiy3qfikP6"},{"_id":"5fc2ad156d3cda64e470c414","content":{"languages":["javascript","typescript"],"difficulty":2},"tags":["javascript","frontend fundamentals","js","code","programming"],"slug":"how-to-implement-the-increment-function---qid---smTgW9CCcPfErTTAbfcH","title":"How to implement the Increment function?","questionId":"smTgW9CCcPfErTTAbfcH"},{"_id":"65e056c84e1bed1edc051089","content":{"languages":["javascript","typescript"],"difficulty":1},"tags":["javascript","frontend","code","ui","ux","problem solving","js","dsa","programming"],"slug":"how-to-find-the-most-frequent-word-in-a-paragraph-frontend-problem-solving-or-javascript---qid---vigN3iSuX6Vj6JSpzXvC","title":"How to find the most frequent word in a paragraph? Frontend Problem Solving | JavaScript ","questionId":"vigN3iSuX6Vj6JSpzXvC"},{"_id":"5e8cdb11b2cdcd5697fea7ba","content":{"languages":["javascript"],"difficulty":1},"tags":["node.js","javascript","frontend","code","programming","interview"],"title":"What is the output of the following code snippet? | JavaScript Bind Output Based Questions","questionId":"XXstfZHaLaR54lSmoyjy","slug":"what-is-the-output-of-the-following-code-snippet-or-javascript-bind-output-based-questions---qid---XXstfZHaLaR54lSmoyjy"},{"_id":"6058cbbbdd90b43b9e8dee08","content":{"difficulty":4,"languages":"javascript"},"tags":["javascript","hoisting","interview","js fundamentals","frontend fundamentals","scoping"],"slug":"what-would-be-the-output-of-the-following-code-scoping-in-javascript---qid---sE7fxd7MMAoOO0t9yXwD","title":"What would be the output of the following code? [Scoping in JavaScript]","questionId":"sE7fxd7MMAoOO0t9yXwD"}],"resources":[{"_id":"5f1dd63acbec5f7ffc0c2faa","content":{"difficulty":2,"domain":3,"type":1,"isInternal":true},"tags":["node.js","express","rest","api","framework","backend","tools","devtools","framework development","build express"],"slug":"build-your-own-expressjs-or-part-1---rid---qoos1dgnByAcEaCp2rbl","title":"Build your own expressjs | Part 1","resourceId":"qoos1dgnByAcEaCp2rbl"},{"_id":"62056636e12bce537863f36a","content":{"difficulty":1,"domain":1,"type":1,"isInternal":true},"tags":["javascript","remix run","social login","login with google","session","encryption","js fundamentals","remix server"],"slug":"add-social-authentication-to-remix-run-project-or-remix-server---rid---GEN4IbgWorJNeQL7Gkm8","title":"Add Social Authentication to Remix Run Project | Remix Server","resourceId":"GEN4IbgWorJNeQL7Gkm8"},{"_id":"69b3e73392f33c7d8ab0e2bd","content":{"difficulty":4,"domain":2,"type":1,"isInternal":true,"languages":[]},"tags":["javascript","ui","ux","devtools tech","interview experiences","frontend coding"],"slug":"cars24-frontend-interview-experience---rid---5CxS7tyPLqunm9n3xIfH","title":"Cars24 Frontend Interview Experience","resourceId":"5CxS7tyPLqunm9n3xIfH"},{"_id":"631050a877f9961d5b7ce988","content":{"difficulty":2,"domain":1,"type":2,"isInternal":false},"tags":["javascript","frontend","react","redux","devtools","tooling","state management"],"slug":"create-your-own-redux-or-part-2-or-createstore-api-or-advanced-frontend---rid---H9EEn90tE3Jag6zCfNkM","title":"Create Your Own Redux | Part 2 | CreateStore API | Advanced Frontend","resourceId":"H9EEn90tE3Jag6zCfNkM"},{"_id":"5f1dd80bcbec5f7ffc0c2faf","content":{"difficulty":2,"domain":3,"type":1,"isInternal":true},"tags":["node.js","javascript","bots","automation","puppeteer","browser automation","ui testing","web scraping","linkedin scraping","devtools","ui"],"slug":"tips-to-improve-browser-automation-bots---rid---UVxuatGCbZwSMoQtQtaS","title":"Tips to improve Browser Automation Bots","resourceId":"UVxuatGCbZwSMoQtQtaS"}]}}