Leave a Review & Get 30% OFF - Limited Time Offer!

00:00:00
Guides

Uber Software Engineer haastattelu: mita odottaa vuonna 2026

Last updated: March 19, 2026|7 min read|By InterviewMan Team

okei eli sain Marcusilta yhden viikon aikana 47 viestiä Uberin software engineer -haastattelupreppiini liittyen. neljäkymmentäseitsemän. luin niistä ehkä kolme. pommitin haastattelun. kaksi kierrosta neljästä, täydellinen mahalasku. Marcus jos luet tätä: joo. tiedän. sanoit kyllä. voit lopettaa.

nopea tausta Marcuksesta — hän oli Uberilla harjoittelussa kesällä 2024 Eats-infran puolella, sinä kesänä kun dispatch-tiimi järjesteltiin uusiksi. joten kun hän laittaa minulle viestiä yhdeltätoista illalla tyyliin "opiskele tuotetta Ibrahim" ja "katso miten dispatch toimii" ja "lue surge pricingistä", hän oikeasti tietää mistä puhuu. siis ihan oikeasti tietää. ja hän muotoili iMessagensa ranskalaisilla viivoilla? kuka tekee niin lol. Marcus tekee.

mitä minä sitten tein samalla kun ignorasin näitä viestejä? istuin sängyssä kello 2 yöllä kylmä pepperoni-dominos sylissäni. $7.99 medium deal. tilasin niitä niin monta sillä viikolla että Dominos lähetti push-notifikaatioita yöllä yhdeltä tyyliin hei Ibrahim onko nälkä? (on. aina.) grindasin LeetCode mediumeja. silmät ristissä. satakaksikymmentä tehtävää kolmessa viikossa ja NOLLA Uber-blogipostausta luettuna. LeetCoden grindaaminen ilman suunnitelmaa on juuri sitä miten tuhlaat aikaa. nolla aikaa appissa miettimässä matchingia. en koskaan edes googlannut "how does Uber dispatch" mikä vie neljä sekuntia. preppasin taulukot, puut, linkitetyt listat, DP:n. siinä se. siinä oli koko suunnitelma ja se oli surkea suunnitelma.

saavun SF:n toimistolle ja tärisen jo valmiiksi. Priya muuten varoitti minua tästäkin. Priya on ystäväni yliopistosta (tai no, alun perin kämppikseni tyttöystävä, nyt yksi läheisimmistä ystävistäni, elämä on outoa). hän sanoo aina menevänsä haastatteluihin oppimaan jotain eikä yrittämään tulla palkatuksi. ja muistan miettineeni että okei Priya, söpö filosofia mutta minä tarvitsen TYÖN. kävi ilmi että hän oli oikeassa? jep. hän oli oikeassa. kun tarvitset tarjouksen noin paljon, aivot vain lukkiutuvat. unohdat sanoja joita käytät joka päivä. whiteboard-käsialasi näyttää siltä kuin sinulla olisi lääkinnällinen hätätilanne. sori Priya. olit oikeassa. olen velkaa sinulle illallisen.

behavioral-kierros tuhosi minut. minulla oli oikeasti hyvä tarina API-vastausaikojen optimoinnista viimeisessä firmassani. vaihdoin koko message queuen, ihan oikea mitattava nopeutus. haastattelija sanoo "mikä metriikka liikkui" ja minä sanon "merkittävästi." ja hän vain. tuijottaa minua. kuollutta hiljaisuutta ehkä kolme sekuntia. "kuinka paljon." ja minä istun siinä tekemässä päässäni laskelmia yrittäen muistaa P99-latenssilukuja joita en koskaan kirjoittanut ylös, koska ilmeisesti menneisyyden minä vihasi tulevaisuuden minää. Marcus sanoi että juuri näin kävisi. hän sanoi että Uberin haastattelijat haluavat sinun sanovan asioita kuten "laskin P99:n 340 millisekunnistä 90:een vaihtamalla RabbitMQ:n Kafkaan" ja minä ilmestyin paikalle lauseella "tein asioista nopeampia." hienoa työtä Ibrahim. he myös sitovat jokaisen behavioral-kysymyksen yrityksen arvoihin, trip obsessed ja go get it ja build with heart, ja sain tietää tämän HAASTATTELUN AIKANA koska en lukenut careers-sivua lol.

