Wprowadzenie do Spring Framework Wywiad Pytania i odpowiedzi

Spring Framework jest jednym z najczęściej używanych frameworków Java. Podstawowe idee platformy Spring to „Wstrzykiwanie zależności” i „Programowanie zorientowane na aspekt”. Framework Spring jest często stosowany w tradycyjnych aplikacjach Java dodatkowo w celu uzyskania luźnego sprzężenia między całkowicie różnymi elementami poprzez wdrożenie wstrzykiwania zależności, a my będziemy wykonywać zadania przekrojowe, takie jak praca i korzystanie ze sprężynowego wsparcia dla programowania zorientowanego na aspekty. Ponieważ jest to platforma typu open source z dużą ilością zasobów internetowych i aktywnymi członkami społeczności2, co sprawia, że ​​jest to jednocześnie proste i przyjemne.

Oto pełna lista wywiadów ramowych na wiosnę 2019 r. Pytania i odpowiedzi:

Teraz, jeśli szukasz pracy związanej z Spring Framework, musisz przygotować się do pytań do wywiadu Spring Framework 2019. To prawda, że ​​każda rozmowa kwalifikacyjna jest inna w zależności od profilu pracy, ale aby ją wyczyścić, musisz mieć dobrą i jasną wiedzę na temat Spring Framework. Tutaj przygotowaliśmy ważne pytania i odpowiedzi Spring Framework Interview, które pomogą Ci odnieść sukces w rozmowie kwalifikacyjnej. Ta lista pytań jest podzielona na dwie części, które są następujące:

  • Część 1 - Wiosenne ramy Wywiad Pytania (podstawowe)
  • Część 2 - Wiosenne ramy Wywiad Pytania (zaawansowane)

Część 1 - Wiosenne ramy Wywiad Pytania (podstawowe)

Ta pierwsza część obejmuje podstawowe Spring Framework Interview Pytania i odpowiedzi

P1: Jakie są niektóre ważne funkcje i zalety Spring Framework?

Odpowiedź:
Spring Framework składa się z 2 pomysłów w stylu - Dependency Injection i Aspect Oriented Programming.
Niektóre zalety korzystania z Spring Framework to:

  • Zmniejszając bezpośrednie zależności pomiędzy całkowicie różnymi elementami urządzenia, zwykle instrument Spring IoC jest odpowiedzialny za inicjalizację zasobów lub fasoli i wstrzykiwanie ich jako zależności.
  • Pisanie przypadków jednostkowych jest proste w środowisku Spring, ponieważ nasza logika biznesowa nie ma bezpośrednich zależności z rzeczywistymi kategoriami implementacji zasobów. jesteśmy w stanie po prostu napisać rzut oka na konfigurację i wstrzyknąć nasze próbne komponenty do testowania funkcji.
  • Zmniejsza ilość kodu płyty kotła, np. Inicjowanie obiektów, otwieranie / zamykanie zasobów. Preferuję sterty kategorii JdbcTemplate, ponieważ pomaga nam to usunąć cały kod płyty kotłowej, który jest dostarczany z programowaniem JDBC.
  • Struktura Spring jest podzielona na wiele modułów, dzięki czemu nasza aplikacja jest lekka.
  • Framework Spring obsługuje większość opcji Java EE, a nawet więcej. Cały czas pracuje nad nowymi technologiami, na przykład projekt Spring dla Androida, który pomaga nam pisać wyższy kod dla rodzimych aplikacji na Androida. To sprawia, że ​​platforma wiosenna jest całym pakietem i że nie musimy być zmuszani do dbania o zupełnie inne ramy dla różnych potrzeb.

Q2. Co rozumiesz przez wstrzykiwanie zależności?

Odpowiedź:
Wzorzec stylu wtrysku zależności pozwala nam pozbyć się mocno zakodowanych zależności i stworzyć naszą aplikację luźno sprzężoną, rozszerzalną i naprawialną. jesteśmy w stanie zaimplementować wzorzec wstrzykiwania zależności, aby przenieść rozwiązywanie zależności z czasu kompilacji do środowiska wykonawczego.
Niektóre zalety korzystania z Dependency Injection to oddzielenie problemów, redukcja kodu Boilerplate, konfigurowalne elementy i proste testowanie jednostkowe.

Przejdźmy do następnych wiosennych pytań do wywiadu.

P3: Jakie są zalety korzystania z pakietu Spring Tool Suite?

