Otázky na Pohovor pro Backend Developera: Co Se Ptají

Autor: Aaron Cao · Aktualizováno

Otázky na Pohovor pro Backend Developera: Co Se Ptají
Pohovory na backend se soustředí do pěti oblastí: návrh API, databáze a datové modelování, cachování a výkon, konkurence a spolehlivost, a kolo návrhu systému, obvykle spolu s programovacím cvičením. Tazatele méně zajímá, jaké nástroje jmenujete, a víc to, zda umíte vysvětlit kompromisy a popsat incident, který jste odladili.

Pohovory na backend se soustředí do pěti oblastí: návrh API, databáze a datové modelování, cachování a výkon, konkurence a spolehlivost, a kolo návrhu systému, obvykle spolu s programovacím cvičením. Tazatele méně zajímá, jaké nástroje jmenujete, a víc to, zda umíte vysvětlit kompromisy a popsat incident, který jste odladili.

Co pokrývají pohovory na backend developera?

Inzeráty na backend pozice vyjmenovávají desítky technologií a je těžké odhadnout, které z nich pohovor skutečně otestuje. Tato část mapuje oblasti otázek, které se opakují napříč backend pohovory. Stack se liší firma od firmy, ale témata pod povrchem zůstávají stabilní.

  • Návrh API. REST versus RPC, verzování, stránkování, chybové odpovědi, autentizace a idempotency klíče.
  • Databáze a datové modelování. Výběr relační nebo dokumentové databáze, indexy, joiny, transakce, úrovně izolace, dotazy N+1 a bezpečné spouštění migrací schématu.
  • Cachování a výkon. Invalidace cache, expirace, cache stampede a jak byste profilovali pomalý endpoint.
  • Konkurence a spolehlivost. Race conditions, zámky, fronty, timeouty a retry s backoffem.
  • Návrh systému. Zadání jako zkracovač URL, rate limiter nebo notifikační služba.
  • Programování. Datové struktury a praktický problém, obvykle v jazyce podle vlastního výběru.

Kola zaměřená na jazyk a framework jdou hlouběji do konkrétních detailů; centrum bank otázek shromažďuje sady pro Go, Java, Spring Boot, mikroslužby a další.

Jaké otázky o databázích a API se objevují nejčastěji?

Tyto otázky se v nějaké podobě objevují ve většině backend pohovorů. Zkuste na každou odpovědět nahlas do dvou minut:

  • Co se stane, když přidáte index na sloupec, a kdy index naopak škodí?
  • Jaký je rozdíl mezi izolací read committed a serializable, a kdy byste zaplatili za přísnější úroveň?
  • Jak byste našli a opravili dotaz N+1 v ORM?
  • Jak uděláte platební endpoint bezpečný pro opakovaný pokus klienta?
  • Jak stránkujete velkou množinu výsledků, která se mění, zatímco uživatel scrolluje?
  • Kdy byste zvolili dokumentové úložiště místo relační databáze?
  • Jak byste přejmenovali sloupec bez výpadku?

Silná odpověď má pokaždé stejný tvar: uveďte svou výchozí volbu, pojmenujte cenu této volby a popište situaci, kdy by se vaše odpověď změnila. Tazatelé se doptávají právě na tento zlomový případ, takže mějte připravený skutečný příklad.

Jak odpovídat na otázky o návrhu systému a debugování?

U návrhu systému začněte vyjasněním požadavků: kdo službu volá, co se nikdy nesmí ztratit a jaká čtení a zápisy převažují. Pak nakreslete nejjednodušší návrh, který funguje, a cache, fronty nebo sharding přidávejte teprve tehdy, když dokážete říct, který požadavek si to vynucuje.

Otázky na debugování jsou místem, kde se ukáže skutečná zkušenost. Backend engineer, který šel na pohovor na pozici mid-level v platební firmě, dostal otázku, proč se latence endpointu po vydání zdvojnásobila. Místo hádání příčin popsal své kroky: zkontroloval, co se změnilo v deployi, porovnal trace pro pomalou cestu, přečetl si query plan a potvrdil opravu proti stejné metrice latence. Pak to propojil s incidentem pomalého dotazu z předchozí práce a zbytek konverzace se točil kolem toho incidentu, ne kolem nástrojů.

Připravte si dva produkční příběhy před jakýmkoliv backend pohovorem: chybu, kterou jste vystopovali, a designové rozhodnutí, které byste teď udělali jinak.

Jak byste měli trénovat a kam zapadá živý asistent?

Číst odpovědi není totéž jako je vyslovovat. Projděte seznam otázek výše nahlas se stopkami, nebo nechte nástroj pro nácvik pohovoru, aby otázky kladl a doptával se na vágní odpovědi.

Pro samotný živý video pohovor SubcueAI přepisuje tazatele a připravuje strukturované body odpovědi v lokálním překryvu, ať už v desktopové aplikaci na macOS nebo Windows (Zoom, Google Meet, Microsoft Teams), nebo v Side Panelu rozšíření prohlížeče pro hovory na kartě Chrome nebo Edge. Do hovoru se nepřipojuje žádný bot. Nejužitečnější je v konverzačních kolech, jako jsou diskuze o návrhu a otázky o zkušenostech. Programovací kola na sdílené obrazovce, hlídané testy, nahrávané jednosměrné pohovory a firmou spravovaná zařízení jsou mimo to, co dokáže bezpečně pokrýt, a cokoliv sdílíte na obrazovce, je viditelné. Nastavení je na stránce tutorial.

Časté dotazy

Jaké jsou běžné otázky na pohovoru na backend developera?

Otázky na návrh API, databázové indexy a transakce, cachování, konkurenci a retry, zadání návrhu systému jako rate limiter nebo zkracovač URL, a obvykle programovací cvičení.

Zahrnují junior backend pohovory návrh systému?

Často v odlehčené verzi. Junior kandidáti spíš dostanou malý designový úkol, jako navrhnout API pro jednu funkci, než celý distribuovaný systém. Mid-level a senior procesy obvykle zahrnují samostatné kolo návrhu.

Jaký jazyk bych měl použít v programovacím kole na backend?

Ten, ve kterém jste nejplynulejší, pokud inzerát nevyžaduje konkrétní jazyk. Tazatelé hodnotí řešení problémů a srozumitelnost, a boj s neznámou syntaxí stojí čas, který potřebujete na vysvětlování.

Jak se připravit na backend pohovor v krátkém čase?

Upřednostněte otázky o databázích a návrhu API, nacvičte si nahlas jedno zadání návrhu systému od začátku do konce a připravte si dva produkční příběhy: chybu, kterou jste odladili, a designové rozhodnutí, které byste změnili.

Související otázky

← Více o Otázky k pohovoru podle role a tématu