40 Често постављана питања и одговори на интервјуу за РЕСТ АПИ [2023]

АПИ је скраћеница од Апплицатион Программинг Интерфаце. Служи као капија за апликације да приступе неким ресурсима из других апликација.

Предност коришћења АПИ-ја је да се омогући приступ апликацијама трећих страна тако да оне не могу да приступе целокупним подацима ваше апликације. Они могу приступити само подацима које излажете преко свог АПИ-ја.

Апликација или корисник који жели да приступи подацима је познат као клијент, а апликација која опслужује податке је позната као сервер.

АПИ-ји се данас широко користе у свакој софтверској архитектури. Ако се пријављујете за фронт-енд, бацк-енд, фулл-стацк или улогу мрежног инжењеринга, онда ће вам бити постављено много питања у вези АПИ-ја.

Уз то, хајде да истражимо нека од најчешће постављаних питања за интервјуе о РЕСТ АПИ-јима.

Преглед садржаја

Шта је РЕСТ?

Одговор: РЕСТ је архитектонски дизајн који дефинише нека ограничења за рад АПИ-ја. АПИ-ји који прате принципе РЕСТ-а познати су као РЕСТфул АПИ-ји. РЕСТ је скраћеница за Репресентатионал Стате Трансфер.

То није протокол или стандард; уместо тога, то је архитектура која се може користити за имплементацију АПИ-ја на различите начине.

Пружа високу флексибилност и слободу програмерима, и зато се широко користи за развој АПИ-ја. Ево неких принципа РЕСТ архитектуре:

  • Раздвајање клијента и сервера: У РЕСТфул АПИ-ју, клијент не би требало да утиче на сервер на било који други начин осим да захтева податке преко УРИ-ја (Униформ Ресоурце Идентифиер). На исти начин, сервер не би требало ни на који начин да мења садржај клијента.
  • Апатрид: Када се поднесу два одвојена захтева, они не знају једно за друго. Другим речима, захтеви су без држављанства и не одржавају стање. Ако је захтев испуњен, он се једноставно прекида. Сваки захтев је изолован од осталих захтева.
  • Слојевита архитектура: Клијент или сервер не знају да ли се захтев упућује директно изворној или посредничкој апликацији. Њима је само стало до одговора на захтев.
  • Кеширање: Подаци или одговор се могу кеширати на страни клијента и сервера ради побољшања перформанси и скалабилности. Ако постоје чести захтеви за одређени ресурс, онда се одговор на тај захтев може кеширати и користити када је то потребно.

Које су неке кључне карактеристике РЕСТ-а?

Одговор: Кључне карактеристике или карактеристике РЕСТ-а су:

  • Флексибилност: Можете да прелазите са једног сервера на други и то неће ништа променити јер ће АПИ послати исти одговор за одређени захтев. Такође, можете додати онолико крајњих тачака колико желите за различите типове података.
  • Скалабилност: Кеширање побољшава скалабилност због одговора који се чувају за каснију употребу. Смањује оптерећење сервера и такође смањује кашњење.
  • Ауторизација: Уз помоћ заглавља ауторизације, можете одредити акредитиве које сервер може користити за ауторизацију захтева.
  • Без држављанства: Ово је најважнија карактеристика РЕСТ-а јер спречава да захтеви сазнају шта се дешава са другим захтевима. Захтеви се изолују и укидају чим се испуне.

Шта су ресурси у РЕСТ архитектури?

Одговор: Ресурси су ентитети на којима се изводе различите операције, као што су преузимање, ажурирање или брисање. Они су основни градивни блокови РЕСТ архитектуре.

  Да ли Куест Диагностицс узима кораке?

На пример, ако сматрате продавницу за е-трговину на мрежи, производи, корисници као и метаподаци се сматрају ресурсима јер се њима може управљати. Ресурси се могу пренети на другу апликацију преко АПИ-ја.

Наведите неке предности и недостатке РЕСТ АПИ-ја.

Одговор: Предности РЕСТ АПИ-ја су следеће:

  • Једноставан је за имплементацију.
  • Ресурси се могу лако руковати.
  • Скалабилан је због архитектуре клијент-сервер.
  • Подржава више врста медија за пренос података као што су КСМЛ и ЈСОН.

