Facebook softwarový inženýr rozhovor: jediný příspěvek, musíte číst

Praxe 1-na-1 s ex-tazatelů z Facebook. Další informace.

kódování rozhovorů na Facebook jsou opravdu náročné. Otázky jsou obtížné, specifické pro Facebook, a pokrývají širokou škálu témat.

dobrou zprávou je, že správná příprava může mít velký vliv a může vám pomoci přistát práci softwarového inženýra na Facebook. Sestavili jsme dokonalého průvodce, který vám pomůže maximalizovat vaše šance na úspěch.

Zde je přehled toho, co se budeme zabývat:

  • Proces a harmonogram
  • Příklad otázky
    • Kódování rozhovoru
    • návrh Systému rozhovoru
    • Behaviorální rozhovor
  • Příprava tipy

1. Proces rozhovoru a časová osa

1.1 jaké rozhovory lze očekávat

jaký je proces pohovoru a časová osa softwarového inženýrství Facebook? V průměru to trvá čtyři až osm týdnů a následuje tyto kroky:

  1. Životopis, průvodní dopis a doporučení
  2. Náborář displej telefonu: jeden rozhovor
  3. Technické displej telefonu: jeden nebo dva rozhovory
  4. na Místě: čtyři až šest rozhovorů

Pojďme se podívat na každý z těchto kroků podrobněji níže:

1.1.1 Náborář displej telefonu

Ve většině případů, začnete váš proces rozhovor s Facebook tím, že mluví do HR náborář na telefonu. Chtějí potvrdit, že máte šanci získat práci vůbec, takže buďte připraveni vysvětlit své pozadí a proč jste na Facebook dobře fit. Měli byste očekávat typické chování a pokračovat v otázkách jako: „Řekni mi o sobě“, “ proč Facebook?“, nebo “ řekněte mi o svém aktuálním každodenním vývoji jako vývojáři.“

pokud se dostanete přes tuto první obrazovku HR, náborář vám pomůže naplánovat vaše první technické obrazovky pomocí inženýra Facebook. Jedna skvělá věc, o Facebook je, že jsou velmi transparentní o jejich náborový proces. Váš HR kontakt vás proto provede zbývajícími kroky v procesu náboru, a také se s vámi podělí o užitečné zdroje se seznamem e-mailů, které můžete použít k přípravě.

1.1.2 Technická obrazovka telefonu

projdete jednou nebo dvěma počátečními 45mins technickými obrazovkami, které se obvykle dějí po telefonu. Vaši tazatelé začnou s několika behaviorálními otázkami, ale většinu času strávíte na typických kódovacích otázkách (např.)

