{"resource":{"author":{"id":"3eh0kijZwMrHum8TkMqX","name":"Devtools Tech","username":"devtoolstech"},"content":{"link":"","difficulty":1,"domain":2,"type":1,"isInternal":true,"body":"💰 CTC: 65 LPA\r\n\r\n 🧩 Total Rounds: 6 interviews\r\n\r\n##  Online Screening Test (CodeSignal)\r\n2 coding problems (arrays, graphs)\r\n8 MCQs on JS quirks, web performance & browser behavior\r\n\r\n✅ Balanced test of theory + practical coding\r\n\r\n## Machine Coding Interview\r\n Part 1: Discussion on past projects (optimizations, performance fixes)\r\n Part 2: Build a “Grid Light Box” in React — lights deactivate in reverse order of activation. Try this question here: 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\r\n 💡 Tip: Be ready for real-world UI logic & clean React design.\r\n\r\n## JavaScript Deep Dive\r\nTask: Implement memoization for an async function with callbacks\r\nHandle caching, deep equality, parallel API calls\r\n\r\n💡 Tip: Strong grasp of closures, functional programming & async flow is key.\r\n\r\n## Collaboration & Leadership Round\r\n Open-ended discussion around:\r\nHandling disagreements with PMs/designers\r\nLeading frontend refactors\r\nSuggestions to improve Uber’s frontend (performance, DX, design systems)\r\n\r\n💬 Focused on ownership, teamwork & product mindset.\r\n\r\n## DSA Round\r\n Problem: “Zombie Spread in a Country” 🧟‍♂️\r\nGrid-based infection spread → Multi-source BFS\r\nTested algorithmic thinking & edge-case handling\r\n\r\n💡 Tip: Practice BFS/DFS variations and grid problems.\r\n\r\n## System Design Interview\r\nTask: Design WhatsApp Web (Frontend HLD)\r\nDiscussed:\r\nWebSockets, APIs, data sync\r\nScalability, caching, pagination\r\nSecurity & real-time UX\r\n\r\n💡 Tip: Think like a system architect, not just a UI dev. Prepare using https://devtools.tech/dashboard/fsd/chat-app\r\n\r\n## Takeaways\r\nUber’s process tested engineering maturity, not just coding.\r\nEach round built on the previous — from fundamentals to scalability.\r\nInterviewers valued clarity, collaboration & trade-off thinking.\r\n\r\nTry top questions asked by Uber here: https://devtools.tech/questions/all?companies=uber","languages":[],"editorConfig":"undefined"},"stats":{"views":6238,"used":0,"likes":0},"description":"","published":true,"isActive":true,"tags":["javascript","frontend","ui","ux","uber","senior frontend engineer"],"slug":"uber-senior-frontend-interview-experience---rid---HhAZPA5jvh67sTfzr8cw","isPremium":false,"categories":[],"requires":[],"_id":"69036a803177c39e85554ace","title":"Uber Senior Frontend Interview Experience","resourceId":"HhAZPA5jvh67sTfzr8cw","createdAt":1761831552244,"modifiedAt":1761831552244},"currentUser":null,"isOwner":false,"recommendations":{"questions":[{"_id":"692afd9f8f12450e2fdd2d1d","content":{"languages":["javascript","typescript"],"difficulty":2},"tags":["javascript","ui","ux","devtools tech","coding","frontend interview question","paypal","interview","problem solving"],"slug":"transaction-confirmation---qid---E8OgT2o9ewJ2Pfjp2GL9","title":"Transaction Confirmation","questionId":"E8OgT2o9ewJ2Pfjp2GL9"},{"_id":"640d964bc809473cf30b0134","content":{"languages":["javascript","typescript"],"difficulty":2},"tags":["javascript","frontend","lodash","ui","ux","code","programming","problem solving","lodash polyfills","set method","object","object property","mutate js objects","property setting","js objects","javascript interview question"],"slug":"how-to-set-value-in-an-object-by-path-or-implement-lodash-set-method-or-javascript-interview-question---qid---Ri7ZHw8NH20KPbTlgNkp","title":"How to set value in an object by path? | Implement Lodash Set Method | JavaScript Interview Question","questionId":"Ri7ZHw8NH20KPbTlgNkp"},{"_id":"6343d44a9efd8c366a2e3d23","content":{"languages":["javascript","typescript"],"difficulty":1},"tags":["","javascript","arrays","javascript polyfills","interview question","frontend","coding","devtools tech","programming","codedamn","frontend masters","egghead","razorpay","hotstar","tata1mg","swiggy","zomato","array","array find","array findindex"],"slug":"how-to-implement-array-prototype-find-javascript-interview-question-or-problem-solving-or-javascript-polyfills---qid---nX72m7o44hxRUlSnbjo5","title":"How to implement Array.prototype.find? JavaScript Interview Question | Problem Solving | JavaScript Polyfills","questionId":"nX72m7o44hxRUlSnbjo5"},{"_id":"64e5c934d5ab2876a4c2a515","content":{"languages":["javascript","typescript"],"difficulty":2},"tags":["","javascript","frontend","youtube","camel case","problem solving","iteration","recursion","devtools tech","frontend interview questions","array","objects"],"slug":"implement-a-function-to-convert-all-object-keys-to-camel-case-or-javascript-interview-question---qid---9E4Ju40HMV36ksRPq9oF","title":"Implement a function to convert all object keys to camel case | JavaScript Interview Question","questionId":"9E4Ju40HMV36ksRPq9oF"},{"_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"}],"resources":[{"_id":"5f1ffa3acbec5f7ffc0c2fb7","content":{"difficulty":3,"domain":2,"type":1},"tags":["javascript","frontend","advanced react","build react","react internals","tutorials","reactjs"],"slug":"build-your-own-react---rid---XdoSkFr67KA5TMwu1lc0","title":"Build your own React","resourceId":"XdoSkFr67KA5TMwu1lc0"},{"_id":"69036a803177c39e85554ace","content":{"difficulty":1,"domain":2,"type":1,"isInternal":true,"languages":[]},"tags":["javascript","frontend","ui","ux","uber","senior frontend engineer"],"slug":"uber-senior-frontend-interview-experience---rid---HhAZPA5jvh67sTfzr8cw","title":"Uber Senior Frontend Interview Experience","resourceId":"HhAZPA5jvh67sTfzr8cw"},{"_id":"692995368f12450e2fdcb3f8","content":{"difficulty":4,"domain":1,"type":2,"isInternal":false,"languages":[]},"tags":["javascript","ux","ui","promise","tutorial","video","coding","frontend","async programming","frontend development"],"slug":"how-to-solve-promise-based-javascript-output-questions-or-ultimate-trick---rid---nJFmM6cYVm05Lfjuh4t0","title":"How to solve Promise Based JavaScript Output Questions? | Ultimate Trick!","resourceId":"nJFmM6cYVm05Lfjuh4t0"},{"_id":"698b2bde895fc3bf01415e40","content":{"difficulty":4,"domain":2,"type":1,"isInternal":true,"languages":[]},"tags":["javascript","ui","ux","coding","frontend","devtools tech","frontend interview experience"],"slug":"zomato-frontend-interview-experience-or-sde-2---rid---7hUoqLgUfYf13XaOXRlq","title":"Zomato Frontend Interview Experience | SDE 2","resourceId":"7hUoqLgUfYf13XaOXRlq"},{"_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"}]}}