Његови недостаци су:

  • Не можете одржавати стање између захтева.
  • Прави извор извора ресурса се не може знати због слојевите архитектуре.
  • Није добро за сложене упите или захтеве.

Дефинишите РЕСТ шаблон.

Одговор: РЕСТ шаблон је услужни програм или клијент преко којег можете приступити РЕСТ АПИ-ју у Спринг оквиру. У основи сакрива шаблонски код који ћете можда морати да напишете да бисте затражили ресурс од РЕСТ АПИ-ја.

Шта је РЕСТфул?

Одговор: РЕСТфул АПИ-ји или услуге су интерфејси који имплементирају РЕСТ (Репресентатионал Стате Трансфер) архитектонски стил и раде користећи протоколе као што је ХТТП.

Шта су РЕСТфул веб услуге?

Одговор: РЕСТфул веб услуге су направљене да најбоље раде на Вебу. Репрезентативни пренос стања (РЕСТ) је архитектонски стил који специфицира ограничења, као што су униформни интерфејс, слојевита архитектура и бездржавност, ако се примењују на веб услугу, изазивају пожељна својства, као што су перформансе и скалабилност, која омогућавају услугама да најбоље раде на веб.

Како можете тестирати РЕСТфул веб услуге?

Одговор: Да бисте тестирали РЕСТфул веб услугу, можете користити РЕСТ клијент као што је Постман или Тхундер Цлиент и упитати веб услугу коју желите да тестирате. Затим, када добијете одговор, схватите одговор; то је кључни део.

Ако желите да тестирате сложен АПИ са много крајњих тачака, можда ћете морати да разбијете тестирање и извршите тестирање јединица, тестирање интеграције, тестирање перформанси и тестирање од краја до краја.

Наведите неке карактеристике РЕСТфул веб услуга.

Одговор: Неке од кључних карактеристика РЕСТфул веб услуга су:

  • Подршка за више типова медија као што су ЈСОН и КСМЛ.
  • Прилагодљивост
  • Изолација клијента и сервера
  • Флексибилност

Дефинишите РЕСТфул основне класе ресурса.

Одговор: Основне класе ресурса су „обични стари Јава објекти“ (ПОЈО) који су или означени са @Патх или имају бар један метод означен са @Патх или означитељем метода захтева, као што су @ГЕТ, @ПОСТ, @ПУТ или @ДЕЛЕТЕ.

Шта је УРИ?

Одговор: УРИ је скраћеница од Униформ Ресоурце Идентифиер. То је низ знакова који се користи за лоцирање или идентификацију ресурса АПИ-ја или услуге. Користи име или локацију ресурса да би га идентификовао, али се не ослања на одређени метод или технику.

Шта је апатридност у РЕСТ-у?

Одговор: Апатридност се односи на једно ограничење примењено на АПИ у којем било која два захтева не могу знати шта се дешава један са другим. Другим речима, стање захтева се не одржава. Ако је захтев испуњен, он се једноставно прекида након добијања одговора.

Шта је ЈАКС-РС?

Одговор: ЈАКС-РС је Јава АПИ који вам омогућава да развијате апликације у Јави које користе РЕСТ архитектуру. Овај АПИ олакшава развој РЕСТ апликација у Јави.

Које су кључне напомене у ЈАКС-РС АПИ-ју?

Одговор: Напомене у ЈАКС-РС користе програмери за украшавање Јава класа како би дефинисали ресурсе и методе које се могу извршити на тим ресурсима. Неке кључне напомене ЈАКС-РС АПИ-ја су:

  • @ГЕТ: Користи се за прављење ГЕТ захтева у ХТТП-у.
  • @ПОСТ: Користи се за прављење ПОСТ захтева у ХТТП-у.
  • @Путања: Односи се на релативну путању Јава класе.
  • @КуериПарам: Односи се на параметре упита за УРИ или УРЛ.

Које су неке кључне карактеристике ЈАКС-РС АПИ-ја?

Одговор: Карактеристике ЈАКС-РС су:

  • Кеширање на страни клијента
  • Кеширање на страни сервера
  • Прилагођавање стрингова упита
  • Рунтиме аннотатионс

Како се ЈАКС-РС апликације могу конфигурисати?