Odpowiedź:
Możemy zainstalować wtyczki w Eclipse, aby korzystać ze wszystkich opcji pakietu Spring Tool Suite. Dostarczane jest z niezbędnymi rzeczami, takimi jak wsparcie adeptów, szablony do tworzenia różnych rodzajów Springów mają wyższą wydajność dzięki aplikacjom Spring.
Podoba mi się STS, ponieważ podkreśla elementy sprężyste, a jeśli używasz punktów AOP i porad, to wyraźnie pokazuje, że sposoby mogą wrócić poniżej dokładnego punktu. dlatego zamiast wkładać wszystko na własną rękę, lubię używać STS po opracowaniu głównie aplikacji opartych na Spring.

P4: Nazwij niektóre z ważnych modułów sprężyn?

Odpowiedź:
Jest to typowe, wiosenne ramy Wywiad Pytania zadawane w wywiadzie. Niektóre z niezbędnych modułów Spring Framework to:

  • Kontekst sprężynowy - do wstrzykiwania zależności.
  • Spring AOP - dla programowania zorientowanego na aspekty.
  • Wiosna DAO - do operacji informacyjnych z wykorzystaniem wzorca DAO
  • Spring JDBC - do obsługi JDBC i DataSource.
  • Spring ORM - obsługa narzędzi ORM, takich jak Hibernacja
  • Moduł siatki sprężynowej - do wykonywania siatek.
  • Spring MVC - Implementacja Model-View-Controller do tworzenia aplikacji sieciowych, usług sieciowych itp.

P5: Co to są argumenty dotyczące aspektów, porad, wycinków, punktów wspólnych i porad w AOP?

Odpowiedź:

Aspekt : Aspekt to kategoria, która wdraża problemy przekrojowe, takie jak zarządzanie działaniami grupowymi. Aspekty są często standardową kategorią zorganizowaną, a następnie zorganizowaną w pliku konfiguracyjnym Spring Bean, lub możemy użyć wsparcia Spring AspectJ, aby zadeklarować kategorię jako Aspekt za pomocą adnotacji @Aspect.

Rada : zaleceniem jest, aby działanie zostało podjęte dla określonego celu, stanowiło część celu. Jeśli chodzi o programowanie, są to sposoby, które stają się martwe, gdy konkretny cel jest osiągnięty dzięki dopasowanemu punktowi orientacyjnemu w aplikacji.

Pointcut : Pointcut to wyrażenia regularne, które są dopasowane do części punktów, aby ustalić, czy zalecenie musi być martwe, czy nie. Pointcut używa zupełnie innych form wyrażeń, które są dopasowane do bycia częścią punktów. Framework Spring używa języka wyrażeń punktowych AspectJ, aby odgrywać kluczową rolę we wszystkich punktach rekomendacji.

Join Point: Bycie częścią celu polega na tym, że szczególnym celem aplikacji, takim jak wykonanie techniki, obsługa wyjątków, ciągle zmieniające się wartości zmiennych obiektu itp. Wiosną AOP bycie częścią punktów jest często wykonywaniem techniki.

Argumenty porad: jesteśmy w stanie przekazywać argumenty w sposób rekomendacji. jesteśmy w stanie użyć wyrażenia args () w punkcie odcięcia, które zostaną zastosowane do dowolnej techniki pasującej do wzorca argumentu. Jeśli mamy tendencję do korzystania z tego, chcemy użyć stałej nazwy w technice rekomendacji, niezależnie od tego, gdzie ustawiony jest rodzaj argumentu.

Część 2 - Wiosenne ramy Wywiad Pytania (zaawansowane)

Rzućmy teraz okiem na zaawansowane pytania do wywiadu w wiosennej ramie.

P6: Jaka jest różnica między Spring AOP a AspectJ AOP?

Odpowiedź:
AspectJ jest standardową implementacją dla programowania zorientowanego na aspekty, podczas gdy Spring wdraża AOP w kilku przypadkach. Główne różnice między Spring AOP i AspectJ to:

  • Wiosenny AOP jest łatwiejszy w użyciu niż AspectJ, ponieważ zwykle nie musimy się martwić o metodę tkania.
  • Spring AOP obsługuje adnotacje AspectJ, dlatego jeśli jesteś biegły w AspectJ, wtedy praca z Spring AOP jest mniej skomplikowana.
  • Spring AOP obsługuje wyłącznie AOP oparte na proxy, dlatego często stosuje się go wyłącznie do wykonywania technik będących częścią punktów. AspectJ obsługuje wszystkie typy skrótów.
  • Jedną z wad Spring AOP jest to, że często stosuje się go wyłącznie do ziaren utworzonych za pomocą Spring Context.