budete používat jednoduchý online editor kódu bez zvýraznění syntaxe nebo automatického doplňování pro tyto telefonní rozhovory (např.

a konečně, pokud žijete v blízkosti kanceláře Facebook a jste opravdu motivováni připojit se ke společnosti, můžete požádat o vstup na místo pro počáteční obrazovky. Váš náborář to obvykle rád zorganizuje za vás, protože je to lepší zážitek jak pro vás, tak pro vaše tazatele.

1.1.3 Onsite rozhovory

Onsite rozhovory jsou skutečným testem. Obvykle strávíte celý den v kanceláři Facebook a celkem uděláte čtyři až šest rozhovorů. Každý rozhovor bude trvat asi 45 minut a pokrytí jednoho z následujících témat:

  1. Kódování rozhovoru, kde budete řešit obecné kódování otázky, které bude obvykle těžší než v původní technické obrazovce.
  2. Design interview, kde budete dotázáni na otázku návrhu systému nebo produktu v závislosti na vašem pozadí.
  3. behaviorální rozhovor, kde můžete očekávat otázky týkající se vašeho pozadí, úspěchů a motivace pracovat na Facebook.

obvykle získáte tři kódovací rozhovory, jeden designový rozhovor a jeden behaviorální rozhovor. Ale jak budeme diskutovat v další části, přesné rozdělení se bude lišit v závislosti na roli, týmu a úrovni, o kterou se ucházíte.

Kromě těchto rozhovorů budete mít také oběd s kolegou inženýrem, když jste na místě. Rozhovor na oběd má být vaším časem klást otázky o tom, jaké to je pracovat na Facebook. Společnost vás během této doby nebude hodnotit,ale doporučujeme, abyste se chovali, jako by byli.

1.2 Rozdíly mezi úrovněmi a role

proces, který jsme popsali výše, se bude mírně lišit v závislosti na jaké úrovni a roli, kterou jste rozhovor pro. Zde jsou některé z nejčastějších rozdílů, které byste měli očekávat.

1.2.1 Junior vs Senior software engineers

očekávání juniorských a vyšších inženýrů jsou různá.

pokud jste entry-level / junior inženýr budete očekávat, že dělat velmi dobře v kódování rozhovory. Obvykle však budete mít pouze jeden pohovor o návrhu systému, kde bude výkonnostní lišta nižší než u vyšších kandidátů.

pokud jste senior inženýr pak budete oba muset dělat velmi dobře v kódování a návrh systému rozhovory. V určitých situacích můžete mít také dva rozhovory s návrhem systému místo jednoho (např.

1.2.2 jednotliví přispěvatelé vs manažeři

Facebook má dvě Kariérní stopy. Můžete buď vyrůst do manažera, kde skončíte vedoucí týmy inženýrů (management track). Nebo můžete zůstat velmi praktické technicky a specializovat se, jak se stanete více senior (individuální přispěvatel track).

pokud pohovoříte jako individuální přispěvatel, měli byste očekávat hlavně technické rozhovory a obvykle budete mít pouze jeden behaviorální rozhovor.

pokud pohovoříte jako manažer, ředitel nebo vyšší, měli byste očekávat alespoň dva behaviorální rozhovory. Buďte připraveni odpovědět na otázky o tom, jak rozvíjet lidi, pracovat s cross funkční týmy, provádět na projektech, růst organizace, atd.

1.3 Co se děje v zákulisí

váš náborář vede proces a vezme vás z jedné fáze do druhé. Tady je to, co se děje v zákulisí, v každé z etap je popsáno výše:

  • Po Technické displej telefonu, tazatelé jste mluvil, mají 24 hodin, aby předložily své hodnocení a poznámky do interního systému. Váš náborář poté zkontroluje zpětnou vazbu, a rozhodne se vás přesunout na pohovor na místě nebo ne v závislosti na tom, jak dobře jste udělali.
  • Po Místě, čtyři až šest tazatelů bude doporučení na najímání vás, nebo ne a náborář sestavuje svůj „balíček“ (rozhovor zpětnou vazbu, životopis, doporučení, atd.) Pokud si myslí, že můžete získat práci, předloží váš případ na příštím setkání s hodnocením kandidátů.
  • schůzky s recenzemi kandidátů se používají k posouzení všech kandidátů, kteří nedávno dokončili smyčky pohovoru a jsou blízko k získání nabídky. Váš paket bude analyzován a budou projednány možné obavy. Vaše tazatelé jsou vyzváni, aby se připojili k vaší kandidáta přezkumné jednání, ale obvykle jen zúčastnit, pokud existuje silný nesouhlas v známky, které jste obdrželi (např. č. 2 najme, 2 najímá). Pokud se po diskusích tým stále nemůže dohodnout, zda byste měli dostat nabídku nebo ne, můžete být požádáni o následný rozhovor k urovnání debaty. Na konci schůze o přezkoumání kandidáta je doporučení k pronájmu / bez pronájmu předloženo k posouzení náborovým výborem.
  • náborový výbor zahrnuje vedoucí představitele z celého Facebook. Tento krok je obvykle formalitou a Výbor se řídí doporučením hodnotící schůze kandidátů. Hlavní důraz je kladen na doladění přesné úrovně, a proto Vám bude nabídnuta kompenzace.

je také důležité si uvědomit, že najímání manažerů a lidí, kteří vás odkazují, má malý vliv na celkový proces. Mohou vám pomoci získat rozhovor na začátku, ale to je o tom.

2. Příklad otázky

Tady v IGotAnOffer, věříme, že v data-řízený rozhovor příprava a použili Glassdoor údaje k identifikaci typů otázek, které jsou nejčastěji kladené na Facebook.

Pro kódování rozhovorů, jsme se člení na otázky, budete dotázáni, do podkategorií (např. Pole / Struny, Grafy / Stromy, atd.), abyste mohli při přípravě upřednostnit ty nejčastější. Pro návrh systému a behaviorální otázky, sepsali jsme 10 otázek, například, které byly často hlášeny na Glassdoor.

2.1 Kódování rozhovoru

Facebook softwarový inženýr rozhovor otázky

Facebook softwarových inženýrů řešit některé z nejobtížnějších problémů se společnost potýká s kódem. Je proto nezbytné, aby měli silné dovednosti při řešení problémů. Toto je část rozhovoru, kde chcete ukázat, že přemýšlíte strukturovaným způsobem a píšete kód, který je přesný, bez chyb a rychlý.

zde jsou nejčastější typy otázek kladené v rozhovorech s kódováním Facebook a jejich četnost. Vezměte prosím na vědomí, že níže uvedený seznam nezahrnuje otázky týkající se návrhu systému a chování, které se zabýváme v následujících částech.

  1. Pole / Strings (38% otázek, nejčastější)
  2. Grafy / Stromy (29%)
  3. Dynamické Programování (18%)
  4. Vyhledávání / Sort (9%)
  5. Propojené seznamy (4%)
  6. Komíny / Front (2%, nejméně častý)

Jsme také uvedeny nejčastější příklady použité na Facebook pro tyto různé typy otázek níže. Abychom tyto otázky snáze studovali, upravili jsme frázování tak, aby odpovídalo nejbližšímu problému v Leetcode nebo jiném zdroji, a propojili jsme se s bezplatným řešením.

nakonec doporučujeme přečíst si následující článek napsaný bývalým tazatelem Facebook, abyste pochopili více o postupném přístupu, který byste měli použít k řešení otázek kódování.

příklad kódování otázky kladené Facebook

1. Pole / Strings (38% otázek, nejčastější)

  • „Vzhledem k tomu, pole nums n celých čísel, kde n > 1, vrátí pole output takové, že output se rovná součinu všech prvků nums s výjimkou nums.“(Řešení)
  • “ vzhledem k neprázdnému řetězci s můžete smazat maximálně jeden znak. Posuďte, zda z něj můžete udělat palindrom.“(Řešení)
  • next permutation, které přeskupuje čísla do lexikograficky další větší permutace čísel.“(Řešení)
  • “ vzhledem k řetězci S a řetězci T najděte minimální okno v S, které bude obsahovat všechny znaky v T ve složitosti O (n).“(Řešení)
  • “ vzhledem k řadě řetězců strs seskupte přesmyčky dohromady.“(Řešení)
  • “ daný řetězec s obsahující pouze znaky ‚(‚, ‚)‘, ‚{‚, ‚}‘, „, určete, zda je vstupní řetězec platný.“(Řešení)
  • “ vzhledem k poli nums n celých čísel existují prvky a, b, c v nums takové, že A + b + c = 0? Najděte všechny jedinečné trojčata v poli, které dává součet nuly.“(Řešení)

2. Grafy / Stromy (29%)

  • „Vzhledem k root uzel binárního vyhledávacího stromu, vrátí součet hodnot všech uzlů s hodnotou mezi L a R (včetně).“(Řešení)
  • “ vzhledem k binárnímu stromu jej převeďte na kruhový dvojitě propojený seznam (na místě).“(Řešení)
  • “ implementujte iterátor přes binární vyhledávací strom (BST). Váš iterátor bude inicializován kořenovým uzlem BST.“(Řešení)
  • “ vzhledem k binárnímu stromu musíte vypočítat délku průměru stromu.“(Řešení)
  • „Serializaci a deserializaci binární strom“ (Řešení)
  • „Vzhledem k tomu, binární strom, najít cestu maximální částku.“(Řešení)
  • “ vzhledem k tříděnému slovníku (pole slov) cizího jazyka najděte pořadí znaků v jazyce.“(Řešení)
  • „zkontrolujte, zda je daný graf bipartitní nebo ne“ (řešení)

3. Dynamické Programování (18%)

  • „seznam non-záporná čísla a cíl celé číslo k, napsat funkci, zkontrolujte, zda pole má spojité pole velikosti alespoň 2, které shrnuje do několika z k, který je, částky až n*k, kde n je také celé číslo.“(Řešení)
  • „Řekněme, že máte pole, pro které je i-tý prvek je cena dané akcie na den, kdy jsem. Pokud jste pouze povoleno dokončit maximálně jedna transakce (tj., jeden koupit a prodat jednu akcii akcie), navrhnout algoritmus pro nalezení maximálního zisku.“(Řešení)

  • „Vzhledem vstupní řetězec (s) a vzor (p), implementují regulární výraz odpovídající s podporou pro '.' a '*'.“(Řešení)
  • “ dostanete seznam nezáporných celých čísel, a1, a2, …, an a cíl, s. Nyní máte 2 symboly + a -. Pro každé celé číslo byste měli vybrat jeden z + a - jako nový symbol. Zjistěte, kolik způsobů, jak přiřadit symboly, aby se součet celých čísel rovnal cíli s. “ (řešení)

4. Hledat / Třídit (9%)

  • „v letadle máme seznam points. Najděte K nejbližší body k původu (0, 0).“(Řešení)
  • “ vzhledem ke dvěma polím napište funkci pro výpočet jejich průniku.“(Řešení)
  • “ vzhledem k řadě časových intervalů schůzek sestávajících z časů začátku a konce ,,…] najděte minimální počet požadovaných konferenčních místností.“(Řešení)

5. Propojené seznamy (4%)

  • „propojený seznam je uveden tak, že každý uzel obsahuje další náhodný ukazatel, který by mohl ukazovat na libovolný uzel v seznamu nebo null. Vraťte hlubokou kopii seznamu.“(Řešení)
  • “ vzhledem k jedinému propojenému seznamu L: L0?L1?…?Ln-1?Ln, objednejte si to na: L0?Ln?L1?Ln-1?L2?Ln-2?… „(Řešení)

6. Zásobníky / fronty (2%)

  • „implementujte následující operace fronty pomocí zásobníků.“Poznámka: Další podrobnosti naleznete na následujícím odkazu. (Řešení)

2.2 návrh Systému rozhovoru

Facebook, Instagram a Whatsapp všichni 1+ aktivních uživatelů měsíčně. Inženýři společnosti Facebook proto musí být schopni navrhnout vysoce škálovatelné systémy. Kódovací otázky, které jsme popsali výše, mají obvykle jediné optimální řešení. Otázky týkající se návrhu systému, které vám budou položeny, jsou však obvykle otevřenější a cítí se spíše jako diskuse.

Toto je část rozhovoru, kde chcete ukázat, že můžete být kreativní i strukturovaní současně. Většinou, váš tazatel přizpůsobí otázku vašemu pozadí. Pokud jste například pracovali na produktu API, požádají vás o návrh API. Ale to nebude vždy případ, takže byste měli být připraveni navrhnout jakýkoli typ produktu nebo systému na vysoké úrovni.

jak již bylo zmíněno dříve, pokud jste junior developer očekávání bude nižší pro vás, než pokud jste střední úrovni nebo senior. Navíc pro určité role (např. infrastruktura, bezpečnost atd.).) pravděpodobně budete mít několik rozhovorů o návrhu systému místo jednoho.