Одговор: ЈАКС-РС апликација се састоји од најмање једне класе ресурса упаковане у ВАР датотеку. Основни УРИ из којег ресурси апликације одговарају на захтеве може се поставити на један од два начина:

  • Коришћење напомене @АпплицатионПатх у подкласи јавак.вс.рс.цоре.Апплицатион упаковане у оквиру ВАР-а
  • Коришћење ознаке за мапирање сервлета унутар ВАР-овог дескриптора за примену веб.кмл

Шта су ЈАКС-ВС и ЈАКС-РС?

Одговор: ЈАКС-ВС је Џакарта КСМЛ Веб Сервицес АПИ који се користи за развој АПИ-ја користећи Симпле Објецт Аццесс Протоцол (СОАП) – протокол за размену порука заснован на КСМЛ-у.

  Како да видите све податке које Инстаграм има о вама

С друге стране, ЈАКС-РС је Јава АПИ који се користи за креирање веб сервиса користећи РЕСТ архитектуру.

Шта су ХТТП статусни кодови?

Одговор: Статусни кодови нису ништа друго до начин да се саопшти статус одговора који сервер шаље клијенту. Они су присутни у заглављима одговора које шаље сервер.

Клијент може да утврди да ли захтев није успео или је испуњен или да ли нешто није у реду са одговором користећи статусне кодове.

Ево неких уобичајених статусних кодова ХТТП-а:-

  • 200 – То је скраћеница за кључну реч „ОК“. То значи да је захтев испуњен, а одговор је у реду.
  • 404 – То је скраћеница за „Није пронађено“. То значи да ресурс није присутан на серверу или да крајња тачка не постоји.
  • 500 – То је скраћеница од „Интерна серверска грешка“. Ово се обично дешава када сервер не може да генерише тачан одговор или постоји грешка која није експлицитно избачена.
  • 503 – То је скраћеница од „Услуга недоступна“. То значи да тренутно сервер не може да обради ниједан захтев, вероватно зато што је мртав или не ради због преоптерећења захтева. Може се десити и када је сервер на одржавању.

Шта су ХТТП методе?

Одговор: ХТТП методе се користе за обављање одређене врсте радње на одређеном ресурсу АПИ-ја. На пример, ако желите да преузмете листу филмова из АПИ-ја за колекцију филмова, онда можете да користите метод ГЕТ који обезбеђује ХТТП. Ако желите да ажурирате податке, можете користити ПОСТ метод који обезбеђује ХТТП.

Често коришћене ХТТП методе су следеће:

  • ГЕТ: Захтеви који користе ГЕТ треба да преузимају само податке.
  • ПОСТ: Ажурира ресурс тако што шаље ново ажурирани ресурс на сервер.
  • ДЕЛЕТЕ: Брише наведени ресурс.
  • Закрпа: Делимично модификује ресурс.

Како функционише ХТТП основна аутентификација?

Одговор: Аутентификација је процес за проверу аутентичности клијента ради одржавања безбедности података. У ХТТП-у, аутентификација функционише преко заглавља ауторизације, које шаље клијент.

Заглавље ауторизације се састоји од корисничког имена/ид и лозинке клијента, које сервер затим верификује и приступ се одобрава.

Једна важна ствар коју треба напоменути је да када користите ХТТП аутентификацију, канал кроз који пролазе акредитиви треба да буде шифрован и безбедан.

Можете да обезбедите канал помоћу ССЛ слоја, који је интегрисан у ХТТПС. Дакле, препоручљиво је да користите ХТТПС уместо једноставног ХТТП-а када радите са акредитивима.

Које су основне компоненте ХТТП захтева?

Одговор: ХТТП захтев се састоји од следећих компоненти:

  • Ред захтева: То је први ред у сваком захтеву и састоји се од ХТТП методе, путање или крајње тачке и броја ХТТП верзије.
  • Заглавља: ​​ХТТП заглавља се користе за обезбеђивање метаподатака захтева.
  • Тело (опционо): Ова компонента је присутна само за неке од метода захтева. Није потребно за ГЕТ захтеве, али је потребно за ПОСТ захтеве. То је стварна порука захтева.

Које су основне компоненте ХТТП одговора?