suurin asia jonka opin tuolta kierrokselta. KIRJOITA NUMEROSI YLÖS. en voi painottaa tätä tarpeeksi. ennen kuin kävelet sisään, käy vain vanhat projektit läpi. istu kaksikymmentä minuuttia. mikä liikkui. kuinka paljon. miksi valitsit Kafkan RabbitMQ:n sijaan tai mitä ikinä. kirjoita se paperille. sticky noteen, lautasliinaan, ihan sama. koska näin käy jos et tee sitä: blankkaat. haastattelija kysyy "mikä metriikka liikkui" ja sinä sanot "merkittävästi" ja sitten tulee kolme sekuntia pelkkää. ei mitään. ja te molemmat tiedätte sen. älä keksi lukuja päästäsi myöskään. he kysyvät jokaisesta numerosta lisää ja jäät kiinni ehkä kahdessa follow-upissa. kokeilin STAR-menetelmää. ei tehnyt minulle rehellisesti mitään. ehkä se toimii muille. minulla oli oikeita tarinoita, hyviäkin, en vain saanut kaivettua yksityiskohtia päästäni samalla kun joku tuijotti minua. joten joo. sticky notet. läppäriin. puhelimeen. minne vain.

coding oli minun yksi valopilkku. Uber aloittaa CodeSignal-OA:lla, neljä tehtävää seitsemässäkymmenessä minuutissa. kaksi ensimmäistä olivat perus array-juttuja, vedin ne läpi ehkä kahdessatoista minuutissa yhteensä. kolmas oli sliding window ja olin ratkaissut täsmälleen saman tyyppisen ongelman kuusi päivää aiemmin, eli puhdasta tuuria. neljäs oli graph traversal joka vei kaksikymmentäviisi minuuttia ja lähetin sen sisään ehkä neljäkymmentä sekuntia ennen loppua, kämmenet hiessä. Marcus sai neljänneksi DP:tä, joten pooli kiertää. dynamic programming -ongelmat ovat rehellisesti kamalia haastattelukysymyksiä. joko tiedät jo tempun tai sitten vain istut tuijottamassa. kukaan ei keksi optimaalista DP-ratkaisua tyhjästä samalla kun haastattelija katsoo.

puhelinscreen oli oikean Uber-insinöörin kanssa. painotettu ruudukko esteillä, medium-taso, sitten follow-up lisäsi priority orderingin ja yhtäkkiä se olikin vaikea. se mikä yllätti minut oli kuitenkin se miten paljon screener PUI. olin juuri tehnyt Google phone screenin, jossa insinööri sanoi ehkä viisitoista sanaa koko neljässäkymmenessäviidessä minuutissa, täyttä hiljaisuutta kun koodasin, tuntui kuin tekisin koetta tyhjässä huoneessa. Uber-tyyppi oli täysi vastakohta, heitti "mitä jos input on tyhjä" ja "käy tuo rivi vielä läpi" niin kuin olisimme kaksi työkaveria debuggaamassa jotain keskiviikkona kello 15. tykkäsin siitä oikeasti paljon. koodin läpipuhuminen samalla kun kirjoitat sitä on vähän niin kuin koko näiden screenejen pointti, ja kun kukaan ei puhu takaisin, se tuntuu oudolta ja eristävältä.

oma prep-rutiinini, ja aloitin tämän vasta SEN JÄLKEEN kun olin jo pommittanut ensimmäisen kierroksen joten tee kuten sanon älä kuten tein, oli ratkaista kaksi tai kolme perusongelmaa ennen kuin koskin mihinkään vaikeaan. binaarihaku, 2Sum, DFS ja BFS puissa ja graafeissa, linkitetyn listan kääntäminen, coin change DP:lle. nämä ovat rakennuspalikoita. haluat että ne ovat lihasmuistissa jotta voit kirjoittaa koodia yhtä nopeasti kuin pystyt kirjoittamaan. oikea temppu graph-ongelmissa on vain tunnistaa että katsot graph-ongelmaa. Marcus sanoi tämän miljoona kertaa ja tajusin sen lopulta CodeSignalissa kun neljäs tehtävä tuijotti minua ja olin melkein menossa brute forcella ennen kuin ajattelin odota, tämähän on kirjaimellisesti vain BFS.

system design on se missä kuolin. "suunnittele dispatch matching engine." näin haastattelija sanoi. viisi sanaa. minun aivoni? tyhjää. täysin tyhjää. nappasin tussin ja aloin piirtää whiteboardille mikropalvelulaatikoita kuin kyse olisi CS101-kotitehtävästä. ja näin sen tapahtuvan. hänen ilmeensä muuttui. kyynärpäät polvilla, nojautui eteenpäin, kiinnostunut, ja sitten kolmekymmentä sekuntia myöhemmin kädet ristissä, nojaus taakse. done with me. tämä tyyppi RAKENSI Uberin dispatch-järjestelmän. RAKENSI SEN. ja minä piirrän siihen suorakulmiota jossa lukee "API Gateway" kuin se merkitsisi hänelle mitään. hän yritti auttaa minua. oikeasti yritti. "mitä tapahtuu jos kuski menee offlineen kesken toimituksen." okei öö. "entä jos kolme ravintolaa saa ruoan valmiiksi ja vain yksi kuski on lähellä." uhhh. istun siinä ajatellen tätä tyypin näkökulmasta joka tilaa pad thaita Uber Eatsista kahdesti viikossa. siinä oli koko minun dispatch-mental modelini. geospatial indexing? ei mitään hajua. matching heuristics? en olisi pystynyt määrittelemään sitä sanaa siinä hetkessä. suorakulmioita whiteboardilla. siinä oli kaikki mitä minulla oli. suorakulmioita ja vibaa.