zde jsou nejčastější otázky týkající se návrhu systému položené ve zprávách Facebook interview, které najdete na Glassdoor. Pro více informací doporučujeme přečíst si následující příručku o tom, jak odpovědět na otázky návrhu systému, a procvičit si otázky návrhu systému v tomto kurzu.

Top 10 návrh systému otázek na Facebook

  • Jak by se vám design Instagram / Instagram Příběhy
  • Jak by se vám design Facebook
  • Jak by se vám design Facebook Messenger
  • Jak by se vám design Facebook je živé aktualizace, komentáře na příspěvky
  • Jak by se ti navrhovat on-line kolaborativní editor (například Google Docs)
  • Jak byste navrhnout typehead funkce (např. Google search autocomplete)
  • Jak by se vám design Twitter trending topics
  • Jak byste navrhnout distribuovaný Botnet
  • Jak byste navrhnout systém, který dokáže zpracovat milióny karetních transakcí za hodinu
  • Jak byste navrhnout zabezpečení pro Facebook firemní síť od nuly (Bezpečnostní tým rozhovor)

2.3 Behaviorální rozhovor

Facebook inženýři obvykle pracují v cross-funkční týmy s jinými inženýři, produktoví manažeři, návrháři, data analytici, atd. Musí být schopni jasně komunikovat, efektivně pracovat s ostatními, Budovat důvěru a vztahy atd.

