00h:00m:00s

Leave a Review & Get 72% OFF your first year - Limited Time Offer!

Claim offer
Guides

ראיון מהנדס תוכנה ב-Uber: מה לצפות ב-2026

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

אוקיי, אז קיבלתי 47 הודעות מ-Marcus בשבוע אחד על ההכנה שלי לראיון software engineer ב-Uber. ארבעים ושבע. קראתי אולי שלוש מהן. התרסקתי בראיון. שני סיבובים מתוך ארבעה, נפילה מוחלטת על הפרצוף. Marcus אם אתה קורא את זה: כן. אני יודע. אמרת לי. אתה יכול להפסיק.

קצת הקשר על Marcus -- הוא היה intern ב-Uber בקיץ 2024 על תשתיות של Eats, בקיץ שבו עשו restructuring לצוות ה-dispatch. אז כשהוא שולח לי הודעות ב-11 בלילה כמו "תלמד את המוצר Ibrahim" ו"תסתכל איך dispatch עובד" ו"תקרא על surge pricing" הוא באמת יודע על מה הוא מדבר. כאילו באמת יודע. והוא גם סידר את ה-iMessages שלו עם bullet points? מי עושה את זה בכלל lol. Marcus עושה.

ובינתיים מה אני עשיתי בזמן שהתעלמתי מההודעות האלה? ישבתי במיטה ב-2 בלילה עם פיצה קרה של Dominos עם פפרוני על הברכיים. דיל medium ב-$7.99. הזמנתי כל כך הרבה פעמים באותו שבוע ש-Dominos כבר שלחו לי push notifications ב-1 בלילה כאילו היי Ibrahim רעב? (כן. תמיד.) חפרתי LeetCode mediums. העיניים כבר הצטלבו. מאה ועשרים בעיות בשלושה שבועות ואפס פוסטים של Uber בבלוג שנקראו. לטחון LeetCode בלי תוכנית זה איך מבזבזים זמן. אפס זמן בתוך האפליקציה בלחשוב על matching. לא חיפשתי אפילו בגוגל "how does Uber dispatch" שלוקח ארבע שניות. התכוננתי ל-arrays, trees, linked lists, DP. זהו. זאת הייתה כל התוכנית והיא הייתה תוכנית גרועה.

אני מגיע למשרד ב-SF וכבר רועד. Priya הזהירה אותי גם מזה אגב. Priya היא חברה שלי מהקולג' (טוב, במקור החברה של השותף שלי לדירה בקולג', ועכשיו אחת החברות הכי קרובות שלי, החיים מוזרים). היא תמיד אומרת שהיא נכנסת לראיונות כדי ללמוד דברים, לא כדי שיקבלו אותה. ואני זוכר שחשבתי אוקיי Priya זאת פילוסופיה חמודה אבל אני צריך עבודה. מסתבר שהיא צדקה? כן. היא צדקה. כשאתה צריך הצעה עד כדי כך, המוח פשוט ננעל. אתה שוכח מילים שאתה משתמש בהן כל יום. כתב היד שלך על ה-whiteboard נראה כאילו אתה באמצע אירוע רפואי. סליחה Priya. צדקת. אני חייב לך ארוחת ערב.

הסיבוב ההתנהגותי חיסל אותי. היה לי סיפור באמת טוב על אופטימיזציה של זמני תגובה ל-API בחברה הקודמת. החלפתי את כל message queue, עם שיפור אמיתי ומדיד. המראיינת שלי אומרת "איזה metric זז" ואני עונה "משמעותית". והיא פשוט. בוהה בי. דממה מוחלטת של בערך שלוש שניות. "בכמה". ואני יושב שם ועושה חישובים בראש ומנסה להיזכר במספרים של P99 latency שמעולם לא רשמתי, כי כנראה שהאני של פעם שנא את האני של העתיד. Marcus אמר לי בפירוש שזה בדיוק מה שיקרה. הוא אמר שמראיינים ב-Uber רוצים לשמוע דברים כמו "הורדתי את ה-P99 מ-340ms ל-90ms אחרי שהחלפתי RabbitMQ ב-Kafka" ואני הגעתי עם "עשיתי דברים מהירים יותר". עבודה נהדרת Ibrahim. הם גם קושרים כל שאלה התנהגותית לערכי החברה שלהם, trip obsessed ו-go get it ו-build with heart, ואני גיליתי את זה תוך כדי הראיון כי לא קראתי את דף הקריירה lol.