(James kertoi tämän kaiken minulle muuten JÄLKEENPÄIN. työkaverini. tekee DevOpsia työkseen, pyörittää oikeita production-järjestelmiä eikä luokkaprojekteja. hän naulasi design-kierrokset kahdessa eri firmassa. hänen ykkösjuttunsa: jos name droppaat Kafkan, sinun on parempi olla oikeasti koskenut Kafkaan. koska follow-up-kysymykset tuhoavat sinut kolmessa kymmenessä sekunnissa ja istut siinä sanomassa "öö no luin siitä." sano vain "distributed queue" jos et ole käyttänyt sitä. älä feikkaa osaamista. James sanoi myös että toista ongelma ensin takaisin haastattelijalle, kysy mihin he haluavat keskittyä, ja aloita kolmenkymmenentuhannen jalan korkeudelta ja zoomaa sisään. minä tein näistä nolla asiaa. nolla lol.)

minulla oli InterviewMan päällä koko ajan ja se rehellisesti pelasti minut täydelliseltä wipeoutilta. system designin aikana se nappasi "dispatch matching" aiheen ennen kuin haastattelija ehti edes lopettaa puhumisen ja syötti minulle aloitusrungon jotta minulla oli jotain muuta kuin tyhjä tuijotus. CodeSignalissa se nappasi graph-lähestymisen neljännessä tehtävässä ennen kuin olin itse edes parsinnut constraintit. behavioral-kierroksella se nosti esiin aiemman tarinan jossa olin oikeasti sanonut konkreettisen latenssiluvun, juuri sen mitä haastattelija kalasteli. tarkistin dockin, Activity Monitorin, process listin, screen recordingit sekä CodeSignalissa että Zoomissa jälkeenpäin enkä löytänyt sitä. kaksitoista dollaria kuussa vuosimaksulla, ei sessiokattoja. verrattuna Interview Coderiin joka maksaa kaksisataayhdeksänkymmentäyhdeksän dollaria ja tekee vain codingia (kaksi neljästä kierroksesta), ei ollut edes kysymys. 57 000 käyttäjää nyt, yli kaksikymmentä ominaisuutta rakennettuna näkymättömäksi.

kirjoista nopeasti. Cracking the Coding Interview? ihan ok. silottelee asioita vain liikaa, niin että luet sitä ja ajattelet aa okei tämä on tehtävissä ja sitten istut oikeaan haastatteluun ja ei. vaarallinen kirja rehellisesti. Designing Data Intensive Applications taas. voi mies. game changer system designiin. oikeasti yksi parhaista teknisistä kirjoista jotka omistan. lue se vaikka sinulla ei olisi yhtään haastattelua tulossa, se on vain hyvä. algoritmeihin käytin Jeff Ericksonin oppikirjaa joka on ilmaiseksi netissä ja oikeasti hauska? hän kirjoitti sen kandiopiskelijoille eikä tutkijoille joten se ei lue kuin väitöskirja. Marcus vannoo Skiennan Algorithm Design Manualin nimeen, mutta edes hän myöntää että sitä pitää skipata ympäriinsä. kannesta kanteen meneminen on raskasta.

eli joo. Marcus oli oikeassa. kirjaimellisesti kaikesta. opiskele tuotetta ennen kuin menet paikalle. Uberin system design -haastattelijat rakensivat oikeat asiat joita he pyytävät sinua suunnittelemaan. se ei ole metafora. he kirjaimellisesti rakensivat ne. kirjoita behavioral-numerosi sticky noteen. tee warm-upit joka aamu niin kuin venyttelisit ennen juoksua. ja luojan tähden älä kävele design-kierrokseen, piirrä whiteboardille suorakulmioita ja kutsu sitä järjestelmäksi. minä tein niin. se meni juuri niin kuin luulet.

Ready to Ace Your Next Interview?

Join 57,000+ professionals using InterviewMan to get real-time AI assistance during their interviews.

ShareTwitterLinkedIn

Related Articles

Try InterviewMan Free

AI interview assistant. Undetectable.

Get Started