Spring Boot Interjúkérdések
Szerző: Aaron Cao · Frissítve

Számíts kérdésekre az autoconfiguration és starterek, dependency injection és bean scope-ok, profile-ok és külső konfiguráció, Spring Data JPA, REST controllerek és exception kezelés, testing slice-ok, valamint az Actuator témában. A senior interjúk hozzáadják a tranzakcióhatárokat, a caching-et és azt, hogyan viselkedik egy szolgáltatás újraindítás után.
Mit kérdeznek az interjúztatók az autoconfiguration-ről és a starterekről?
Valószínűleg minden nap használod a Spring Bootot anélkül, hogy olvasnád a startup logját, és az interjúztatók ezt tudják, ezért innen indulnak. Ez a szakasz azokat a kérdéseket öleli fel, amelyek azt tesztelik, érted-e a frameworköt, vagy csak az alapértelmezéseit.
- Mit kapcsol össze valójában a
@SpringBootApplication, és mi romlana el, ha eltávolítanál egy részét? - Hogyan dönti el az autoconfiguration, mit konfiguráljon, és milyen szerepe van a conditional annotationöknek?
- Mi az a starter, és mi van benne a dependency-ken kívül?
- Hogyan írsz felül vagy tiltasz le egy adott autoconfiguration-t?
- Honnan származik egy embedded server, és hogyan cserélnéd le?
Egy jó válasz összeköti a mechanizmust valamivel, amit tényleg csináltál: egy bean-nel, amit ki kellett zárnod, egy starterrel, amit lecseréltél, vagy egy startup hibával, amit a condition evaluation report-on keresztül követtél.
Milyen alapvető container- és adatkérdések merülnek fel?
- Dependency injection. Constructor kontra field injection, miért jobb a constructor injection, és hogyan oldasz fel két azonos típusú jelölt bean-t.
- Bean életciklus és scope-ok. Miért alapértelmezett a singleton, mikor helyes a request vagy prototype scope, és mi teszi kockázatossá egy singleton bean megosztását.
- Konfiguráció. Property elsőbbség, profile-ok környezetenként, és
@ConfigurationPropertiesa szétszórt value injectionnel szemben. - Spring Data JPA. Származtatott query metódusok, az N plusz 1 probléma, lazy kontra eager fetching, és mikor kell native query-hez fordulni.
- Tranzakciók. Mit fog el valójában a
@Transactionalproxy, miért hagyja ki csendben a tranzakciót egy self-invocation, és hogyan működnek a rollback szabályok checked exceptionökkel.
A tranzakció proxy kérdés a leggyakoribb pont, ahol egy magabiztos válasz szétesik, ezért készülj fel arra, hogy a proxy határát magyarázd el, ne csak az annotation nevét mondd.
Hogyan beszélj a REST design-ról, testing-ről és üzemeltetésről?
A containeren túl az interjúztatók azokat a részeket akarják látni, amelyek éles környezetben jelentkeznek. A web rétegen: status code választások, validáció, és centralizált hibakezelés @ControllerAdvice-dzsal try-catch helyett minden controllerben. A testing-nél: a különbség egy teljes @SpringBootTest és egy olyan slice között, mint egy web-layer teszt, és miért lassú szokás egyetlen controller teszthez elindítani a teljes contextet. Az üzemeltetésnél: mit tár fel az Actuator, mely endpointok nem lehetnek nyilvánosak, és hogyan táplálják a health check-ek a deploymentet.
Képzelj el egy backend mérnököt, aki egy logisztikai cég mid-level pozíciójára interjúzik. Megkérdezik tőle, miért írt néha hiányos adatot egy ütemezett job. Találgatás helyett végigmegy a tranzakcióhatáron, megjegyzi, hogy a job saját magán hívott meg egy transactional metódust, és elmagyarázza a proxy viselkedést, ami ezt kihagyta. Az interjúztató egyenesen az ajánlati beszélgetésre tért, mert a válasz debugging szokást mutatott, nem bemagolt definíciót.
Más nyelvek és frameworkök kérdéssorai a question banks alatt vannak összegyűjtve.
Hogyan gyakorolj, és hol van a helye egy live asszisztensnek?
Olvasd el egyszer a saját szolgáltatásod startup logját, és legyél képes elmesélni. Aztán gyakorolj hangosan, mert az a rés, ami egy koncepció ismerete és negyven másodperc alatti elmagyarázása között van, dönti el ezeket az interjúkat. Egy AI interjúztató a /mock-interview oldalon feltehet olyan kiegészítő kérdéseket, amelyeket te magadtól nem tennél fel.
Egy beszélt videointerjú alatt a SubcueAI leírja az interjúztató kérdését, és a te oldaladon egy javasolt struktúrát jelenít meg, a desktop overlay-ben macOS-en és Windowson, vagy a Chromium böngészőbővítmény oldalpaneljében. Semmilyen meeting bot nem csatlakozik a híváshoz, és semmi nem kerül be a meeting oldalába. Az őszinte korlát a kódolási forduló: ha az képernyőfigyelt vagy proctored platformra vált, a live segítség kívül esik a hatókörön, és ha megosztod a képernyődet, minden látható rajta.