Ik denk nog altijd vaker terug aan de dag waarop Airbnb me afwees dan goed voor me is.
Het was laat in de middag toen ik na mijn laatste ronde naar buiten liep en twintig minuten in mijn auto bleef zitten, starend naar het stuur. Toen de recruiter de afwijzing voor me uiteenzette, bleek het om een vraag over erbij horen te draaien. Niet om programmeren, niet om system design, maar om een vraag over hoe je iemand het gevoel geeft welkom te zijn in een team.
Ik kwam toen net uit een reeks gesprekken bij Google en behandelde de voorbereiding op het programmeren alsof dat het hele spel was. Ik had twaalf STAR-verhalen uitgeschreven en geoefend. Stuk voor stuk gingen ze over functies opleveren, meningsverschillen aanpakken of technische zaken. Met al die verhalen paraat in mijn hoofd was mijn voorraad voorbeelden het onderdeel waarover ik me het minst druk maakte. Het was ook het eerste onderdeel dat ik had afgerond en daarna nooit meer had geopend.
Precies zoveel aandacht gaf ik aan hun cultuurgesprek. Oefensessies voor programmeren plande ik voortdurend in. Voor het werk grafenproblemen maken en tijdens de lunch video's over system design bekijken was heel gewoon geworden.
Door al dat oefenen keek ik nogal eenzijdig naar de technische rondes. Een oud-teamgenoot plaagde me er zelfs om. Zes maanden van tevoren zei ze steeds dat cultuur in hun eindbespreking even zwaar weegt als programmeren. Ik lachte haar hardop uit. Ze ging niet met me in discussie, maar begon gewoon over iets anders. Zelf dacht ik dat ik alles goed deed.
Ready to ace your next interview?
InterviewMan gives you real-time AI answers during live interviews — undetectable on Zoom, Meet, and Teams.
Try InterviewMan FreeHoeveel opgaven ik ook oefende, ik had één hele ronde over het hoofd gezien. En niet zomaar een ronde. Ik was niet "paranoïde" genoeg geweest om me voor te bereiden op de cultuurinterviewer die aan het eind van het traject op me wachtte.
In die kamer kreeg ik drie vragen en alle drie gingen ze over mensen het gevoel geven dat ze erbij horen. Geen enkel van mijn twaalf verhalen ging over inclusie. Het beste wat ik kon opdiepen was een verhaal over het inwerken van een nieuwe engineer bij mijn vorige werkgever. Terwijl ik het vertelde, wist ik al dat het nergens naar klonk.
"Be a Host" en "Belonging" zijn daar echte kernwaarden, geen kreten voor op een poster, en ik had niets dat ook maar in de buurt van een van beide kwam.
Middelmatige programmeurs die cultuur goed doen krijgen een aanbod, sterke programmeurs die cultuur verprutsen worden afgewezen. Zo had mijn oud-teamgenoot de rekensom aan me uitgelegd. Ik had het afgedaan als een tikje dramatisch doen over haar voormalige werkgever. In werkelijkheid beschreef ze gewoon de beoordeling.
Mijn traject zag er zo uit. Voordat je daar ook maar één mens spreekt, krijg je een HackerRank-test met twee opgaven van gemiddelde moeilijkheid en vijfenveertig minuten de tijd.
Ik kreeg een opgave over arraymanipulatie en een over een binaire boom. Iemand uit een Discord voor een codingbootcamp waarin ik meelees, kreeg in plaats van de boom een graaf. Ze wisselen dus tussen een verzameling vragen.
Ze wilden bovendien echte, werkende code zien en geen pseudocode. Dat verraste me, want ik kwam uit gesprekken bij Google waar alles op een whiteboard bleef staan.
Daarna volgde een gesprek van dertig minuten met de recruiter. Dat was vooral een controle of ik een normaal mens was die de baan werkelijk wilde.
De telefonische screening duurde vijfenveertig minuten. Ik kreeg verbonden componenten met DFS, had de oplossing in ongeveer twintig minuten af en de interviewer hielp me de rest van de tijd met zoeken naar randgevallen. Op een bepaald moment zei ze letterlijk: "you might want to check empty input".
Ik viel bijna van mijn stoel. Bij Google geeft niemand je iets cadeau, of in elk geval heeft niemand daar mij ooit iets cadeau gedaan.
Bij Airbnb gaven ze me onderweg steeds een zetje. Ze tekenden samen met me op het whiteboard. Tijdens system design stond mijn interviewer naast me aan het bord mee te schetsen. Het hele gesprek had iets van samen programmeren. Het programmeerwerk voelde totaal anders dan bij Google, vooral doordat de interviewers echt met me praatten.
De dag van de laatste ronde bestond uit twee programmeerrondes en system design. In de eerste programmeerronde ging het om padsommen in een binaire boom met een dieptebeperking. Dat was te doen en ik weet nog dat ik me op dat moment werkelijk goed voelde.
De tweede opgave ging over het samenvoegen van intervallen bij overlappende reserveringsvensters. De vraag was verpakt als boekingen van gasten die met elkaar botsen en leek zo uit hun productiecode te komen. De moeilijkheid lag tussen gemiddeld en moeilijk. Ik kwam krap uit met de tijd, maar kreeg hem af, en de laatste tien van die vijfenveertig minuten heb ik zitten zweten.
Mijn oud-teamgenoot legde achteraf uit dat ze dit altijd doen. Iedere opgave wordt in Airbnb-taal aangekleed, met boekingen, advertenties, beschikbaarheidsvensters en reserveringen. Daaronder zitten gewoon dezelfde bomen, arrays, grafen en intervallen waarop je al die tijd hebt geoefend. Nergens iets exotisch, tenminste niet in een van mijn rondes.
De opdracht voor system design was "build a booking and listing system" en mijn interviewer bleef nieuwe situaties naar me toegooien. Wat gebeurt er wanneer twee gasten op exact dezelfde seconde dezelfde advertentie boeken? Dat was de eerste. Daarna kwam een host die midden in een boeking niets meer van zich laat horen. Toen volgden de prijssituaties, met prijzen die per week en seizoen veranderen. Ergens daarna raakte ik de tel kwijt. Ze bleef maar doorgaan.
Ready to ace your next interview?
InterviewMan gives you real-time AI answers during live interviews — undetectable on Zoom, Meet, and Teams.
Try InterviewMan FreeIk had me voorbereid met de gebruikelijke YouTube-video's over het ontwerpen van een hotelboekingssysteem. Daarmee kwam ik door misschien veertig procent van wat ze me voorlegde. De rest ging helemaal over het domein van Airbnb en ik zat ter plekke antwoorden te verzinnen.
Algemene voorbereiding van het soort "design Twitter" houdt in die kamer geen stand. Ik kan ook precies aanwijzen waar het misgaat: gelijktijdigheid bij dubbele boekingen en de afhandeling daarvan, toestandsmachines voor host en gast, dynamische prijzen, de werking van hun zoekrangschikking, beschikbaarheidskalenders op grote schaal. In geen enkele YouTube-video die ik had bekeken kwam daar iets van voorbij.
Bij mijn tweede poging pakte ik die ronde anders aan. Eerst het doel in mijn eigen woorden herhalen, vragen stellen om de reikwijdte af te bakenen, zelf redelijke aantallen voorstellen, heel globaal beginnen en vervolgens dieper ingaan op het onderwerp waarin zij het meest geïnteresseerd leek. Beide keren vroeg ze het verst door over dubbele boekingen. Tijdens de tweede poging werd system design mijn favoriete onderdeel van de hele dag. Dat is nogal wat, want juist die ronde had ik de eerste keer verknald. En dan bedoel ik ook echt verknald.
Zelfs de lunch is alleen tussen aanhalingstekens "not scored". In een draad op r/cscareerquestions schreef iemand dat zijn lunchmaatje tijdens de eindbespreking iets over hem had gezegd. Gedraag je dus de hele dag normaal.
Maanden later kwam ik terug voor poging twee en deze keer liet ik InterviewMan tijdens het hele traject meelopen. Het verschil tussen beide pogingen overtuigde me ervan om fulltime aan dit probleem te gaan bouwen.
Het cultuurgesprek begon en InterviewMan had al een verhaal over erbij horen opgehaald uit een eerder gesprek dat ik ermee had gevoerd. Zelf had ik toen nog niet eens door waar de interviewer naartoe wilde. Mijn hele afwijzing was om dat gevoel van erbij horen gegaan. Bij het programmeren stond de DFS-aanpak binnen enkele seconden klaar nadat de opgave verscheen. Bij system design wees het meteen op gelijktijdigheid bij dubbele boekingen, precies het punt waarop mijn interviewer de vorige keer het hardst had doorgevraagd.
We testten de zichtbaarheid in de Dock, de proceslijst en Activity Monitor, zowel met HackerRank als Zoom, en nergens verscheen iets. Twaalf dollar per maand bij een jaarabonnement, zevenenvijftigduizend mensen gebruiken het, meer dan twintig stealthfuncties en geen limiet op sessies. Interview Coder vraagt twee negenennegentig per maand en doet alleen programmeren. Programmeren vormt hier twee van de vijf rondes, de twee die bij Airbnb het minst tellen.
Mijn oud-teamgenoot had letterlijk over alles gelijk. Bij dit bedrijf bepalen cultuurverhalen de uitkomst. Echte verhalen, met namen en momenten die je zelf hebt meegemaakt.
Ik weet nog dat ik haar over de afwijzing vertelde. Ze zei ongeveer vijf seconden lang niets. Ik vatte dat op als "I literally warned you" en ze had alle recht gehad om het hardop te zeggen.
Daarna vertelde ik het verhaal meestal niet meer. Ik wilde er niet opnieuw doorheen en voelde daar ook weinig voor. Ik was vooral woedend op mezelf omdat ik met twaalf gepolijste verhalen was komen opdagen en er niet één over erbij horen ging, terwijl zij me precies had verteld welke ronde ertoe deed. Ik heb het op de dure manier geleerd.
Ready to Ace Your Next Interview?
Join 57,000+ professionals using InterviewMan to get real-time AI assistance during their interviews.