P7. Co to jest Spring Bean?

Odpowiedź:
Każda tradycyjna kategoria Java, która została zainicjowana przez Spring IoC, nosi nazwę Spring Bean. zwykle używamy Spring ApplicationContext, aby wezwać instancję Spring Bean.
Spring IoC zarządza cyklem życia Spring Bean, zasięgami fasoli i wstrzykuje wszelkie potrzebne zależności w obrębie fasoli.

Przejdźmy do następnych wiosennych pytań do wywiadu.

Pytanie 8). Jakie są różne zakresy Spring Bean?

Odpowiedź:
Dla fasoli wiosennej przedstawiono 5 zakresów.

  1. singleton : dla każdej instrumentalności tworzona jest tylko 1 instancja fasoli. może to być domyślny zakres dla ziaren wiosennych. mając na uwadze, że korzystając z tego zakresu, upewnij się, że bób nie ma wspólnych zmiennych instancji, w przeciwnym razie spowodowałoby to problemy z niespójnością informacji, ponieważ nie jest ono bezpieczne dla wątków.
  2. prototyp : instancja zastępcza jest tworzona za każdym razem, gdy żąda się komponentu bean.
  3. żądanie : może być taki sam jak zakres paradygmatu, ale jest przeznaczony do stosowania w aplikacjach sieciowych. dla każdego żądania HTTP tworzona jest zastępcza instancja komponentu bean.
  4. sesja : instrumentalność tworzy zastępczy komponent bean dla każdej sesji HTTP.
  5. sesja międzynarodowa: można to przyzwyczaić do tworzenia globalnych komponentów bean sesji dla aplikacji portletowych.

Spring Framework jest rozszerzalny i że będziemy również produkować własne lunety, ale przez większość dni wydaje się rozsądne z lunetami dostarczonymi przez ramę.

Aby ustawić zakresy fasoli wiosennej, możemy użyć atrybutu „scope” w części fasoli lub adnotacji @Scope dla konfiguracji opartych głównie na adnotacjach.

Aby ustawić zasięg fasoli wiosennej, możemy użyć atrybutu „scope” w elemencie fasoli lub adnotacji @Scope w konfiguracjach opartych na adnotacjach.

Pytanie 9 Jaki jest cykl życia Spring Bean?

Odpowiedź:
To są często zadawane pytania do wywiadu podczas ram wiosennych. Wiosenna fasola jest inicjowana przez wiosenną instrumentalność i wszystkie wstrzykiwane są zależności. po zniszczeniu kontekstu dodatkowo niszczy wszystkie zainicjowane ziarna. Działa to dobrze w większości przypadków, jednak zazwyczaj chcielibyśmy zainicjować alternatywne zasoby lub przeprowadzić pewną walidację przed utworzeniem naszych ziaren, które będą mogły być używane. Szkielet Spring zapewnia wsparcie dla postinicjalizacji i wstępnego niszczenia sposobów w fasolce szparagowej.
Możemy to zrobić na dwa sposoby: poprzez implementację interfejsów InitializingBean i DisposableBean lub użycie atrybutu init-method i destroy-method w konfiguracjach fasoli wiosennej.

P10 Czy Spring Bean zapewnia bezpieczeństwo wątku?

Odpowiedź:
Domyślny zakres komponentu Spring bean to singleton, dlatego będzie tylko 1 instancja na kontekst. co oznacza, że ​​każdy, kto ma zmienną na poziomie kategorii, którą aktualizuje każdy wątek, może powodować niespójne informacje. dlatego w trybie domyślnym ziarna fasoli nie wydają się być bezpieczne dla wątków.
Jesteśmy jednak w stanie zmodyfikować zakres fasoli wiosennej do żądania, paradygmatu lub sesji, aby uzyskać bezpieczeństwo wątków przy wartości wydajności. Jest to decyzja projektowa i potwierdza potrzeby projektu.

Polecany artykuł

Jest to przewodnik po Liście pytań i odpowiedzi na rozmowę Spring Framework, dzięki czemu kandydat może łatwo zlikwidować te pytania. W tym poście przeanalizowaliśmy najważniejsze pytania z wywiadu Spring Framework, często zadawane w wywiadach. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Pytania do wywiadu podczas wiosennego rozruchu
  2. Pytania do wywiadu J2EE
  3. Wywiad OOP PHP Pytania
  4. Pytania do wywiadu maszynopisu
  5. Wiosna a hibernacja: jakie są różnice
  6. Wiosna vs rozpórki: cechy