הדבר הכי גדול שלמדתי מהסיבוב הזה. תכתבו את המספרים שלכם. אני לא יכול להדגיש את זה מספיק. לפני שאתם נכנסים, פשוט תעברו על פרויקטים ישנים. תשבו עשרים דקות. מה זז. בכמה. למה בחרתם Kafka על RabbitMQ או מה שזה לא יהיה. תכתבו את זה על דף. על פתק דביק, על מפית, לא אכפת לי. כי זה מה שקורה אם לא: אתם נתקעים. המראיינת שואלת "איזה metric זז" ואתם עונים "משמעותית" ואז יש שלוש שניות של פשוט. כלום. ושניכם יודעים את זה. ואל תמציאו מספרים גם. הם ילחצו על כל מספר ואתם תיתפסו אחרי בערך שתי שאלות המשך. ניסיתי את STAR method. בכנות זה לא עשה לי כלום. אולי זה עובד לאחרים. היו לי סיפורים אמיתיים, אפילו טובים, פשוט לא הצלחתי לשלוף את הפרטים מהראש בזמן שמישהו בוהה בי. אז כן. פתקים דביקים. על הלפטופ. על הטלפון. איפה שבא לכם.

הקוד היה נקודת האור היחידה שלי. Uber מתחילה עם CodeSignal OA, ארבע בעיות בשבעים דקות. שתי הראשונות היו array basics, גמרתי אותן אולי ב-12 דקות סך הכול. השלישית הייתה sliding window, ופתרתי בעיה בדיוק מהסוג הזה שישה ימים קודם לכן, אז מזל נטו. הרביעית הייתה graph traversal שלקחה לי עשרים וחמש דקות והגשתי עם בערך ארבעים שניות על השעון, כפות הידיים מזיעות. Marcus קיבל DP בבעיה הרביעית שלו אז ברור שהמאגר מתחלף. בעיות dynamic programming הן בכנות שאלות ראיון גרועות. או שאתה כבר מכיר את הטריק, או שאתה פשוט יושב ובוהה. אף אחד לא הולך להמציא פתרון DP אופטימלי מאפס בזמן שהמראיין יושב ומסתכל.

סינון הטלפון היה עם מהנדס אמיתי של Uber. weighted grid עם מכשולים, ברמת medium, ואז follow up הוסיף priority ordering ופתאום זה נהיה קשה. הדבר שתפס אותי לא מוכן היה כמה המראיין באמת דיבר. בדיוק עברתי Google phone screen שבו המהנדס אמר אולי חמש עשרה מילים בכל ארבעים וחמש הדקות, דממה מוחלטת בזמן שאני מקודד, הרגיש כאילו אני עושה בחינה בחדר ריק. האדם של Uber היה ההפך, זורק "מה אם הקלט הזה ריק" ו"תעבור איתי שוב על השורה הזאת" כאילו אנחנו שני coworkers שמדבגים משהו ב-3 בצהריים ביום רביעי. האמת שממש אהבתי את זה. לדבר דרך הקוד שלך בזמן שאתה כותב אותו זה בערך כל הפואנטה של השיחות האלה, וכשאף אחד לא מדבר חזרה זה מרגיש מוזר ומבודד.

שגרת ההכנה שלי, ורק התחלתי אותה אחרי שהתרסקתי בסיבוב הראשון אז תעשו מה שאני אומר לא מה שאני עשיתי, הייתה לפתור שתיים או שלוש בעיות בסיסיות לפני שאני נוגע במשהו קשה. binary search, ‏2Sum, ‏DFS ו-BFS על trees ו-graphs, להפוך linked list, ‏coin change בשביל DP. אלה אבני הבניין שלכם. אתם רוצים שהן יהיו muscle memory כדי שתוכלו לכתוב את הקוד מהר כמו שאתם מקלידים. הטריק האמיתי עם בעיות graph הוא פשוט לזהות שאתם בכלל מסתכלים על בעיית graph. Marcus אמר את זה מיליון פעם, ואני סוף סוף הבנתי את זה ב-CodeSignal שלי כשבעיה ארבע הסתכלה עליי וכמעט הלכתי brute force לפני שחשבתי רגע, זאת פשוט BFS.