Одговор: ХТТП одговор се састоји од следећих компоненти:

  • Статус: Односи се на ХТТП статусни код који шаље сервер.
  • Заглавља: ​​Баш као и захтеви, одговори такође имају своја одговарајућа заглавља која пружају корисне информације о одговору.
  • Порука: Ово су стварни подаци које сервер шаље клијенту за тражење одређеног ресурса.

Која је разлика између РЕСТ-а и АЈАКС-а?

Одговор: АЈАКС је клијент преко којег можете приступити РЕСТфул АПИ-ју. Користи се за слање асинхроних захтева користећи ЈаваСцрипт.

РЕСТ, или Репресентатионал Стате Трансфер, је архитектура која се може имплементирати за креирање РЕСТфул АПИ-ја. Укратко, да бисте послали ХТТП захтеве, можете користити АЈАКС који служи као клијент, али ако желите да имплементирате РЕСТфул АПИ-је, онда морате да користите РЕСТ архитектуру.

Која је разлика између СОАП-а и РЕСТ-а?

Одговор: Репрезентативни пренос стања, или РЕСТ, је архитектура са минималним ограничењима за креирање АПИ-ја. СОАП, или Симпле Објецт Аццесс Протоцол, је протокол са строгим захтевима за имплементацију АПИ-ја.

РЕСТ је флексибилнији и лакши за употребу од СОАП-а. Размена порука заснована на КСМЛ-у се користи у СОАП-у, док у РЕСТ-у можете користити многе типове преноса података као што су ЈСОН, КСМЛ, итд. У поређењу са СОАП-ом, РЕСТ је лакши и бржи.

СОАП веб сервиси имају уграђену безбедност, што је једна од предности коришћења СОАП-а у односу на РЕСТ, али додатне функције га чине сложеним и тешким за употребу.

  10 најбољих табела алтернатива за боље доношење одлука

Која је разлика између ПУТ-а и ПОСТ-а?

Одговор: ПОСТ је метода ХТТП захтева која шаље неке податке серверу. Ако направите више ПОСТ захтева за одређени ресурс, онда може доћи до нежељених ефеката на ваше податке. На пример, ако желите да додате чланак у колекцију, ако направите више ПОСТ захтева, више чланака ће бити додато у колекцију што доводи до сувишних чланака.

ПУТ је метода ХТТП захтева која шаље податке серверу за одређени ресурс, али само једном ажурира податке. Ако пошаљете више ПУТ захтева за одређени ресурс, неће доћи до нежељених ефеката, а подаци ће бити додати само једном. У ПУТ-у, ако ресурс не постоји, креираће нови, а ако постоји, ажурираће постојећи.

ПУТ је идемпотентан, док ПОСТ није.

Шта је корисно оптерећење?

Одговор: Корисно оптерећење у РЕСТ АПИ-ју је једноставно тело захтева послатог од клијента ка серверу. То су подаци које желите да пошаљете на сервер и добијете одговор.

Која је максимална величина корисног оптерећења која се може послати у пост методама?

Одговор: Не постоји подразумевано ограничење које поставља сам ХТТП протокол. Ограничење може зависити од максималног ограничења клијента или сервера, шта год је минимално.

Приликом креирања УРИ-ја, које су најбоље праксе које треба следити?

Одговор: Неке од кључних тачака које треба да имате на уму приликом дизајнирања УРИ-ја су:

  • Избегавајте коришћење екстензија датотека
  • Будите доследни са свим УРИ-јима
  • Поделите УРИ-је на домене и поддомене за различите скупове ресурса
  • Требало би да користите цртицу или доњу црту да одвојите речи у реченицама уграђеним у УРИ-је
  • Требало би да користите косу црту да означите хијерархију ресурса
  • Кодирајте УРИ користећи одговарајуће кодирање
  • Покушајте да учините УРИ читљивим људима

Шта су идемпотентне методе?

Одговор: Идемпотентне ХТТП методе имају исти ефекат на сервер упркос слању више идентичних захтева. На пример, ако пошаљете више идентичних захтева ДЕЛЕТЕ за одређени ресурс, ресурс се неће променити на сваком захтеву; ажурираће се као да је послат само један захтев.

Неке од идемпотентних метода укључују:

  • СТАВИТИ
  • ИЗБРИШИ
  • ДОБИТИ
  • ГЛАВА
  • ОПЦИЈЕ

