Otázky na Pohovor Spring Boot

Autor: Aaron Cao · Aktualizováno

Otázky na Pohovor Spring Boot
Očekávejte otázky na autoconfiguration a startery, dependency injection a bean scope, profily a externí konfiguraci, Spring Data JPA, REST controllery a zpracování exception, testing slice a Actuator. Senior pohovory přidávají hranice transakcí, caching a jak se služba chová po restartu.

Očekávejte otázky na autoconfiguration a startery, dependency injection a bean scope, profily a externí konfiguraci, Spring Data JPA, REST controllery a zpracování exception, testing slice a Actuator. Senior pohovory přidávají hranice transakcí, caching a jak se služba chová po restartu.

Na co se tazatelé ptají ohledně autoconfiguration a starterů?

Spring Boot pravděpodobně používáte denně, aniž byste četli jeho startup log, a tazatelé to vědí, proto začínají právě tady. Tato sekce pokrývá otázky, které testují, zda rozumíte frameworku, nebo jen jeho výchozím hodnotám.

  • Co přesně spojuje @SpringBootApplication, a co by se rozbilo, kdybyste odstranili jednu část?
  • Jak autoconfiguration rozhoduje, co nakonfigurovat, a jakou roli hrají conditional annotation?
  • Co je starter, a co je v něm kromě dependency?
  • Jak přepíšete nebo vypnete konkrétní autoconfiguration?
  • Odkud pochází embedded server, a jak byste ho vyměnili?

Dobrá odpověď propojuje mechanismus s něčím, co jste opravdu udělali: bean, který jste museli exclude, starter, který jste nahradili, nebo startup chybu, kterou jste vysledovali přes condition evaluation report.

Jaké základní otázky o containeru a datech se objevují?

  • Dependency injection. Constructor versus field injection, proč se preferuje constructor injection, a jak vyřešit dva kandidátní bean stejného typu.
  • Životní cyklus a scope bean. Proč je singleton výchozí, kdy je správný request nebo prototype scope, a co dělá sdílení singleton bean nebezpečným.
  • Konfigurace. Priorita property, profily podle prostředí, a @ConfigurationProperties oproti roztroušenému value injection.
  • Spring Data JPA. Odvozené query metody, problém N plus 1, lazy versus eager fetching, a kdy sáhnout po native query.
  • Transakce. Co skutečně zachytává proxy @Transactional, proč self-invocation tiše obejde transakci, a jak fungují pravidla rollback s checked exception.

Otázka na proxy transakcí je nejčastější místo, kde se sebejistá odpověď rozpadne, takže buďte připraveni vysvětlit hranici proxy, ne jen pojmenovat annotation.

Jak mluvit o návrhu REST, testing a provozu?

Kromě containeru chtějí tazatelé vidět části, které se objevují v produkci. Na web vrstvě: volba status code, validace, a centralizované zpracování chyb pomocí @ControllerAdvice místo try-catch v každém controlleru. V testing: rozdíl mezi plným @SpringBootTest a slice, jako je web-layer test, a proč je spouštění celého contextu kvůli jednomu testu controlleru pomalý zlozvyk. V provozu: co Actuator odhaluje, které endpointy nesmí být veřejné, a jak health check napájí deployment.

Představte si backend inženýrku, která má pohovor na mid-level pozici v logistické firmě. Zeptají se jí, proč naplánovaný job občas zapisoval neúplná data. Místo hádání projde hranicí transakce, všimne si, že job volal transactional metodu sám na sobě, a vysvětlí chování proxy, které to obešlo. Tazatel přešel rovnou k rozhovoru o nabídce, protože odpověď ukazovala zvyk debugování, ne naučenou definici.

Sady otázek pro další jazyky a frameworky jsou shromážděny pod question banks.

Jak byste měli trénovat, a kam patří live asistent?

Přečtěte si jednou startup log vlastní služby a buďte schopni ho vyprávět. Pak trénujte nahlas, protože právě mezera mezi znalostí konceptu a jeho vysvětlením za čtyřicet sekund rozhoduje o těchto pohovorech. AI tazatel na stránce /mock-interview může položit doplňující otázky, které byste si sami nepoložili.

Během mluveného video pohovoru SubcueAI přepisuje otázku tazatele a zobrazuje na vaší straně navrženou strukturu, v desktop overlay na macOS a Windows nebo v postranním panelu rozšíření prohlížeče Chromium. Žádný meeting bot se k hovoru nepřipojuje a do stránky schůzky se nic nevkládá. Poctivá hranice je kódovací kolo: pokud přejde na platformu se sledováním obrazovky nebo proctoringem, live pomoc je mimo rozsah, a pokud sdílíte obrazovku, je na ní vidět úplně vše.

Časté dotazy

Jaký je rozdíl mezi Spring a Spring Boot?

Spring je základní framework. Spring Boot přidává opinionated autoconfiguration, starter dependency a embedded server, takže služba běží bez externích konfiguračních souborů.

Proč se preferuje constructor injection?

Dělá dependency explicitní a povinné, umožňuje mít field final, a dovoluje sestavit objekt v testu bez containeru. Field injection skrývá chybějící dependency až do runtime.

Co je problém N plus 1?

Jedno query načte seznam, pak každý prvek vyvolá další query pro svou asociaci. Opravte to přes fetch join, entity graph, nebo batch fetching místo eager loading všeho.

Které endpointy Actuator je riskantní zveřejnit?

Cokoli odhalující konfiguraci, environment, nebo heap state. Zveřejněte health a metrics přes svou monitoring cestu a zbytek držte za authentication nebo úplně vypněte.

Jak hluboko jdou otázky na Spring Boot pro senior role?

Senior pohovory přecházejí od annotation k chování: hranice proxy, transaction propagation, správnost caching, výkon startu, a jak se služba chová během rolling restart.

Související otázky

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