Toto je část rozhovoru, kde opravdu chcete ukázat,že jste dobří v práci s ostatními. Jak jsme již zmínili, pokud se ucházíte o pozici manažera nebo vyšší, budete mít několik behaviorálních rozhovorů a také se budete zabývat tématy, jako jsou vedoucí týmy, rozvoj talentů,každodenní správa atd.

níže uvádíme deset častých behaviorálních otázek, které má Facebook tendenci klást, podle údajů Glassdoor. Pro více informací, Podívejte se na naše články o tom, jak odpovědět na otázky týkající se behaviorálního rozhovoru a “ proč Facebook?“ otázka.

Top 10 behaviorální otázky kladené na Facebook

  • řekněte mi o sobě
  • proč Facebook?
  • Řekni mi něco o poslední / oblíbené projektu a některé obtíže, se kterými jste měli
  • Pověz mi o to největší úspěch vaší kariéry
  • Řekni mi o době, kdy jste se snažil pracovat s jedním z vašich kolegů
  • Řekni mi něco o době, kdy jste museli řešit konflikty v týmu,
  • Řekni mi o době, kdy jste dostali zpětnou vazbu, že byl konstruktivní
  • Řekni mi o době, kdy jste museli vystoupit a převzít odpovědnost za ostatní
  • Řekni mi o době, kdy jste bojovala na jedné z vašich softwarových projektů
  • Pověz mi o svém nejhorším šéfem a proč byli špatní

