Содржина[Крие][Прикажи]
- 1. Што разбирате со ОДМОР?
- 2. Што подразбирате под REST API?
- 3. Што точно е URI?
- 4. Кои се карактеристиките на RESTful Web Services?
- 5. Кои се водечките принципи на REST?
- 6. Споменете ги методите на HTTP кои REST ги поддржува.
- 7. Опишете ги ограничувањата поставени од конзистентен интерфејс.
- 8. Што точно е ресурс REST?
- 9. Што значи JAX-RS за вас?
- 10. Што ги разликува AJAX и REST еден од друг?
- 11. Можете ли да наведете некои недостатоци на RESTful веб услуги?
- 12. Што ги разликува PUT и POST техниките една од друга?
- 13. Како ги тестирате RESTful веб-услугите?
- 14. Опишете REST API во реалниот свет.
- 15. Како функционира Microservice Architecture?
- 16. Што точно е кеширање?
- 17. Опишете носивост.
- 18. Разлика САПУН од ОДМОР?
- 19. Дали протоколот за безбедност на транспортниот слој (TLS) може да се користи со REST?
- 20. Идемпотентни методи: кои се тие? Како се применува во светот на RESTful веб-услуги?
- 21. Која е функционалноста на HTTP Basic Authentication?
- 22. Дали мислите дека GraphQL е најдобриот избор за создавање микросервисна архитектура?
- 23. Кои се главните разлики помеѓу безбедните и идемпотентните HTTP методи?
- 24. Што подразбира JAX-RS API од RESTful Root Resource Classes?
- 25. Што точно е Поштар, и зошто се користи?
- 26. Како се чуваат безбедни REST API-ите?
- Заклучок
Еволуцијата на REST ги направи API-ите неверојатно достапни, истовремено откривајќи ја нивната целосна сила и потенцијал. REST API-ите се лесни за креирање и кеширање поради нивната архитектура ориентирана кон ресурси.
Дополнително, со текот на времето, RESTful API-ите беа претходници на други значајни случувања како cloud computing и дизајн базиран на микросервис.
Затоа, не треба да изненадува што развивачите на REST API се барани денес со оглед на тоа како тие им обезбедуваат конкурентна предност на бизнисите кои користат RESTful услуги. REST API се популарен тренд на дизајн.
Многу ИТ фирми бараат знаење од REST API развивачи на софтвер и прашајте за тоа во технички интервјуа.
Еве некои од најтипичните прашања за интервју за REST API кои ќе ви помогнат да бидете подготвени за интервјуа во различни фирми доколку сакате да работите на полето за развој на REST API.
1. Што разбирате со ОДМОР?
REST е архитектонска парадигма за дизајнирање веб-базирани апликации кои се базираат на протоколот за пренос на хипертекст (HTTP).
REST дефинира одредени стандарди кои веб сервисите мора да ги исполнат за да се сметаат за РЕСТЛИВИ. Овие препораки гарантираат дека барањата и ресурсите се пренесуваат брзо и ефективно помеѓу клиентот и серверот користејќи стандардизирани HTTP протоколи.
2. Што подразбирате под REST API?
Врската од софтвер до софтвер позната како интерфејс за програмирање апликации овозможува комуникација и споделување податоци помеѓу инаку независни програми. На пример, веб-локација за вести може да го користи Twitter API за автоматски да открива соодветни твитови и да ги интегрира во вести.
API што се придржува до принципите REST е познато како REST API, понекогаш познато како RESTful API. Во REST API, секој податок се постапува како ресурс и добива посебен стандарден идентитет на ресурс (URI).
На пример, Twitter API го прави секој твит ресурс што може да се врати и е достапен за клиентите. Твитер API може да се користи од корисниците за објавување твитови и извршување на други задачи на веб-страниците.
3. Што точно е URI?
A компјутерска мрежа ресурсот може да се наведе со користење на URI или единствен идентификатор на ресурси. Служи како средство за одвојување на еден ресурс од друг. Изворите може или не се онлајн.
Поради нивната стандардна структура, URI-ите го олеснуваат поврзувањето дури и со различни видови ресурси. Локацијата или името на ресурсот се вклучени во URI заедно со низа знаци.
URI се состои од патека, шема, барање и други елементи, но не го вклучува протоколот.
Користејќи протокол, URL-адреси (Униформни локатори на ресурси) се користат за пронаоѓање ресурси на интернет или достапни преку него.
4. Кои се карактеристиките на RESTful Web Services?
- Парадигмата клиент-сервер е основата на услугата.
- Услугата може да пристапи до ресурсите преку користење на URI-и.
- Услугата го користи протоколот HTTP за да стекне податоци/ресурси, да извршува прашања и да врши други задачи.
- Пораки е името на методот што се користи за комуникација помеѓу клиентот и серверот.
- Овие услуги исто така може да го имплементираат REST архитектонскиот модел користејќи SOAP услуги.
- За да се намалат повиците на серверот за ист вид повторувачки барања, овие услуги исто така ја користат идејата за кеширање.
5. Кои се водечките принципи на REST?
Пет критериуми мора да бидат исполнети со REST API:
Раздвојување клиент-сервер: може да се користат само низа барања и одговори за комуникација помеѓу клиентот и серверот. Само клиентите и серверите можат да испраќаат барања и одговори, соодветно. Оваа јасна идеја им овозможува на двете страни да функционираат независно една од друга.
Униформен интерфејс: Мора да постои единствен протокол за сите врски клиент-сервер. Овој протокол за REST е HTTP. Бидејќи секоја апликација бара и испраќа податоци користејќи ист јазик, конзистентниот интерфејс ги прави интеграциите поедноставни.
Без државјанство: серверот не зачувува никакви записи за претходни барања или одговори во комуникацијата без државјанство. Секое барање и одговор ги обезбедуваат сите детали потребни за да се заврши размената. Комуникацијата без државјанство ја подобрува брзината, заштедува меморија и го намалува стресот на серверот. Дополнително, го избегнува потенцијалот за неуспех на барање поради нецелосни податоци.
Слоевит систем: Серверите што се наоѓаат помеѓу клиентот и серверот API се нарекуваат слоеви. Овие дополнителни сервери извршуваат различни услуги, како што се откривање спам и оптимизирање на брзината. Слоевите во REST се модуларни, што значи дека може да се додадат и избришат без да влијаат на комуникациите помеѓу клиентот и серверот API.
Може да се кешира: Клиентите можат да ги кешираат сите ресурси за да ја зголемат брзината ако одговорите на серверот покажуваат дали ресурсот може да се кешира или не.
Кодирање на барање: Како одговор, API може да пренесе извршна компјутерска шифра до клиентите. Клиентската апликација потоа може да го изврши кодот на својот заден крај.
6. Споменете ги методите на HTTP кои REST ги поддржува.
HTTP методите што REST ги поддржува се:
- GET: Овој метод бара ресурс на наведената URL-адреса. Телото за барање не треба да биде вклучено бидејќи ќе биде игнорирано. Може да биде можно да се кешира локално или на серверот.
- POST: Овој метод испраќа податоци до услуга за обработка, а услугата вообичаено треба да врати нов или променет ресурс.
- ПУТ: Ресурсот се ажурира на URL-то на барањето.
- ИЗБРИШИ: Ресурсот се брише на URL-то на барањето.
- Опции: Ги идентификува поддржаните методи.
- HEAD: Метаподатоците на URL-адресата на барањето се враќаат.
7. Опишете ги ограничувањата поставени од конзистентен интерфејс.
За да се одвои клиентот од серверот, потребен е конзистентен интерфејс.
За да се постигне конзистентен интерфејс, потребни се следните четири ограничувања:
- Идентификација на ресурси: барањата на клиентите мора да користат стандардни ID на ресурси за да ги идентификуваат ресурсите (URI)
- Манипулација со ресурсите со користење на овие претстави: Клиентите ги имаат сите потребни информации за да можат да ја променат состојбата на ресурсите кога ќе добијат репрезентација на ресурси од серверот.
- Самоописни пораки: пораките ги вклучуваат сите метаподатоци и други информации потребни за примачот да ги разбере.
- Хипермедијата како мотор за состојбата на апликацијата: Каналот за комуникација клиент-сервер е хипермедија, како што е HTML, и на клиентите не им е потребна документација специфична за API за да ги разберат одговорите на серверот.
8. Што точно е ресурс REST?
Ресурсите се основните компоненти на RESTful веб-услугата во REST архитектурата. Тие ги вклучуваат сите клучни информации до кои треба да пристапи клиентот API.
Секаков вид на ресурси, како HTML страница, слика, видео или што било друго потребно за активност на API, може да се пристапи преку серверот во системот клиент-сервер.
Ресурсите се идентификуваат со униформен идентификатор на ресурси. Текст, JSON или XML се сите прифатливи претстави на ресурси. Имајќи го предвид тоа, нема ограничувања за форматот на претставувањето.
9. Што значи JAX-RS за вас?
Поедноставно е да се креираат RESTful веб-услуги во Java благодарение на Java API за RESTful веб-услуги, често познати како JAX-RS. Програмерите можат да ги опишат ресурсите и операциите што може да се спроведат на нив со помош на дадените прибелешки.
10. Што ги разликува AJAX и REST еден од друг?
Ајакс:
- Ајакс е група на технологии кои овозможуваат динамично ажурирање на кориснички интерфејс елементи без да мора повторно да ја вчитате страницата.
- Ајакс ја отстранува асинхроната комуникација помеѓу клиентот и серверот.
ОДМОР:
- REST бара комуникација помеѓу серверот и клиентот.
- Користењето на ресурсите е важно за структурата на URL-то и шемата за барање/одговор што ги користи REST.
11. Можете ли да наведете некои недостатоци на RESTful веб услуги?
Седниците не можат да се одржуваат бидејќи службите се придржуваат до поимот бездржавјанство. (Клиентот е одговорен за предавање на ID на сесијата во текот на целата симулација на сесијата.)
Безбедносните ограничувања не се основни за REST. Протоколите што го користат ги наследуваат безбедносните мерки на претпазливост. Затоа, важно е да се внимава при преземањето безбедносни мерки, како што е интегрирањето на автентикации базирани на SSL/TLS.
12. Што ги разликува PUT и POST техниките една од друга?
СТАВИ:
- Нема кеш за PUT одговори.
- Идемпотентен (т.е. повеќе барања ќе го дадат истиот резултат)
- товарот на барањето го ажурира или го заменува целниот ресурс.
Пост:
- idempotent not (т.е. повеќе барања ќе дадат повеќекратни од истиот ресурс)
- Веб-серверот го обработува товарот на барањето врз основа на наменетиот ресурс.
- Ако е вклучено соодветното заглавие за контрола на кешот, одговорите на POST може да се кешираат.
13. Како ги тестирате RESTful веб-услугите?
Употребното тестирање на веб-услугите може да биде помогнато со голем број алатки, вклучувајќи ги Swagger и Postman. Инспекцијата на параметрите за барање како што се параметрите за барање, заглавијата и заглавијата на одговорот е овозможена поради изобилството на карактеристики на второто.
Поштар може да се користи за поднесување барања до крајни точки и прикажување на резултатите. И XML и JSON може да се креираат од овие одговори.
Поштар и Свагер обезбедуваат исклучително споредливи функционалности. Од друга страна, Swagger нуди и можности како документација за крајна точка.
14. Опишете REST API во реалниот свет.
- Веб-страниците за патување и билети може да ги искористат тајмингот и цените на летовите што авиокомпаниите ги прават достапни преку API.
- За да можат апликациите за мапирање и навигација (како Google Maps) да ги користат, агенциите за јавен транспорт често ги прават своите податоци јавно достапни во реално време преку API.
- Метеоролошките апликации користат отворени API кои разменуваат податоци за времето за прикажување информации за времето.
- Програмерите можат да пристапат до податоците за мапирање на „Карти на Google“ преку голем број од неговите хостирани API. Овие API ги користат програмерите за да вградат динамични мапи во нивните апликации и веб-локации.
15. Како функционира Microservice Architecture?
- Барањата се испраќаат од различни клиенти користејќи различни уреди.
- По потврдувањето на идентитетот на клиентите, давателите на идентитет обезбедуваат безбедносни токени.
- Барањата на клиентот се управувани од API Gateway.
- Целиот материјал на системот е зачуван како статична содржина.
- Алатката за управување го проверува балансот на услугите на јазлите и сите дефекти.
- Откривањето на патот на комуникација помеѓу микросервисите е потпомогнато од откривањето на услугата.
- Центрите за податоци и прокси-серверите сочинуваат дисперзирани мрежни системи наречени мрежи за испорака на содржина.
- Далечинските услуги обезбедуваат пристап до информации од далечина.
16. Што точно е кеширање?
Практиката привремено да се чува копија од одговорот на серверот некаде (како што е компјутерската меморија) со цел да се пристапи подоцна до него побрзо е позната како кеширање.
Кеширањето ја подобрува брзината на серверот кога се користат REST API со намалување на обемот на работа што серверот мора да ја направи за да го задоволи барањето. Апликациите што го користат API работат побрзо благодарение на кеширањето бидејќи не мора да поднесуваат ново барање секогаш кога ќе им треба ресурс.
Полето за кеш-контрола на заглавието на одговорот HTTP содржи информации за тоа колку долго клиентот може да го кешира ресурсот пред да треба повторно да му пристапи.
17. Опишете носивост.
Товарот во REST се однесува на информациите содржани во телото на одговорот HTTP. Клиентот ја користел техниката GET за да ги побара предметните податоци.
Документот што го содржи текстот на твитот и сите потребни датотеки за ставање на твитот на веб-локација ќе бидат вклучени во товарот, на пример, ако побарате од API на Twitter за одреден твит. Дополнително, товарот може да се вклучи во барањето HTTP користејќи го методот POST.
18. Разликувајте САПУН против ОДМОР?
- За разлика од SOAP, кој може да ракува само со XML, REST овозможува поширок опсег на формати на ресурси, вклучувајќи XML, текст, HTML, слики, видео и многу повеќе.
- Кога безбедноста е клучна за онлајн апликациите, SOAP е корисен. REST не може да се користи кога трансакциите мора безбедно да се завршат бидејќи не е особено безбеден.
- Бидејќи SOAP е само протокол, REST може да го користи во своите веб-услуги, но не и обратно.
- Додека REST е само архитектонски модел што се користи за развој на веб-услуги и се придржува до одредени ограничувања како што се поставување клиент-сервер, без државјанство, одговор на кеширање, слоевити системи и конзистентен интерфејс, SOAP е протокол кој работи на одредени стандарди кои мора строго да се почитуваат до.
- Додека REST користи универзални идентификатори на ресурси (URI), SOAP користи сервисни интерфејси за да ги обезбеди своите способности на клиентските апликации. REST има помала потреба од пропусен опсег од SOAP бидејќи SOAP пораките се потешки за информации.
19. Дали протоколот за безбедност на транспортниот слој (TLS) може да се користи со REST?
Всушност, можеме. Комуникацијата на клиентот и серверот REST е шифрирана преку TLS, а протоколот исто така им дава на клиентите начин за автентикација на серверите.
Поради фактот што е замена на Secure Socket Layer, тој се користи за безбедна комуникација (SSL). Спроведувањето на веб-услугите RESTful е успешно со HTTPS бидејќи ефикасно соработува и со TLS и со SSL.
REST ги наследува карактеристиките на протоколот што го имплементира, што е една работа што треба да се забележи овде. Како резултат на тоа, безбедносните заштити се зависни од протоколот што го користи REST.
20. Идемпотентни методи: кои се тие? Како се применува во светот на RESTful веб-услуги?
Кога URI е ист, некои HTTP методи во барањето имаат исто влијание врз серверот без разлика дали се испорачуваат еднаш или неколку пати. Овие се познати како идемпотентни техники.
На пример, без разлика колку пати се извршува URI со методот GET, серверот секогаш ќе го доживее истиот резултат. Идемпотентните методи вклучуваат GET, PUT и PATCH, за да именуваме неколку.
Идемпотентни HTTP методи се некои од оние што ги користи RESTful веб апликации. Тие се неопходни за да се гарантира доследност во активностите на веб-услугите RESTful.
Клиентите кои користат REST API може да направат грешки во кодот што го принудуваат REST API да испраќа случајно повторени барања. Овие повици имаат потенцијал за злоупотреба на ресурсите.
21. Која е функционалноста на HTTP Basic Authentication?
Кога се користи основната автентикација како дел од API-ите, корисникот мора да ги достави корисничкото име и лозинката, кои се споени од прелистувачот во форма „корисничко име: лозинка“ и кодирани во base64.
На секое барање HTTP од прелистувачот, кодираната вредност се доставува како вредност за заглавието „Овластување“. Бидејќи ингеренциите се само кодирани, се препорачува да се користи овој формулар кога се испраќаат барања за HTTPS бидејќи тие не се безбедни и може да бидат пресретнати од кој било доколку не се користат безбедносни протоколи.
22. Дали мислите дека GraphQL е најдобриот избор за создавање микросервисна архитектура?
Microservices и GraphQL одат совршено затоа што GraphQL ја чува вашата микросервис архитектура во тајност од вашите клиенти.
Од предниот крај, сакате сите ваши податоци да доаѓаат од едно API, додека од задниот дел, сакате да ги поделите на микросервис. Најдобрата техника за која сум свесен за постигнување на двете е со користење на GraphQL.
Тоа ви овозможува да го поделите вашиот заднина на микроуслуги, додека на секоја апликација и давате единствен API и овозможувате спојувања на податоци од различни услуги.
23. Кои се главните разлики помеѓу безбедните и идемпотентните HTTP методи?
Идемпотентните методи даваат ист резултат кога се повикуваат еднаш или неколку пати преку исто барање. Методот PUT е идемпотентен.
Сите безбедни начини се идемпотентни, но не сите идемпотентни методи се безбедни бидејќи безбедните методи не ги менуваат ресурсите. На пример, GET е безбеден бидејќи само вади податоци и не го менува ресурсот.
Дополнително, тој е идемпотентен, што значи дека секогаш ќе го враќа истиот одговор кога ќе се повика.
24. Што подразбира JAX-RS API од RESTful Root Resource Classes?
Java Enterprise Edition обезбедува класи и интерфејси кои се придржуваат до барањата на JAX-RS API. Со помош на JAX-RS, креирањето на веб-услуги на Java во архитектонскиот стил REST е олеснето.
Во JAX-RS API, класите на root ресурси се само „обични стари java објекти“ или POJO. Со цел да ги имплементираат потребните веб-ресурси, тие користат JAX-RS прибелешки.
Тие или имаат @path прибелешки или барем еден од нивните методи има @path прибелешки. Тие можат да се сумираат како Java класи со методи за справување со крајните точки на API.
25. Што точно е Поштар, и зошто се користи?
Алатката за развој на API наречена Postman се користи за креирање, тестирање и менување на API-и. Оваа алатка може да ја користат програмерите за која било карактеристика што ја бараат за API. Ја поедноставува и олеснува работата на програмерите.
Поштар го олеснува поставувањето на различни HTTP-прашања, вклучително GET, POST, PUT и PATCH, зачувување околини за подоцнежна употреба и конвертирање на API-и во код на повеќе различни јазици.
Секоја фаза од циклусот API е поедноставна со Postman, а соработката е рационализирана за побрз развој на API.
Дополнително, им овозможува на програмерите да управуваат со документацијата, спецификациите, тест случаите, процесите и каталозите на API.
26. Како се чуваат безбедни REST API-ите?
Бидејќи REST API-ите не користат толку ригорозни безбедносни заштитни мерки како SOAP API-те, чувствителните податоци не треба да се испраќаат или преземаат со нивно користење.
Сепак, доверливите REST API продолжуваат да интегрираат безбедносни контроли за безбеден и сигурен пренос на податоци.
- Автентикација и овластување: Секое барање до API мора да ги помине овие две проверки. Потврдувањето на идентитетот на клиентот преку автентикација и потврдувањето дека тие имаат овластување да пристапат до бараните ресурси преку овластување се два различни процеси.
- Валидација: пред API да даде пристап до своите ресурси, барањата сепак мора да се проверат за евентуално штетен код по автентикацијата и овластувањето. На тој начин, серверот би бил отворен за напад со инјектирање.
- Валидација: пред API да даде пристап до своите ресурси, барањата сепак мора да се проверат за евентуално штетен код по автентикацијата и овластувањето. На тој начин, серверот би бил отворен за напад со инјектирање.
- Шифрирање: TLS/SSL шифрирањето ја штити врската помеѓу клиентот и серверот и ги спречува хакерите да пресретнуваат барања и одговори.
- Техниките за ограничување на стапката, како што се ограничувањата и пригушувањето, ги штитат серверите од напади со брутална сила како DDoS кои имаат за цел да ги деградираат или урнат.
- Нема чувствителни информации во URI-ите: URI-те на ресурсите не треба да содржат никакви заштитени податоци (како што се корисничко име, лозинка или токен за автентикација).
Заклучок
Секоја чест! Неколку основни до сложени прашања за интервју за REST API и нивните соодветни решенија сега се на вашите прсти.
Сега кога имате добар концепт за тоа како да одговорите на некои од типичните прашања за интервју за REST API, можете да продолжите да одговарате на интервјуата. Следниот чекор зависи од вашите цели.
Посетете Серија на интервјуа со Хашдорк да се подготви за интервјуа.
Оставете Одговор