Шта је поштар?

Одговор: Постман је алатка за развој АПИ-ја за развој, модификовање и тестирање АПИ-ја. Пружа многе функције за брзу изградњу и тестирање АПИ-ја без потребе за подешавањем клијента.

Одговор: Заглавље Цацхе-Цонтрол се састоји од инструкција или директива за конфигурисање кеширања у претраживачима и серверима. Он говори претраживачу или серверу шта да кешира и колико дуго треба да буде кеширано пре него што се затражи путем мрежног захтева.

Заглавље Цацхе-Цонтрол укључује следеће директиве:-

  • мак-аге
  • без кеша
  • приватни
  • јавности
  • без продавнице
  • непроменљиво

Дефинишите размену порука у РЕСТфул веб услугама.

Одговор: Размена порука у РЕСТфул веб сервисима се односи на то да клијент шаље ХТТП захтев серверу, на који сервер одговара ХТТП одговором. Ова комуникација између клијента и сервера се назива порукама.

Која је разлика између монолитне, СОА и микросервисне архитектуре?

Одговор: У монолитној архитектури, све се управља на једном месту. Клијентском страном, сервером, као и базом података се управља са једног места. Због тога је познат као монолитан јер се реч „монолит“ односи на један блок или камен.

СОА је скраћеница од Сервице-Ориентед Арцхитецтуре. У овој архитектури, различитим аспектима апликације управљају различите услуге, које су такође софтвер. Дакле, то је комбинација више сервисних софтверских модула. Интеграција је кључни део ове архитектуре.

Архитектура микросервиса је слична СОА-и, али за разлику од СОА-е, она има више аутономних софтверских програма који међусобно разговарају користећи АПИ-је. За разлику од монолитне архитектуре, овде је све аутономно и, донекле, независно.

Како функционише микросервисна архитектура?

Одговор: У микросервисној архитектури, апликације су подељене на мање подјединице које су независне једна од друге и раде саме, али међусобно комуницирају преко добро дефинисаног скупа АПИ-ја.

Неке предности архитектуре микросервиса укључују агилност, флексибилност, скалабилност, независне технологије, услуге за вишекратну употребу и једноставну примену.

Шта је ЦРУД?

Одговор: ЦРУД је скраћеница од Цреате, Реад, Упдате, Делете. Ово су операције које се могу извршити на одређеном ресурсу. АПИ који подржава све ове операције познат је као ЦРУД АПИ. Ово су најосновније операције које може да изврши АПИ на ресурсу.

Шта је кеширање?

Одговор: Кеширање је техника складиштења одговора или захтева на клијенту или серверу да би се касније поново користио.

Одговори се генерално кеширају на клијенту јер ако клијент упути исти захтев неколико пута у кратком временском интервалу, онда нема смисла тражити одговор поново преко мреже и губити пропусни опсег.

Каква је употреба @РекуестМаппинг-а?

Одговор: То је напомена у пролећном оквиру која се користи за мапирање веб захтева на специфичне класе руковаоца и/или методе руковања.

Шта ради @ПатхВариабле?

Одговор: Анотација @ПатхВариабле у оквиру спринг се користи за издвајање вредности променљивих шаблона и додељивање њихове вредности променљивој методе.

Дефинишите ХттпМессагеЦонвертер.

Одговор: Када ХТТП захтев (или његове делове) треба да се конвертује у тип који је потребан као аргумент за метод руковаоца или када вредност коју враћа метода руковаоца треба да се на неки начин конвертује да би се креирао ХТТП одговор, ХТТП користе се претварачи порука.

Одговор: Неки алати који вам могу помоћи у тестирању АПИ-ја су следећи:

  • Поштар
  • Буди сигуран
  • Рест Схарп
  • Каталон
  • РеадиАПИ
  • Апигее

Завршне речи

Данас су АПИ-ји постали изузетно популарни због појаве интернета. Још један разлог зашто су РЕСТ АПИ-ји популарни је тај што их је лако развити и користити.

Ако се припремате за интервју, размотрите горња питања о РЕСТ АПИ-јима која би вам могла бити постављена у интервјуу.

Следеће, можете проверити како да скрепате веб локацију користећи вдзвдз-ов Веб Сцрапинг АПИ.