3. Jak se připravit

Nyní, když víte, jaké otázky můžete očekávat, Zaměřme se na to, jak se připravit. Není žádným tajemstvím, že výkonnostní bar na Facebook je vysoká. Někteří lidé dokonce jdou tak daleko, že opustí svou práci, aby se připravili na rozhovory na plný úvazek.

to je samozřejmě extrémní a ne to, co doporučujeme dělat, ale ukazuje to, kolik úsilí jsou někteří kandidáti připraveni vynaložit. Níže uvádíme čtyři kroky, které doporučujeme podniknout k co nejefektivnější přípravě.

3.1 Dozvědět se o Facebook kultury

Většina kandidátů nepodaří udělat. Ale než investovat desítky hodin přípravou na pohovor na Facebook, měli byste nějaký čas trvat, aby se ujistil, že je skutečně pravá společnost pro vás.

Facebook je prestižní, a proto je lákavé tento krok zcela ignorovat. Ale podle našich zkušeností, prestiž sama o sobě nebude dělat radost ze dne na den. Je to typ práce a lidé, se kterými pracujete, budou.

pokud znáte inženýry, kteří pracují na Facebook nebo tam pracovali, je dobré s nimi mluvit, abyste pochopili, jaká je kultura. Kromě toho doporučujeme přečíst si o základních hodnotách Facebook 5 a kultuře hackerů.