system design זה המקום שבו מתתי. "תכנן את מנוע ההתאמה של dispatch." זה מה שהמראיין שלי אמר. חמש מילים. המוח שלי? ריק. ריק לגמרי. תפסתי את הטוש והתחלתי לצייר קופסאות של microservices על הלוח כאילו זה שיעורי בית של CS101. ויכולתי לראות את זה קורה. הפנים שלו משתנות. מרפקים על הברכיים, נשען קדימה, מתעניין, ואז שלושים שניות אחר כך ידיים שלובות, נשען אחורה. סיים איתי. הבחור הזה בנה את מערכת ה-dispatch של Uber. בנה אותה. ואני יושב שם ומצייר מלבן עם הכיתוב "API Gateway" כאילו זה אומר לו משהו. הוא ניסה לעזור לי. באמת שכן. "מה קורה כשנהג מתנתק באמצע משלוח." אוקיי אממ. "מה אם שלוש מסעדות מסיימות לבשל ויש רק נהג אחד בקרבת מקום." אההה. אני יושב שם וחושב על זה מנקודת המבט של מישהו שמזמין pad thai ב-Uber Eats פעמיים בשבוע. זה כל המודל המנטלי שלי על dispatch. geospatial indexing? אין לי מושג. matching heuristics? אני באמת לא בטוח שבאותו רגע בכלל הייתי מסוגל להגדיר את המילה הזאת. מלבנים על לוח. זה מה שהיה לי. מלבנים ווייבים.

(James אמר לי את כל זה רק אחרי, אגב. coworker שלי. עושה DevOps למחייתו, מריץ מערכות production אמיתיות ולא פרויקטים של כיתה. הוא ריסק סיבובי design בשתי חברות שונות. הדבר מספר אחת שלו: אם אתה זורק Kafka לאוויר, כדאי שבאמת נגעת ב-Kafka. כי שאלות ההמשך יהרסו אותך בתוך שלושים שניות ואתה תשב שם ותגיד "טוב אממ קראתי על זה". פשוט תגיד "distributed queue" אם לא עבדת עם זה. אל תזייף מומחיות. James גם אמר לי לחזור על הבעיה למראיין קודם, לשאול על מה הוא רוצה להתמקד, ואז להתחיל משלושים אלף רגל ולזום פנימה. עשיתי אפס מהדברים האלה. אפס lol.)

הרצתי את InterviewMan כל הזמן הזה, ובכנות זה הציל אותי ממחיקה מוחלטת. בזמן system design הוא קלט את "dispatch matching" כנושא עוד לפני שהמראיין סיים לדבר, והאכיל אותי במבנה פתיחה כדי שיהיה לי משהו חוץ ממבט ריק. ב-CodeSignal הוא תפס את גישת ה-graph לבעיה ארבע עוד לפני שבכלל פירשתי בעצמי את ה-constraints. בסיבוב ההתנהגותי הוא שלף סיפור קודם שבו באמת אמרתי מספר latency קונקרטי, בדיוק מה שהמראיינת חיפשה. בדקתי את ה-dock, את Activity Monitor, את רשימת התהליכים, screen recordings גם ב-CodeSignal וגם ב-Zoom אחרי זה ולא מצאתי אותו. 12 דולר בחודש בתוכנית שנתית, בלי caps על sessions. בהשוואה ל-Interview Coder ב-299 דולר שעושה רק קוד (שניים מתוך ארבעה סיבובים) זאת בכלל לא הייתה שאלה. עכשיו הם על 57,000 משתמשים, עם יותר מ-20 features שנבנו סביב להיות בלתי נראים.

ספרים ממש מהר. Cracking the Coding Interview? היה בסדר. פשוט מחליק את הדברים יותר מדי, כזה שאתה קורא וחושב אוקיי סבבה, זה אפשרי, ואז יושב לראיון אמיתי ו... לא. ספר מסוכן בכנות. לעומת זאת Designing Data Intensive Applications. אלוהים. game changer ל-system design. ברצינות אחד הספרים הטכניים הכי טובים שיש לי. תקראו אותו גם אם אין לכם אפס ראיונות באופק, הוא פשוט טוב. לאלגוריתמים השתמשתי בספר הלימוד של Jeff Erickson, שהוא חינמי אונליין ובאמת כיף? הוא כתב אותו ל-undergrads, לא לחוקרים, אז זה לא נקרא כמו דיסרטציה. Marcus נשבע ב-Skienna's Algorithm Design Manual, אבל אפילו הוא מודה שצריך לדלג בו ממקום למקום. לקרוא מההתחלה עד הסוף זה סבל.

אז כן. Marcus צדק. לגבי ממש הכול. תלמדו את המוצר לפני שאתם מגיעים. המראיינים של system design ב-Uber בנו את הדברים האמיתיים שהם מבקשים מכם לתכנן. זאת לא מטאפורה. הם ממש בנו את זה. תכתבו את המספרים ההתנהגותיים שלכם על פתק דביק. תעשו warm ups כל בוקר כאילו אתם נמתחים לפני ריצה. ולמען השם אל תיכנסו לסיבוב design ותציירו מלבנים על לוח ותקראו לזה מערכת. אני עשיתי את זה. זה הלך בדיוק כמו שאתם חושבים שזה הלך.

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