top 48 spring interview questions
Листа најчешће постављаних пролећних питања и одговора на интервјуу који ће вам помоћи да се припремите за предстојећи интервју:
У овом чланку ћемо научити о најпопуларнијим и широко коришћеним Спринг Фрамеворк-има. Укључује Спринг Фрамеворк и Спринг МВЦ питања за свеже и искусне професионалце. Међутим, пре него што уђемо дубоко у пролећни део, схватимо шта је оквир и зашто нам је потребан оквир додатно?
Једноставно речено, оквир се може схватити као одређена граница која је већ изграђена да би друге ствари долазиле и акумулирале се да би извршиле одређену акцију.
У софтверској терминологији, Фрамеворк се може дефинисати као одређена апликација која је већ развијена и садржи многе функционалности и функције за подршку било којој апликацији која је у режиму развоја.
Спринг Фрамеворк
Оквир садржи неколико готових класа и компонената, које програмер не мора створити за развој апликације, смањујући тако много сложености кода и чинећи апликацију једноставном за одржавање. Такође штеди време, па се тиме постиже смањење трошкова.
Пролеће Оквир је познат као лаган оквир због своје мале величине и високе ефикасности. Отвореног је кода и самим тим пружа јаку инфраструктуру за развој Јава апликација на једноставан и лак начин. Пружа подршку различитим другим оквирима као што су Хибернате, Струтс, ЕЈБ итд.
Подељен је на одређене модуле за истовремено постизање више ствари. Пролећни модули укључују основни модул, веб модул, модул за интеграцију података, тест модул, АОП модул итд. Сваки модул служи у своје сврхе према захтевима програмера.
У овом чланку ћемо обрађивати све важне теме на пролеће које су важне са становишта интервјуа.
Покриваћемо шта је Спринг Фрамеворк, његове типове модула, концепт убризгавања зависности и инверзију контроле, пасуљ и његов животни циклус, различите домете пасуља, концепт аутоматског повезивања, руковање догађајима у пролеће, пролеће АОП, управљање трансакцијама пролећа , пролећни МВЦ и ток његове архитектуре.
Такође ћемо покрити важне напомене које се користе у различитим модулима опруге и конфигурације, као и о опружном контејнеру.
Овде су објашњени неки примери кода врло важних концепата који ће вам помоћи да објасните на детаљан начин. Дати су додатни линкови који упућују на пример узорка Спринг МВЦ. Објаснили смо концепт диспечерског сервлета на врло истанчан начин.
Овим јасним одговорима од тачке до тачке моћи ћете поуздано да одговорите на већину питања из интервјуа.
Најпопуларнија пролећна питања и одговори на интервјуу
Истражимо најчешће постављана питања за пролећни оквирни интервју са детаљним одговорима и примерима.
разлика између контроле квалитета и осигурања квалитета
П # 1) Шта је оквир? Објасните пролећни оквир.
Одговор: Фрамеворк је већ изграђени софтвер који помаже програмерима да додају више функционалности својим апликацијама користећи већ изграђене класе и библиотеке.
Спринг Фрамеворк је оквир за убризгавање зависности, који помаже програмерима да развијају апликације засноване на Јави. Спринг је оквир отвореног кода за Јава Ентерприсе.
П # 2) Зашто је Пролеће пожељније од осталих оквира?
Одговор: Пролеће је пожељно у односу на остале оквире због следећих карактеристика:
- Веома мале величине и лагане
- Инверзијом контроле помаже у постизању лабаво повезане апликације.
- АОП подршка
- МВЦ оквир
- Добра функција за управљање трансакцијама
- Пролећни контејнер
- Изузетак руковање
П # 3) Категоризирајте различите типове модула у Спринг Фрамеворк-у.
Одговор: Тхе пет главних модула у Спринг Фрамеворк-у је поменуто у наставку:
- Спринг Цоре Цонтаинер који укључује језгро, пасуљ, контекст и језик израза.
- АОП и аспекти.
- Модул за интеграцију података који укључује ЈДБЦ, ОКСМ, ОРМ, трансакцијске модуле итд.
- Веб модул који укључује веб, сервлет, струтс и портлет.
- Тест
П # 4) Објасните пролећну конфигурациону датотеку.
Одговор: КСМЛ датотека садржи све информације о класама заједно са њиховим процесом конфигурације и како су те класе у интеракцији са осталим класама.
П # 5) Објасните концепт убризгавања зависности.
Одговор: Прво, убризгавање значи пренос зависности на било који зависни објекат.
Ињекција зависности је врста дизајнерског обрасца који помаже у развоју слабо повезане апликације. То је имплементација инверзије контроле која помаже у решавању зависности у апликацији.
Избегава стварање самообјеката и више води начин на који објекти треба да се креирају помоћу конфигурација, а затим МОК одлучује које услуге треба да се подударају са којим компонентама.
Ињекција зависности је суштинска карактеристика пролећног оквира.
П # 6) Који су различити типови убризгавања зависности? Објасните им.
Одговор: Постоје две врсте ињекција зависности. Они су следећи:
- Ињектирање зависности на основу конструкције - Постиже се када Спринг контејнер позове конструктор са аргументима и сваки има неку зависност од друге класе.
- Ињекција зависности заснована на Сеттер-у То се постиже када контејнер Спринг позове методу постављања пасуља након позивања конструктора без аргумената за инстанцију граха.
П # 7) Шта је добро користити - зависност заснована на конструктору или сетеру?
Одговор: Обе врсте убризгавања зависности могу се користити у складу са тим на основу ситуације. Правило је палца да се за обавезну зависност користи убризгавање зависности засновано на конструктору, док се за опционалну зависност користи убризгавање зависности засновано на постављачу.
П # 8) Које су предности инверзије контроле?
Одговор: Постоји неколико предности МОК-а и неколико од њих је поменуто у наставку:
- ИОЦ је способан да смањи сложеност кода смањењем кода у апликацији.
- Коришћењем ИОЦ-а у апликацији, тестирање постаје једноставније и једноставније јер није потребно тражење и појединачни прикази.
- Лабаву спрегу постиже ИОЦ, што заузврат чини код одрживијим.
- ИОЦ подржава рано инстанцирање и касно учитавање услуга.
П # 9) Објасните концепт АОП.
Одговор: АОП је скраћеница од Аспецт Ориентед Программинг. То је још један приступ програмирању који помаже програмерима да реструктурирају понашање одговорности попут управљања трансакцијама и евидентирања.
АОП се примењује за унакрсне проблеме, тј. Дефиниција је дата на једном месту и функционално се може користити на многим местима уз помоћ скрипте.
П # 10) Објасните употребу Спринг Цонтаинер-а.
Одговор: То је основни део и окосница Спринг Спринг оквира. Контејнер Спринг помаже у стварању објеката, комбиновању предмета, управљању њиховим конфигурацијама и довршавању животног циклуса стварања, имплементације и уништавања.
Контејнер Спринг користи помоћ Депенденци Ињецтион за управљање компонентама које граде апликацију.
П # 11) Који су различити типови контејнера МОК?
Одговор: ИОЦ контејнер је два типа, као што је поменуто у наставку:
- Фабрика пасуља - То је једноставан контејнер и пружа подршку за убризгавање зависности.
- Спринг АпплицатионЦонтект - То је напредни контејнер који додаје сложене функције попут декодирања текстуалних порука из датотека и способан је да објављује догађаје слушаоцима.
П # 12) Каква је примена контејнера Фабрике пасуља?
Одговор: Класа КсмлБеанФацтори је најважнија имплементација фабрике пасуља и корисна је за читање података из КСМЛ датотека.
П # 13) Шта је примена АпплицатионЦонтект контејнера?
Одговор: Неки од најчешће коришћених контејнера АпплицатионЦонтект укључују ФилеСистемКсмлАпплицатионЦонтект, ЦлассПатхКсмлАпплицатионЦонтект и ВебКсмлАпплицатионЦонтект итд.
П # 14) Шта је пасуљ у пролеће?
Одговор: Спринг Беанс нису ништа друго до једноставни Јава објекти којима управља Спринг контејнер.
Пример:
package com.javaworld; public class Demo { private String message; public void setMessage(String message){ this.message = message; } public void getMessage(){ System.out.println('Display Information: ' + message); } }
П # 15) Које су компоненте у дефиницији Беан-а?
Одговор: У основи, дефиниција зрна садржи конфигурационе метаподатке које користи Спринг контејнер да би сазнао детаље попут, процеса стварања зрна, животног циклуса зрна и зависности зрна.
П # 16) Који су начини на које се метаподаци конфигурације могу пружити Спринг контејнеру?
Одговор: Конфигурацијски метаподаци могу се доставити Спринг Цонтаинер-у на три начина, тј. Путем КСМЛ датотеке конфигурације, конфигурације засноване на напоменама и Јава конфигурације.
П # 17) Која је синтакса додавања зрна у апликацију Спринг?
Одговор: Синтакса:
П # 18) Који су типови опсега пасуља?
Одговор: Опсег пасуља може се дефинисати као појединачни и прототип, захтев, сесија, глобална сесија итд.
- Прототип се декларише када је сваки пут потребна нова инстанца пасуља.
- Синглетон се декларише када се сваки пут користи иста инстанца граха.
- Захтев се користи за опсег ХТТП захтева.
- Сесија се користи за опсег ХТТП сесије.
- Глобал-ХТТП сесија обухваћа грах на глобалну ХТТП сесију.
Syntax:
П # 19) Који је задати опсег пасуља у пролеће? Поред тога, да ли су синхронизовани?
Одговор: Подразумевани опсег пасуља у пролеће је Синглетон. Штавише, они нису синхронизовани, тј. Нису заштићени од нити.
П # 20) Који је животни циклус пасуља у пролеће?
Одговор: Животни циклус пролећног зрна следи одређене кораке, као што је поменуто у наставку:
- Инстанцирање - Пролећни контејнер из КСМЛ датотеке проналази дефиницију граха и тада се беан инстанцира.
- Својства популације - Пролећни контејнер попуњава сва својства наведена у дефиницији пасуља уз помоћ ињекције зависности.
- Постављање имена Беан.
- Постављање фабрике пасуља.
- Претходна иницијализација и иницијализација граха.
- Пост иницијализација пасуља.
- Уништите пасуљ позивањем методе делете ().
П # 21) Како то подразумевате унутрашњи пасуљ?
Одговор: Беан који је дефинисан унутар својства или елемента конструктора назива се унутрашњи беан.
Нису потребни одређени ИД или име за унутрашњи беан, заправо, Спринг контејнер избегава те вредности заједно са дефиницијом опсега. За унутрашњи пасуљ се каже да је анониман и његов опсег је увек дефинисан као прототип.
П # 22) Који су начини за убацивање концепта колекције на пролеће?
Одговор: У основи, постоје четири елемента колекције која се убацују на пролеће.
Су:
- елемент - Ожичује скуп вредности уклањањем дупликата из њих.
- елемент - Корисно је уметати или убризгавати вредности, а такође омогућава дуплиране вредности.
- елемент - Користи се за уметање пара кључ или име-вредност који могу бити било које врсте.
- елемент - Користи се за уметање парова кључ или име-вредност, али врста треба да буде само низ.
П # 23) Објасните концепт аутоматског повезивања.
Одговор: Аутоматско ожичење је суштински концепт у пролећном оквиру. Користи се за имплицитно убризгавање зависности од објекта употребом убризгавања заснованог на постављачу или конструктору. Аутоматско повезивање ради само са референтним типовима, тако да није корисно за убризгавање вредности за примитивне и стрингове.
Најбоља предност аутовире-а је у томе што програмери морају да напишу мање кода јер се аутовире брине о убризгавању зависности. Такође, програмер тада није имао контролу над процесом.
Syntax:
Препоручено читање => Спринг Аутовиред Аннотатион, Спринг Беан Аутовире Бинаме
П # 24) Објасните различите начине аутоматског повезивања.
Одговор: Аутоматско ожичење долази са пет режима који воде пролећни контејнер за употребу функције убризгавања зависности.
- Нема режима - Позвано је као подразумевано подешавање и подразумева онемогућено аутоматско ожичење, а експлицитни грах треба користити за референтно ожичење.
- поименце - Аутоматско повезивање може се извршити према називу својства. Спринг контејнер претражује КСМЛ датотеку конфигурације за грах чији је атрибут аутовире постављен на биНаме.
- биТипе - Аутоматско повезивање може се извршити према типу својства. Спринг контејнер претражује КСМЛ датотеку конфигурације за грах чији је атрибут аутовире постављен на биТипе.
- Градитељ - Скоро је исто и биТипе, али тип је применљив за аргументе конструктора ако у контејнеру није пронађен ниједан тип аргумената конструктора, онда се појављује грешка.
- Аутодетецт - Односи се на понашање пролећа које показује свој приоритет при одабиру. Прво, Спринг бира аутоматско повезивање помоћу конструктора, ако се то не догоди, онда мења приоритет на биТипе.
П # 25) Постоји ли ограничење аутоматског повезивања? Ако јесте, објасните.
Одговор: Да, постоје нека ограничења аутоматског повезивања која су наведена у наставку:
- Увек постоји могућност замене.
- Програмер неће моћи аутоматски да повеже примитивна и Спринг својства.
- Аутоматско ожичење постаје сложено када се користи у великим апликацијама у поређењу са експлицитним ожичењем.
П # 26) Шта је ожичење напомена и како га укључити?
заменили сте подразумевани мрежни пролаз на мрежи
Одговор: Алтернативна употреба КСМЛ-а су напомене у којима програмери премештају целокупну конфигурацију у једну класу уз помоћ напомена за одређену класу или методу.
Укључује се у датотеци Спринг Цонфигуратион изјавом.
П # 27) Чему служи анотација @Рекуиред?
Одговор: Користи се за указивање да у време конфигурације својство зрна треба попунити аутоматским ожичењем или експлицитном вредношћу својства у дефиницији зрна.
Пример:
package com.softwaretestinghelp; import org.Springframework.beans.factory.annotation.Required; public class Employee { private Integer age; private String Lname; @Required public void setAge(Integer age) { this.age = age; } public Integer getAge() { return age; } @Required public void setLName(String Lname) { this.name = name; } public String getLName() { return name; } }
П # 28) Чему служи анотација @Аутовиред?
Одговор: Помаже у бољој контроли и разумевању како и где треба постићи аутоматско повезивање. Може се користити за аутоматско повезивање грана на било којој методи, својству или конструктору постављача.
Пример:
package com.softwaretestinghelp; import org.Springframework.beans.factory.annotation.Autowired; public class code-editor { private SpellCheck spellCheck; @Autowired public void setSpellCheck( SpellCheck spellCheck ){ this.spellCheck = spellCheck; } public SpellCheck getSpellCheck( ) { return spellCheck; } public void spellCheck() { spellCheck.checkSpelling(); } }
П # 29) Чему служи анотација @Куалифиер?
Одговор: Углавном се користи када је програмер дужан да створи много пасуља истог типа и жели да само један од њих повеже својством, у овом сценарију @Куалифиер са @Аутовиред се користи за уклањање забуне и одређивање тачног зрна које треба ожичити .
П # 30) Како се води догађај у пролеће?
Одговор: Руковање догађајима постиже се кроз класу АпплицатионЕвент и интерфејс АпплицатионЛистнер.
Када пасуљ примени АпплицатионЛистнер, онда се АпплицатионЕвент генерише у АпплицатионЦонтект и обавештава да је беан генерисан.
П # 31) Који су примери стандардних пролећних догађаја?
Одговор: Постоји много стандардних пролећних догађаја који имају одговарајућу сврху, а мало је међу њима ЦонтектСтартедЕвент, ЦонтектРефресхедЕвент, ЦонтектСтоппедЕвент, ЦонтектЦлоседЕвент, РекуестХандледЕвент итд.
П # 32) Шта означава Заједничка тачка?
Одговор: Означава одређену тачку у коју се АОП аспект може прикључити. То је оригинално место у апликацији где се могу предузети неке радње помоћу АОП оквира.
П # 33) Шта је ЈДБЦ образац и како га користити у пролеће?
Одговор: ЈДБЦ шаблон је образац који пружа Спринг фрамеворк за ефикаснију употребу ЈДБЦ.
ЈДБЦ предложак се обично користи за претварање података базе података у објекте, извршавање припремљених и позивних израза, а такође подржава и руковање грешкама базе података.
П # 34) Шта је управљање трансакцијама у пролеће? Објасните различите врсте управљања трансакцијама.
Одговор: Трансакција је у основи нека операција изведена над неким подацима у бази података. Трансацтион Манагемент спада у систем управљања релационом базом података и користи се за осигуравање етике и доследности података.
Суштинска предност управљања трансакцијама је у томе што подржава декларативно и програмско управљање трансакцијама и АПИ-је попут Хибернате, ЈТА и ЈДБЦ правилном интеграцијом.
колико је продајно место брзих књига
Постоје две врсте управљања трансакцијама, које су наведене у наставку:
- Програмско управљање трансакцијама користи се за помоћ трансакцији у погледу кодирања или скриптирања.
- Декларативно управљање трансакцијама користи се за изоловање пословног кода и трансакција.
П # 35) Који је најчешће коришћен Трансацтион Манагемент?
Одговор: Декларативно управљање трансакцијама широко користе програмери.
П # 36) Објасните Спринг МВЦ оквир.
Одговор: МВЦ је скраћеница од Модел, Виев и Цонтроллер. Спринг МВЦ фрамеворк се користи за развој веб апликација са добрим протоком и конфигурацијама архитектуре. Веома је флексибилан у интеграцији са другим оквирима.
П # 37) Објасните Спринг МВЦ Арцхитецтуре.
Одговор: Спринг МВЦ архитектура заснива се на Модел, Виев и Цонтроллер.
(слика извор )
Горња веза такође има једноставан пример комплетног Спринг МВЦ протока за референцу.
Ток пролећне архитектуре иде на следећи начин :
- Захтев прима сервлет диспечера.
- Сервлет диспечера шаље захтев мапирању руковаоца који даје одговор у смислу имена класе контролера.
- Сада се захтев шаље контролору из диспечерског сервлета, стога контролер обрађује захтев и враћа објект приказа модела као одговор на сервлет диспечера.
- Опет, диспечерски сервлет шаље захтев за преглед разрешивача како би добио исправну страницу приказа.
- На крају, диспечерски сервлет шаље примљени објект модела на страницу прегледача да би приказао резултат.
@Цонтроллер и @РекуестМаппинг су две главне напомене које се користе у Спринг МВЦ току.
П # 38) Каква је употреба диспечерског сервлета?
Одговор: Диспелцхер Сервлет се користи за руковање свим долазним ХТТП захтевима и одговорима клијента. Свеукупно, контролише све комуникације од руковаоца до контролера да би разрешивач могао да пређе на стварну страницу приказа.
П # 39) Објасните употребу напомена @Цонтроллер и @РекуестМаппинг у Спринг МВЦ.
Одговор:
@Цонтроллер - Означава ону одређену класу која се понаша као контролер.
@РекуестМаппинг - У основи се користи за мапирање УРЛ-а на целу класу или било који одређени метод.
П # 40) Објасните инверзију управљања и убризгавање зависности кроз једноставан пример.
Одговор: Као што знамо, користи се за уклањање зависности из апликације.
Шифра без ДИ:
public class Student { Address address; Employee() { address= new Address();// here we are creating instance } }
Студент и Аддресс ће користити исту инстанцу, па ће овде бити створена зависност.
Шифра са ДИ:
public class Student{ Address address; Employee(Address address) { this.address=address;//not creating instance } }
Овде се не креира ниједна инстанца, тако да се не ствара зависност, стога код постаје флексибилнији и лабавије повезан.
П # 41) Објасните савете и њихове типове.
Одговор: Свака радња коју АОП предузме назива се Савет.
Доле је поменуто пет врста савета:
- Пре савета.
- После савета.
- По повратку савета.
- Око савета.
- Баца савете.
П # 42) Које су различите врсте Објецт Релатионал Маппинг које Спринг подржава?
Одговор: Спринг подржава ОРМ попут Хибернате, ИБатис, ТопЛинк, Јава Дата Објецт, ОЈБ и ЈПА итд.
П # 43) Зашто се Спринг преферира над оквирима или основним предностима Спринг Фрамеворк-а?
Одговор: Пролеће је пожељно у односу на оквир из неколико разлога. Неколико од њих је поменуто у наставку:
- Спринг решава многе сложене проблеме развоја апликација својим подмодулима као што су језгро, веб, приступ подацима, тест итд.
- Пролеће нуди ПОЈО часове за развој, што заузврат смањује стрес.
- Моћна интеграција са осталим оквирима.
- Добро тестирање апликација.
- Карактеристика и модуларност управљања трансакцијама.
П # 44) Шта подразумевате под Спринг Батцх?
Одговор: Спринг батцх је такође лаган оквир који је створен да подржи развој робусних батцх апликација за систем предузећа.
Спринг батцх побољшава продуктивност, приступ развоју и олакшава одређене функције које су корисници научили у пролеће.
П # 45) Која је главна употреба Спринг батцх оквира?
Одговор: Спринг батцх се углавном користи за читање и писање датотека, као и за обављање одређених операција у бази података као што су читање или писање, трансформација података, креирање извештаја, такође увоз и извоз података итд.
П # 46) Објасните пролећну архитектуру серије.
Одговор: Спринг батцх архитектура углавном се састоји од три компонентна слоја, тј. Апликације, језгра и инфраструктуре.
Апликација се састоји од скриптних и батцх послова који су програмери креирали кроз пролећни пакет. Језгро садржи све важне и потребне класе потребне за покретање и контролу серијског посла. И на крају, инфраструктура обрађује и апликацију и језгро, укључујући услуге, читаче, писце итд.
П # 47) Објасните задатак у Спринг Батцх-у.
Одговор: Тасклет је интерфејс који се често позива да изврши један задатак само попут чишћења или брисања или подешавања ресурса током времена извршавања.
П # 48) Објасните принцип рада Спринг Батцх-а.
Одговор: Пролећна серија углавном ради у четири корака, као што је доле споменуто:
- Прво, степ-ит води посао да ради свој посао.
- Има итемРеадер интерфејс за пружање података.
- Има итемПроцессор интерфејс за трансформацију података.
- И на крају, има итемСтреамВритер интерфејс за генерисање жељеног резултата.
Закључак
Надамо се да би вам овај чланак дао јасне информације о пролећном оквиру. Објаснио је Спринг и његове карактеристике, Апликације у којима се Спринг користи и зашто је то неопходно за развој апликација.
Пролећни модули, убризгавање зависности, инверзија управљања, управљање трансакцијама, програмирање оријентисано на аспекте, концепт лабавог спајања, МВЦ архитектура опруге, важне напомене, грах и аутоматско ожичење.
Овде су укључена сва важна пролећна питања о интервјуу која покривају све горе поменуте теме. Увек је препоручљиво објаснити било који концепт помоћу примера кода, што анкетеру даје бољу разумљивост.
Надам се да ће вам овај чланак помоћи да очистите интервјуе, све најбоље!
Препоручено читање
- Интервјуирајте питања и одговоре
- Нека занимљива питања за испитивање софтверског тестирања
- 20 питања о селективном КА интервјуу ради чишћења интервјуа 2021. године
- Питања и одговори за испитивање ЕТЛ-а
- 25 најбољих питања за интервју за Перл које бисте требали припремити 2021. године
- 25 најбољих питања о интервјуу за софтверско инжењерство (НАЈНОВИЈЕ 2021)
- 36 питања са Јенкинс-овог интервјуа (за 2021. годину)
- 12 најпопуларнијих питања о Моцкито интервјуу (Моцкинг Фрамеворк Интервиев)