{"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: Online Assessment (CodeSignal)\r\n\r\nUber's first round is usually an online test conducted on platforms like CodeSignal.\r\n\r\n### Structure\r\n\r\n* **Total Questions:** 10\r\n* **Coding Questions:** 2 (DSA)\r\n* **MCQs:** 8\r\n* **Time Limit:** 35-45 minutes\r\n\r\n### Topics Covered\r\n\r\n**MCQs focused on:**\r\n\r\n* JavaScript fundamentals (closures, scope, async/await, event loop)\r\n* HTML and CSS basics\r\n* React lifecycle methods and performance concepts\r\n\r\n**Some of the coding problems involved:**\r\n\r\n* String manipulation based on Hashmap and Sliding window ([Example](https://leetcode.com/problems/longest-substring-without-repeating-characters/))\r\n* Array traversal and basic algorithmic reasoning\r\n\r\n### Preparation Tip\r\n\r\n- A strong understanding of JavaScript internals—especially the event loop, asynchronous execution, and time/space complexity—goes a long way in clearing this round.\r\n- Both questions had 20 test cases each. It is important you pass at least 18 for each question.\r\n\r\n## Round 2: DSA Coding round\r\n\r\n- **Time Limit**: 60 mins\r\n- I was asked to use JavaScript/TypeScript in this round.\r\n- There were multiple questions like: [executing K tasks in parallel](https://devtools.tech/questions/s/how-to-implement-custom-map-function-with-limit-on-number-of-operations-or-paytm-frontend-interview-question-or-javascript-interview-questions-or-frontend-problem-solving---qid---ZVNw2lUMguEZIsnvzjC1?companies=uber), Zombie in a matrix, [Asynchronous Task Runner](https://devtools.tech/questions/s/how-to-implement-an-asynchronous-task-runner-with-concurrency-control-rippling-frontend-interview-question---qid---QCu4pbqp5zgxZQaQzh0D)\r\n\r\n## Round 3: Machine Coding (Frontend)\r\n\r\nThis round started with a discussion about my past frontend projects, followed by a live machine-coding exercise.\r\n\r\n### Discussion Areas\r\n\r\n* Performance bottlenecks in real projects\r\n* Tradeoffs made during implementation\r\n* Real-world challenges and how they were resolved\r\n\r\n### Machine Coding Problems: \r\n\r\n- [Grid Light Box](https://devtools.tech/questions/s/how-to-create-an-grid-lights-interactive-shape-uber-frontend-interview-question-or-javascript-or-react-js---qid---6FVH1ZMWMXd4uZ8WAGEi?companies=uber)\r\n- [Priority Based Models](https://devtools.tech/questions/s/priority-based-modals---qid---qQfSEsjIr4C6j5vQMBED?companies=uber)\r\n- [Detect Overlapping Circles](https://devtools.tech/questions/s/how-to-detect-overlapping-circles-in-react-js-uber-frontend-interview-question---qid---ixSxPTedmz1CyVZSab1N?companies=uber)\r\n- [Building an Autocomplete](https://devtools.tech/questions/s/build-an-autocomplete-using-react-js-or-type-one-or-frontend-coding-challenge-or-javascript-interview-question---qid---wIsJwxPV1Ka0GdmTIXQX?companies=uber)\r\n\r\n>💡More Uber specific questions: https://devtools.tech/questions/all?companies=uber\r\n\r\n### Evaluation Criteria\r\n\r\n* Code quality and readability\r\n* State management approach\r\n* Reusable and composable components\r\n* Edge-case handling\r\n* UI clarity and interactivity\r\n\r\n## Round 4: Design & Architecture / System Design\r\n\r\n- **Time Limit**: 60 mins\r\n- Usually, Uber ask either designing [WhatsApp Web UI](https://devtools.tech/dashboard/fsd/chat-app) or [Google Calendar](https://devtools.tech/dashboard/fsd/calendar). I got Google Calendar ([Question with Solution](https://devtools.tech/dashboard/fsd/calendar)).\r\n\r\n### Discussion Areas\r\n\r\n* Requirements Gathering\r\n* API design and payload structures\r\n* Real-time communication (WebSockets vs polling)\r\n* Performance optimizations\r\n\r\n## Round 5: Behavioral and Collaboration Round (Bar Raiser)\r\n\r\n- **Time Limit**: 60 mins\r\n\r\nThis was a culture-fit and communication-focused interview.\r\n\r\n### Topics Discussed\r\n\r\n* Handling disagreements with PMs, designers, or engineers\r\n* Mentoring or leadership experiences\r\n* Motivation for joining Uber\r\n* Product or UX feedback for Uber\r\n\r\n### Takeaway\r\n\r\n* Be honest about failures and what you learned\r\n* Emphasize ownership and accountability\r\n* Focus on impact rather than just tasks completed\r\n* Prepare examples from your past experiences that align with Uber's core values (https://www.uber.com/in/en/careers/values/)\r\n\r\n## Final Thoughts\r\n\r\nThe Uber Frontend Engineer interview process is rigorous and well-balanced. It evaluates not just your ability to write code, but also how you think about performance, scalability, collaboration, and real-world tradeoffs.\r\n\r\n### Key Takeaways\r\n\r\n* Prepare concrete examples from your past projects\r\n* Be fluent in JavaScript fundamentals and React performance patterns\r\n* [Practice machine-coding problems with real UI constraints](https://devtools.tech/questions/all?companies=uber)\r\n* Think in terms of scalability, reusability, and user experience\r\n* [Communicate clearly and justify your design decisions](https://devtools.tech/dashboard/fsd/guide)","languages":[],"editorConfig":"undefined"},"stats":{"views":2691,"used":0,"likes":0},"description":"","published":true,"isActive":true,"tags":["javascript","ui","ux","devtools tech","coding"],"slug":"uber-frontend-interview-experience-sde-2---rid---dCWHwzvBTfbpsf7QzzqX","isPremium":false,"categories":[],"requires":[],"_id":"696a34bc132ce4e954b82594","title":"Uber Frontend Interview Experience (SDE-2)","resourceId":"dCWHwzvBTfbpsf7QzzqX","createdAt":1768567996941,"modifiedAt":1768567996941},"currentUser":null,"isOwner":false,"recommendations":{"questions":[{"_id":"5f382faa6d3cda64e470c3da","content":{"difficulty":1,"languages":"javascript"},"tags":["javascript","node.js","js fundamentals","in keyword","emcascript","es6"],"slug":"what-will-be-the-output-of-the-following-code-snippet-in-operator---qid---7fgg7ORoySqruguvpaGG","title":"What will be the output of the following code snippet? (in operator)","questionId":"7fgg7ORoySqruguvpaGG"},{"_id":"6470720ed12c1e2402033e8f","content":{"languages":["react","html"],"difficulty":1},"tags":["frontend","coding challenge","devtools tech","counter app","react.js","react counter app","frontend interview question","javascript interview question","tooling","codedamn","egghead","frontend masters","ui","html","css","js","beginner frontend question"],"slug":"build-a-counter-app-or-frontend-coding-challenge---qid---zodvupyT4q2SnVLeVFGk","title":"Build a Counter App | Frontend Coding Challenge","questionId":"zodvupyT4q2SnVLeVFGk"},{"_id":"6307a2a177f9961d5b7cbf53","content":{"languages":["javascript","typescript"],"difficulty":1},"tags":["","javascript","problem solving","oops","inhertiance","javascript prototype","methods","javascript interview questions","vanilla js","beginner frontend questions"],"slug":"how-to-implement-a-developer-builder-interface-or-frontend-problem-solving-or-javascript-interview-question---qid---CjH1hGv2r19ouztiDck2","title":"How to implement a Developer Builder Interface? | Frontend Problem Solving | JavaScript Interview Question ","questionId":"CjH1hGv2r19ouztiDck2"},{"_id":"6420760e6577005718b72fa5","content":{"languages":["javascript","typescript"],"difficulty":2},"tags":["javascript","jquery","frontend","ui","ux","color","problem solving","devtools tech","frontend probelm solving","interview question","tutotials","jquery css"],"slug":"implement-jquery-css-method-or-frontend-interview-question-or-javascript---qid---XdUmvnDPqQv5erbAq12B","title":"Implement jQuery.css method | Frontend Interview Question | JavaScript","questionId":"XdUmvnDPqQv5erbAq12B"},{"_id":"66f167dbe61c855445b30d0d","content":{"languages":["react","html"],"difficulty":4},"tags":["javascript","frontend","ui","ux","coding problem","frontend interview question","coding challenge","bitgo","code","tutorial","blog","interview","frontend interviews"],"slug":"how-to-build-a-transfer-list-ui-component---qid---JXmKtbLuIWiEgODu2MRJ","title":"How to build a Transfer List UI component?","questionId":"JXmKtbLuIWiEgODu2MRJ"}],"resources":[{"_id":"5f282eb6cbec5f7ffc0c2fc3","content":{"difficulty":2,"domain":2,"type":1},"tags":["react.js","javascript","frontend","ui","error boundary react","react error handling","errors","kentcdodds"],"slug":"use-react-error-boundary-to-handle-errors-in-react---rid---ldW3O9w4cWHoMuJSLU9F","title":"Use react-error-boundary to handle errors in React","resourceId":"ldW3O9w4cWHoMuJSLU9F"},{"_id":"69824d07895fc3bf013b40e2","content":{"difficulty":4,"domain":1,"type":1,"isInternal":true,"languages":[]},"tags":["javascript","ui","ux","blog","best practices","code","devtools tech","article"],"slug":"best-code-practices-for-real-world-applications-part-1---rid---8ohjaCmxsxK093sIQad6","title":"Best Code Practices for Real-World Applications - Part 1","resourceId":"8ohjaCmxsxK093sIQad6"},{"_id":"6206280b1641361c7c65a721","content":{"difficulty":1,"domain":2,"type":1,"isInternal":true},"tags":["","javascript","cookies","remix run","js framework","web fundamentals","frontend","coding","headers","http","redirection","tracking","session"],"slug":"how-to-send-multiple-cookies-in-a-remix-powered-web-app---rid---ndORf220mRIUxvoJPvtb","title":"How to Send Multiple Cookies in a Remix Powered Web App?","resourceId":"ndORf220mRIUxvoJPvtb"},{"_id":"5f1dedb6cbec5f7ffc0c2fb2","content":{"difficulty":2,"domain":2,"type":1,"isInternal":true},"tags":["reactjs","frontend","javascript","setstate","ui","code","devtools","react setstate"],"slug":"understanding-react-setstate---rid---eA1TtSO9ANI5xpBvb0nA","title":"Understanding React setState","resourceId":"eA1TtSO9ANI5xpBvb0nA"},{"_id":"697cfb276cf04a92bb66eba5","content":{"difficulty":4,"domain":1,"type":1,"isInternal":true,"languages":[]},"tags":["javascript","ui","ux","devtools tech","coding interviews","tutorial","guide","documentation","frontend interviews"],"slug":"guide-to-effective-interview-preparation---rid---6CuY8FFJTPvNHD2SuGLK","title":"Guide to Effective Interview Preparation","resourceId":"6CuY8FFJTPvNHD2SuGLK"}]}}