Я досі думаю про той день, коли Airbnb мені відмовила. Мабуть, частіше, ніж варто.
Було вже під вечір. Я вийшов після останнього раунду, сів у машину і хвилин двадцять дивився на кермо. Коли рекрутер потім розклав мені причину по поличках, виявилося, що провалився я на питанні про відчуття приналежності. Не на кодингу, не на системному дизайні. Питання було про те, як допомогти людині відчути, що їй раді в команді.
Тоді я щойно пройшов цілу низку співбесід у Google і вважав, що підготовка до кодингу і є вся гра. У мене лежало дванадцять виписаних і відрепетируваних історій за STAR. Всі до одної були про запуск функцій, розбір незгод чи щось технічне. Цей запас історій я вважав найменш тривожною частиною підготовки. Я ж закінчив їх першими і більше не відкривав.
Раунду про культуру дісталося рівно стільки моєї уваги. Моки з кодингу стояли в календарі один за одним. До роботи я розв'язував задачі на графи, а за обідом дивився відео про системний дизайн. Так минали дні.
Через це завзяття на технічних раундах я трохи зациклився. Колишня колега навіть кепкувала з мене через це. За шість місяців до співбесіди вона повторювала, що в їхньому фінальному обговоренні культура важить стільки само, скільки кодинг. Я засміявся, причому вголос. Вона не стала сперечатися, а просто змінила тему. Мені здавалося, що я все роблю правильно.
Ready to ace your next interview?
InterviewMan gives you real-time AI answers during live interviews — undetectable on Zoom, Meet, and Teams.
Try InterviewMan FreeА вийшло так, що за всіма тими задачами я не побачив цілого раунду. Та йкого. Я не був досить «параноїдальним», щоб готуватися до інтерв'юера з культури, який чекав наприкінці всього процесу.
У тій кімнаті мені поставили три питання, і всі три стосувалися того, як дати людям відчути, що вони на своєму місці. Серед моїх дванадцяти історій не знайшлося жодної про інклюзивність. Найкраще, що я зміг витягти, це історія про онбординг нового інженера на минулій роботі. Ще коли промовляв її вголос, я вже розумів, що звучить вона жахливо. «Be a Host» і «Belonging» у них справді базові цінності, а не гасла для плаката. У мене ж не було нічого, що зачіпало б хоча одну з них.
Середній кодер, який влучає в культуру, отримує офер. Сильний кодер, який її провалює, отримує відмову. Ось таку арифметику колега мені й виклала. Я записав це на рахунок її звички трохи драматизувати, коли мова заходила про колишнього роботодавця. Насправді вона описувала саме оцінювання.
У мене все виглядало так. Ще до розмови з будь-якою живою людиною треба було пройти тест у HackerRank: дві задачі середньої складності за сорок п'ять хвилин.
Мені випали маніпуляції з масивом і задача на бінарне дерево. Хтось із Discord кодинг-буткемпу, куди я часом заглядаю, отримав замість дерева граф. Тобто вони міняють задачі з певного банку.
Код мав справді запускатися, псевдокоду було недостатньо. Це збило мене з пантелику, бо до того я прийшов зі співбесід у Google, де все залишалося на дошці.
Далі була тридцятихвилинна розмова з рекрутером. По суті, там лише перевіряли, чи я нормальна жива людина, яка й справді хоче цю роботу.
Телефонний скринінг тривав сорок п'ять хвилин. Мені дісталися зв'язні компоненти через DFS. Я впорався десь за двадцять, а весь інший час інтерв'юерка допомагала мені шукати крайні випадки. У якийсь момент вона буквально сказала: «вам, можливо, варто перевірити порожній вхід».
Я ледь не випав із крісла. У Google ніхто нічого не підказує. Принаймні, мені там не підказували жодного разу.
В Airbnb мене підштовхували весь час. Малювали разом зі мною на дошці, а під час системного дизайну інтерв'юер взагалі стояв поруч і домальовував схему зі мною. У всьому цьому була якась енергія парного програмування. Від Google кодинг тут відрізнявся повністю, здебільшого через те, що інтерв'юери зі мною розмовляли.
У самому фіналі було два раунди з кодингу і системний дизайн. У першому кодинговому раунді потрібно було знайти суми шляхів у бінарному дереві з обмеженням за глибиною. Це було посильно, і тоді я, пам'ятаю, навіть відчув, що все йде добре.
Друга задача була про злиття інтервалів для вікон бронювання, які накладаються одне на одне. Умову подали через конфлікт бронювань гостей. Виглядало все так, ніби задачу витягли прямо з їхнього продакшну. Складність була між середньою і високою. Я закінчив майже впритул до часу, а останні десять із тих сорока п'яти хвилин просто потів.
Пізніше колега пояснила, що вони завжди так роблять. Кожну задачу загортають у лексику Airbnb: бронювання, оголошення, вікна доступності, резервації. А під обгорткою все ті самі дерева, масиви, графи, інтервали, які ви й так весь цей час ганяли. Нічого екзотичного я не побачив у жодному своєму раунді.
На системному дизайні попросили «побудувати систему бронювань і оголошень», а далі інтерв'юерка один за одним підкидала мені сценарії. Перший: що буде, якщо двоє гостей забронюють одне й те саме житло в одну й ту саму секунду? Потім з'явився господар, який посеред бронювання перестав виходити на зв'язок. Далі пішла ціна, яка змінюється залежно від тижня і сезону. Десь після цього я втратив лік. Вона ж усе питала і питала.
Я готувався за стандартним YouTube-відео про бронювання готелів. Цього вистачило, може, на сорок відсотків її питань. На решту я сидів і буквально вигадував відповіді.
Ready to ace your next interview?
InterviewMan gives you real-time AI answers during live interviews — undetectable on Zoom, Meet, and Teams.
Try InterviewMan FreeТипова підготовка на кшталт «спроєктуйте Twitter» у цій кімнаті розсипається. І я точно знаю, на чому саме: конкурентний доступ при подвійному бронюванні і те, що з ним робити. Ще були машини станів для господаря і гостя, динамічне ціноутворення, принципи роботи їхнього ранжування пошуку, а також календарі доступності в масштабі. Ніхто з YouTube не розбирав цього у відео, які я дивився.
Вдруге я вів цей раунд інакше. Спочатку переформулював мету своїми словами. Потім ставив питання, щоб звузити масштаб, сам називав розумні цифри, починав із загальної схеми і вже звідти йшов глибше туди, що її найбільше цікавило. Найдовше вона тиснула на подвійне бронювання, причому обидва рази. Під час другої спроби системний дизайн взагалі став моєю улюбленою частиною всього дня. Дивна річ, бо саме цей раунд я провалив першого разу. І провалив по-справжньому.
Навіть обід там «не оцінюється» лише в лапках. У треді на r/cscareerquestions хтось писав, що його супровідник на обіді згадував про нього щось під час фінального обговорення. Тож залишайтеся нормальною людиною весь день.
Через кілька місяців я прийшов на другу спробу. Цього разу провів усю співбесіду з InterviewMan. Різниця між цими двома спробами й переконала мене працювати над цією проблемою повний день.
Щойно почався культурний раунд, як InterviewMan вже витягнув історію про відчуття приналежності з нашої давнішої розмови. Я ще навіть не встиг зрозуміти, до чого веде інтерв'юер. А відмовили мені першого разу саме через тему приналежності. На кодингу він видав підхід DFS за кілька секунд після появи задачі. На системному дизайні відразу вказав на конкурентність подвійного бронювання, на ту саму тему, яку найдовше тиснула інтерв'юерка минулого разу.
Ми перевірили, чи видно щось у Dock, у списку процесів та Activity Monitor, причому і в HackerRank, і в Zoom. Ніде нічого не з'явилося. Дванадцять доларів на місяць за річної оплати, п'ятдесят сім тисяч користувачів, понад двадцять функцій непомітності, жодних лімітів на сесії. Interview Coder просить двісті дев'яносто дев'ять на місяць і вміє лише кодинг. А кодингових раундів тут два з п'яти, й саме вони в Airbnb важать найменше.
Колишня колега мала рацію буквально в усьому. В Airbnb результат вирішують ваші історії про культуру. Справжні історії, з іменами та пережитими вами моментами.
Пам'ятаю, як розповів їй про відмову. Вона не вимовила нічого секунд п'ять. Я зрозумів це як: «я ж тебе попереджала». І вона мала повне право сказати це вголос.
Після цього я практично перестав переказувати цю історію. Мені не хотілося знову її проживати, та й не дуже цікавило. Я просто лютився на себе за те, що прийшов із дванадцятьма відшліфованими історіями, серед яких не було жодної про приналежність. А вона ж прямо сказала мені, який раунд буде вирішальним. Довелося засвоїти цей урок задорого.
Ready to Ace Your Next Interview?
Join 57,000+ professionals using InterviewMan to get real-time AI assistance during their interviews.

