Ερωτήσεις Συνέντευξης Spring Boot
Από Aaron Cao · Ενημερώθηκε

Περιμένετε ερωτήσεις για autoconfiguration και starters, dependency injection και bean scopes, profiles και εξωτερική διαμόρφωση, Spring Data JPA, REST controllers και exception handling, testing slices, και Actuator. Οι συνεντεύξεις senior προσθέτουν όρια συναλλαγών, caching και πώς συμπεριφέρεται μια υπηρεσία μετά από επανεκκίνηση.
Τι ρωτούν οι συνεντευκτές για το autoconfiguration και τα starters;
Πιθανότατα χρησιμοποιείτε το Spring Boot καθημερινά χωρίς να διαβάζετε το startup log του, και οι συνεντευκτές το ξέρουν, γι' αυτό ξεκινούν από εδώ. Αυτή η ενότητα καλύπτει ερωτήσεις που ελέγχουν αν καταλαβαίνετε το framework ή μόνο τις προεπιλογές του.
- Τι ακριβώς συνδυάζει το
@SpringBootApplication, και τι θα χαλούσε αν αφαιρούσατε ένα μέρος; - Πώς αποφασίζει το autoconfiguration τι να διαμορφώσει, και τι ρόλο παίζουν τα conditional annotations;
- Τι είναι ένα starter, και τι περιέχει πέρα από dependencies;
- Πώς κάνετε override ή απενεργοποιείτε ένα συγκεκριμένο autoconfiguration;
- Από πού προέρχεται ένας embedded server, και πώς θα τον αντικαθιστούσατε;
Μια καλή απάντηση συνδέει τον μηχανισμό με κάτι που κάνατε πραγματικά: ένα bean που χρειάστηκε να κάνετε exclude, ένα starter που αντικαταστήσατε, ή ένα startup σφάλμα που εντοπίσατε μέσω του condition evaluation report.
Ποιες βασικές ερωτήσεις για container και δεδομένα προκύπτουν;
- Dependency injection. Constructor έναντι field injection, γιατί προτιμάται το constructor injection, και πώς επιλύετε δύο υποψήφια beans του ίδιου τύπου.
- Κύκλος ζωής και scopes bean. Γιατί το singleton είναι η προεπιλογή, πότε είναι σωστό το request ή prototype scope, και τι κάνει επικίνδυνο τον διαμοιρασμό ενός singleton bean.
- Διαμόρφωση. Προτεραιότητα property, profiles ανά περιβάλλον, και
@ConfigurationPropertiesέναντι διάσπαρτου value injection. - Spring Data JPA. Παράγωγες μέθοδοι query, το πρόβλημα N συν 1, lazy έναντι eager fetching, και πότε να καταφύγετε σε native query.
- Συναλλαγές. Τι πραγματικά υποκλέπτει το proxy του
@Transactional, γιατί μια self-invocation παρακάμπτει σιωπηλά τη συναλλαγή, και πώς λειτουργούν οι κανόνες rollback με checked exceptions.
Η ερώτηση για το proxy συναλλαγών είναι το πιο συνηθισμένο σημείο όπου μια σίγουρη απάντηση καταρρέει, οπότε να είστε έτοιμοι να εξηγήσετε το όριο του proxy αντί απλώς να αναφέρετε το annotation.
Πώς μιλάτε για σχεδιασμό REST, testing και λειτουργίες;
Πέρα από το container, οι συνεντευκτές θέλουν να δουν τα κομμάτια που εμφανίζονται στην παραγωγή. Στο web layer: επιλογές status code, validation, και κεντρικοποιημένη διαχείριση σφαλμάτων με @ControllerAdvice αντί για try-catch σε κάθε controller. Στο testing: η διαφορά μεταξύ ενός πλήρους @SpringBootTest και ενός slice όπως ένα web-layer test, και γιατί η εκκίνηση ολόκληρου του context για ένα μόνο controller test είναι μια αργή συνήθεια. Στις λειτουργίες: τι εκθέτει το Actuator, ποια endpoints δεν πρέπει να είναι δημόσια, και πώς τα health checks τροφοδοτούν ένα deployment.
Φανταστείτε μια backend μηχανικό που κάνει συνέντευξη για ρόλο mid-level σε εταιρεία logistics. Τη ρωτούν γιατί μια προγραμματισμένη job έγραφε μερικές φορές ελλιπή δεδομένα. Αντί να μαντέψει, εξηγεί το όριο της συναλλαγής, παρατηρεί ότι η job καλούσε μια transactional μέθοδο πάνω στον εαυτό της, και εξηγεί τη συμπεριφορά του proxy που το παρέκαμψε. Ο συνεντευκτής προχώρησε κατευθείαν σε συζήτηση για προσφορά, επειδή η απάντηση έδειχνε συνήθεια debugging αντί για απομνημονευμένο ορισμό.
Τα σετ ερωτήσεων για άλλες γλώσσες και frameworks συγκεντρώνονται στο question banks.
Πώς πρέπει να εξασκείστε, και πού ταιριάζει ένας live βοηθός;
Διαβάστε μία φορά το startup log της δικής σας υπηρεσίας και μπορέστε να το αφηγηθείτε. Έπειτα εξασκηθείτε δυνατά, γιατί το χάσμα μεταξύ του να γνωρίζετε μια έννοια και του να την εξηγείτε σε σαράντα δευτερόλεπτα είναι αυτό που κρίνει αυτές τις συνεντεύξεις. Ένας AI συνεντευκτής στη σελίδα /mock-interview μπορεί να κάνει τις follow-up ερωτήσεις που δεν θα κάνατε στον εαυτό σας.
Κατά τη διάρκεια μιας προφορικής video συνέντευξης, το SubcueAI μεταγράφει την ερώτηση του συνεντευκτή και εμφανίζει μια προτεινόμενη δομή στην πλευρά σας, στο desktop overlay σε macOS και Windows ή στο πλαϊνό panel της επέκτασης browser Chromium. Κανένα meeting bot δεν συμμετέχει στην κλήση, και τίποτα δεν εγχέεται στη σελίδα της συνάντησης. Το ειλικρινές όριο είναι ο γύρος coding: αν μεταφερθεί σε πλατφόρμα με screen monitoring ή proctoring, η live βοήθεια είναι εκτός εμβέλειας, και αν μοιραστείτε την οθόνη σας, όλα όσα υπάρχουν πάνω της είναι ορατά.
Συχνές ερωτήσεις
Ποια είναι η διαφορά μεταξύ Spring και Spring Boot;
Γιατί προτιμάται το constructor injection;
Τι είναι το πρόβλημα N συν 1;
Ποια endpoints Actuator είναι επικίνδυνο να εκθέσετε;
Πόσο βαθιά φτάνουν οι ερωτήσεις Spring Boot για ρόλους senior;
Σχετικές ερωτήσεις
- Ποιες ερωτήσεις συνέντευξης για Databricks να περιμένω;
- Ποιες ερωτήσεις συνέντευξης .NET να περιμένω;
- Ποιες ερωτήσεις συνέντευξης μηχανικού ποιότητας να περιμένω;
- Τι ερωτήσεις να περιμένω σε μια quant συνέντευξη;
- Ποιες ερωτήσεις συνέντευξης Snowflake να περιμένω;
- Ποιες ερωτήσεις να περιμένω σε συνέντευξη εκπαιδευτικού;