Spring Boot Interjúkérdések

Szerző: Aaron Cao · Frissítve

Spring Boot Interjúkérdések
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.

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 @ConfigurationProperties a 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 @Transactional proxy, 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.

GYIK

Mi a különbség a Spring és a Spring Boot között?

A Spring az alapul szolgáló framework. A Spring Boot opinionated autoconfiguration-t, starter dependency-ket és egy embedded servert ad hozzá, így egy szolgáltatás külső konfigurációs fájlok nélkül fut.

Miért jobb a constructor injection?

Explicitté és kötelezővé teszi a dependency-ket, final állapotban tartja a fieldeket, és lehetővé teszi, hogy tesztben container nélkül építsd fel az objektumot. A field injection runtime-ig elrejti a hiányzó dependency-ket.

Mi az N plusz 1 probléma?

Egy query betölt egy listát, majd minden elem újabb query-t indít el a saját asszociációjához. Javítsd fetch joinnal, entity graph-fal, vagy batch fetchinggel, ahelyett hogy mindent eager módban töltenél be.

Mely Actuator endpointokat kockázatos kitenni?

Bármit, ami felfedi a konfigurációt, a environmentet vagy a heap state-et. A health-et és a metricset a monitoring útvonaladon keresztül tedd elérhetővé, a többit tartsd authentication mögött vagy teljesen kapcsold ki.

Milyen mélyre mennek a Spring Boot kérdések senior szerepeknél?

A senior interjúk az annotationöktől a viselkedés felé mozdulnak: proxy határok, transaction propagation, caching helyessége, startup teljesítmény, és hogyan viselkedik a szolgáltatás egy rolling restart alatt.

Kapcsolódó kérdések

← Több erről: Interjúkérdések szerep és téma szerint