3.2 praxe sami

jak bylo uvedeno výše, budete mít tři typy rozhovorů na Facebook: kódování, návrh systému a chování. Prvním krokem vaší přípravy by mělo být oprášit tyto různé typy otázek a procvičit si jejich zodpovězení sami.

Pro kódování rozhovorů, doporučujeme přečíst následující článek napsal ex-Facebook tazatel pochopit, více o tom, krok-za-krokem přístup, měli byste použít k vyřešení kódování otázky v rozhovoru.

A do praxe, doporučujeme používat Leetcode, kde můžete získat hodně udělat s Free tier, a také přístup na Facebook-specifické otázky pomocí Premium tier.

pro rozhovory o návrhu systému doporučujeme prostudovat si průvodce rozhovorem o návrhu systému. Příručka zahrnuje postupnou metodu pro zodpovězení otázek návrhu systému a poskytuje několik příkladných otázek s řešeními.

pro behaviorální rozhovory doporučujeme naučit se naši podrobnou metodu, jak odpovědět na tento typ otázky. Kromě toho budete chtít zapsat své odpovědi na běžné otázky týkající se chování, které jsme uvedli v předchozí části.

konečně, skvělý způsob, jak procvičit kódování, návrh systému a behaviorální otázky, je rozhovor sami nahlas.

může to znít divně, ale výrazně to zlepší způsob, jakým sdělujete své odpovědi během rozhovoru, a skutečně změní naše zkušenosti. Hrajte roli kandidáta i tazatele, kladení otázek a odpovídání na ně, stejně jako dva lidé v rozhovoru.

3.3 praxe s vrstevníky

cvičení sami vás zavede jen tak daleko. Jednou z hlavních výzev kódování rozhovorů je muset sdělit, co děláte, jak to děláte. Jako výsledek, důrazně doporučujeme procvičovat živé kódovací rozhovory s vrstevníkem, který vás vede.

skvělé místo, kde začít, je cvičit s přáteli, pokud můžete. Pokud nemáte někdo ve vaší síti, kteří mohou vyslechnout, pak můžete také najít vrstevníky cvičit s na platformách, jako je Pramp.

3.4 praxe s bývalými tazateli

hlavní výhodou cvičení s vrstevníky je, že je zdarma. Ale v určitém okamžiku si začnete všímat, že zpětná vazba, kterou dostáváte od vrstevníků, vám už tolik nepomůže. Jakmile dosáhnete této fáze, doporučujeme cvičit s bývalými tazateli od špičkových technologických společností.

pokud znáte softwarového inženýra, který má zkušenosti s rozhovory na Facebook nebo jiné velké technologické společnosti, pak je to fantastické. Ale pro většinu z nás, je těžké najít správná spojení, aby se to stalo. A může být také obtížné trénovat s touto osobou několik hodin, pokud je opravdu dobře neznáte.

zde je dobrá zpráva. Už jsme pro vás navázali spojení. Vytvořili jsme koučovací službu, kde si můžete procvičit 1 na 1 s bývalými tazateli z předních technologických společností, jako je Facebook. Zjistěte více a začněte plánovat relace ještě dnes.

SWE Interview Coaching

jakékoli dotazy týkající se rozhovorů se softwarovým inženýrem Facebook?

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.