Obsah[Skrýt][Ukázat]
- 1. Co rozumíte pod pojmem REST?
- 2. Co rozumíte pod pojmem REST API?
- 3. Co přesně je URI?
- 4. Jaké jsou vlastnosti webových služeb RESTful?
- 5. Jaké jsou hlavní zásady REST?
- 6. Uveďte metody HTTP, které REST podporuje.
- 7. Popište omezení stanovená konzistentním rozhraním.
- 8. Co je to vlastně REST Resource?
- 9. Co pro vás znamená JAX-RS?
- 10. Co od sebe odlišuje AJAX a REST?
- 11. Můžete uvést některé nevýhody webových služeb RESTful?
- 12. Co od sebe odlišuje techniky PUT a POST?
- 13. Jak testujete webové služby RESTful?
- 14. Popište REST API v reálném světě.
- 15. Jak funguje architektura mikroslužeb?
- 16. Co přesně je ukládání do mezipaměti?
- 17. Popište užitečné zatížení.
- 18. Rozdíl mezi SOAP a REST?
- 19. Lze použít protokol zabezpečení transportní vrstvy (TLS) s REST?
- 20. Idempotentní metody: co to je? Jak to platí pro svět webových služeb RESTful?
- 21. Jaká je funkce základního ověřování HTTP?
- 22. Myslíte si, že GraphQL je nejlepší volbou pro vytvoření architektury mikroslužeb?
- 23. Jaké jsou hlavní rozdíly mezi bezpečnými a idempotentními metodami HTTP?
- 24. Co znamená JAX-RS API třídami RESTful Root Resource Classes?
- 25. Co je to vlastně Postman a proč se používá?
- 26. Jak jsou REST API udržována v bezpečí?
- Proč investovat do čističky vzduchu?
Evoluce REST učinila API neuvěřitelně přístupná a zároveň odhalila jejich plnou sílu a potenciál. Rozhraní REST API lze snadno vytvořit a uložit do mezipaměti díky jejich architektuře orientované na prostředky.
Kromě toho byla RESTful API v průběhu času předchůdcem dalších významných vývojů, jako je cloud computing a návrh založený na mikroslužbách.
Proto by nemělo být žádným překvapením, že vývojáři REST API jsou dnes žádáni vzhledem k tomu, jak poskytují podnikům, které využívají služby RESTful, konkurenční výhodu. REST API jsou oblíbeným designovým trendem.
Mnoho IT firem chce znalosti REST API vývojáři softwaru a zeptejte se na to v technických pohovorech.
Zde jsou některé z nejtypičtějších otázek na pohovory REST API, které vám pomohou být připraveni na pohovory v různých firmách, pokud chcete pracovat v oblasti vývoje REST API.
1. Co rozumíte pod pojmem REST?
REST je architektonické paradigma pro navrhování webových aplikací, které jsou založeny na protokolu HTTP (Hypertext Transfer Protocol).
REST definuje určité standardy, které musí webové služby splňovat, aby byly považovány za RESTful. Tato doporučení zaručují rychlý a efektivní přenos požadavků a zdrojů mezi klientem a serverem pomocí standardizovaných protokolů HTTP.
2. Co rozumíte pod pojmem REST API?
Spojení mezi softwarem a softwarem známé jako aplikační programovací rozhraní umožňuje komunikaci a sdílení dat mezi jinak nezávislými programy. Zpravodajský web by například mohl použít Twitter API k automatickému objevování příslušných tweetů a jejich integraci do novinových článků.
Rozhraní API, které dodržuje principy REST, je známé jako REST API, někdy známé jako RESTful API. V REST API je každý kus dat zpracován jako zdroj a je mu přidělena odlišná standardní identita zdroje (URI).
Například Twitter API dělá z každého tweetu dostupný zdroj, který je dostupný klientům. Twitter API mohou uživatelé používat k odesílání tweetů a provádění dalších webových úkolů.
3. Co přesně je URI?
A počítačová síť zdroj lze odkazovat pomocí URI nebo jednotného identifikátoru zdroje. Slouží jako prostředek k oddělení jednoho zdroje od druhého. Zdroje mohou nebo nemusí být online.
Díky své standardní struktuře usnadňují URI připojení k různým typům zdrojů. Umístění nebo název zdroje je zahrnut v URI spolu s řetězcem znaků.
URI se skládá z cesty, schématu, dotazu a dalších prvků, ale nezahrnuje protokol.
Pomocí protokolu se adresy URL (Uniform Resource Locators) používají k vyhledání zdrojů na internetu nebo přístupných přes něj.
4. Jaké jsou vlastnosti webových služeb RESTful?
- Paradigma klient-server je základem služby.
- Služba může přistupovat ke zdrojům pomocí URI.
- Služba využívá protokol HTTP k získávání dat/zdrojů, spouštění dotazů a provádění dalších úkolů.
- Zasílání zpráv je název metody používané ke komunikaci mezi klientem a serverem.
- Tyto služby mohou také implementovat architektonický vzor REST pomocí služeb SOAP.
- Aby se omezilo volání serveru pro stejný druh opakujících se požadavků, tyto služby také využívají myšlenku ukládání do mezipaměti.
5. Jaké jsou hlavní zásady REST?
REST API musí splňovat pět kritérií:
Oddělení klient-server: Ke komunikaci mezi klientem a serverem lze použít pouze sérii požadavků a odpovědí. Požadavky a odpovědi mohou odesílat pouze klienti a servery. Tato přímočará myšlenka umožňuje oběma stranám fungovat nezávisle na sobě.
Jednotné rozhraní: Musí existovat jednotný protokol pro všechna připojení klient-server. Tento protokol pro REST je HTTP. Protože každá aplikace požaduje a odesílá data pomocí stejného jazyka, jednotné rozhraní usnadňuje integraci.
Stateless: Server neukládá žádné záznamy předchozích požadavků nebo odpovědí v bezstavové komunikaci. Každá žádost a odpověď poskytují všechny podrobnosti potřebné k dokončení výměny. Bezstavová komunikace zvyšuje rychlost, šetří paměť a snižuje zátěž serveru. Navíc se vyhnete potenciálnímu selhání požadavku kvůli neúplným datům.
Vrstvený systém: Servery, které se nacházejí mezi klientem a serverem API, se označují jako vrstvy. Tyto další servery provádějí různé služby, jako je detekce spamu a optimalizace rychlosti. Vrstvy v REST jsou modulární, což znamená, že je lze přidávat a odstraňovat, aniž by to ovlivnilo komunikaci mezi klientem a serverem API.
Uložitelné do mezipaměti: Klienti mohou ukládat do mezipaměti jakékoli prostředky, aby zvýšili rychlost, pokud odpovědi serveru indikují, zda je zdroj uložitelný do mezipaměti.
Kódování na vyžádání: V reakci na to může API přenášet spustitelný počítačový kód zákazníkům. Klientská aplikace pak může spustit kód na svém vlastním back-endu.
6. Uveďte metody HTTP, které REST podporuje.
Metody HTTP, které REST podporuje, jsou:
- GET: Tato metoda žádá o zdroj na zadané adrese URL. Tělo požadavku by nemělo být zahrnuto, protože bude ignorováno. Mohlo by být možné jej uložit do mezipaměti lokálně nebo na serveru.
- POST: Tato metoda odesílá data službě ke zpracování a služba by měla normálně vrátit nový nebo změněný zdroj.
- PUT: Zdroj je aktualizován na adrese URL požadavku.
- DELETE: Zdroj je odstraněn na adrese URL požadavku.
- Možnosti: Identifikuje podporované metody.
- HEAD: Metadata adresy URL požadavku jsou vrácena.
7. Popište omezení stanovená konzistentním rozhraním.
Aby bylo možné oddělit klienta od serveru, je nutné konzistentní rozhraní.
K dosažení konzistentního rozhraní jsou vyžadována následující čtyři omezení:
- Identifikace zdrojů: Požadavky klientů musí k identifikaci zdrojů (URI) používat standardní ID zdrojů.
- Manipulace se zdroji pomocí těchto reprezentací: Klienti mají všechny informace potřebné k tomu, aby mohli změnit stav prostředků, když získají reprezentaci prostředků ze serveru.
- Samopopisné zprávy: Zprávy obsahují všechna metadata a další informace potřebné k tomu, aby jim příjemce porozuměl.
- Hypermédia jako modul stavu aplikace: Kanálem pro komunikaci klient-server jsou hypermédia, jako je HTML, a klienti nepotřebují dokumentaci specifickou pro API, aby pochopili odpovědi serveru.
8. Co je to vlastně REST Resource?
Zdroje jsou základní komponenty webové služby RESTful v architektuře REST. Zahrnují všechny klíčové informace, ke kterým klient API potřebuje přístup.
Přes server v systému klient-server lze přistupovat k jakémukoli typu zdrojů, jako je stránka HTML, obrázek, video nebo cokoli jiného potřebného pro aktivitu API.
Zdroje jsou identifikovány jednotným identifikátorem zdroje. Text, JSON nebo XML jsou všechny přijatelné reprezentace zdrojů. Vzhledem k tomu, že neexistují žádná omezení formátu reprezentace.
9. Co pro vás znamená JAX-RS?
Vytváření webových služeb RESTful v Javě je jednodušší díky rozhraní Java API pro webové služby RESTful, často známému jako JAX-RS. Vývojáři mohou popisovat zdroje a operace, které s nimi lze provádět, pomocí poskytnutých anotací.
10. Co od sebe odlišuje AJAX a REST?
Ajax:
- Ajax je skupina technologií, které umožňují dynamickou aktualizaci Uživatelské rozhraní prvků bez nutnosti znovu načítat stránku.
- Ajax odstraňuje asynchronní komunikaci mezi klientem a serverem.
ODPOČINEK:
- REST vyžaduje komunikaci mezi serverem a klientem.
- Využití zdrojů je důležité pro strukturu URL a vzor žádost/odpověď používaná RESTem.
11. Můžete uvést některé nevýhody webových služeb RESTful?
Relace nelze udržovat, protože služby dodržují pojem bez státní příslušnosti. (Klient je zodpovědný za předání ID relace během simulace relace.)
Bezpečnostní omezení nejsou pro REST zásadní. Protokoly, které jej používají, zdědí bezpečnostní opatření. Při zavádění bezpečnostních opatření, jako je integrace autentizace na základě SSL/TLS, je proto důležitá opatrnost.
12. Co od sebe odlišuje techniky PUT a POST?
DÁT:
- Neexistuje žádná mezipaměť pro odpovědi PUT.
- Idempotentní (tj. více požadavků přinese stejný výsledek)
- datová část požadavku aktualizuje nebo nahrazuje cílový zdroj.
POŠTA:
- idempotent ne (tj. více požadavků přinese násobky stejného zdroje)
- Webový server zpracovává obsah požadavku na základě zamýšleného zdroje.
- Pokud je zahrnuta příslušná hlavička řízení mezipaměti, lze odpovědi POST uložit do mezipaměti.
13. Jak testujete webové služby RESTful?
Testování webových služeb RESTful může pomoci řada nástrojů, včetně Swagger a Postman. Inspekce parametrů požadavku, jako jsou parametry dotazu, hlavičky a hlavičky odpovědí, je umožněna díky velkému množství funkcí.
Postman lze použít k vytváření požadavků na koncové body a zobrazování výsledků. A z těchto odpovědí lze vytvořit XML a JSON.
Postman a Swagger oba poskytují extrémně srovnatelné funkce. Na druhou stranu Swagger také nabízí funkce, jako je dokumentace koncových bodů.
14. Popište REST API v reálném světě.
- Webové stránky věnované cestování a jízdenkám mohou využít časování letů a ceny, které letecké společnosti zpřístupňují prostřednictvím rozhraní API.
- Aby je mohly používat mapové a navigační aplikace (jako jsou Mapy Google), agentury veřejné dopravy často zveřejňují svá data v reálném čase prostřednictvím rozhraní API.
- Aplikace počasí používají otevřená rozhraní API, která si vyměňují data o počasí za účelem zobrazení informací o počasí.
- Vývojáři mohou přistupovat k mapovým datům Map Google prostřednictvím řady hostovaných rozhraní API. Tato rozhraní API používají vývojáři k vkládání dynamických map do svých aplikací a webových stránek.
15. Jak funguje architektura mikroslužeb?
- Požadavky posílají různí zákazníci pomocí různých zařízení.
- Po potvrzení identity klientů poskytují poskytovatelé identit bezpečnostní tokeny.
- Požadavky klientů jsou spravovány rozhraním API Gateway.
- Veškerý materiál systému je zachován jako statický obsah.
- Nástroj pro správu kontroluje rovnováhu služeb na uzlech a případné poruchy.
- Objevování cesty komunikace mezi mikroslužbami napomáhá vyhledávání služeb.
- Datová centra a proxy servery tvoří rozptýlené síťové systémy nazývané sítě pro doručování obsahu.
- Vzdálené služby poskytují přístup k informacím na dálku.
16. Co přesně je ukládání do mezipaměti?
Praxe dočasného uchovávání kopie odpovědi serveru někde (jako je paměť počítače) za účelem pozdějšího rychlejšího přístupu se nazývá ukládání do mezipaměti.
Ukládání do mezipaměti zvyšuje rychlost serveru při používání rozhraní REST API tím, že snižuje množství práce, kterou musí server vykonat, aby splnil požadavek. Aplikace, které využívají API, běží rychleji díky ukládání do mezipaměti, protože nemusejí zasílat nový požadavek pokaždé, když potřebují zdroj.
Pole Cache-Control hlavičky HTTP odpovědi obsahuje informace o tom, jak dlouho může být prostředek ukládán klientem do mezipaměti, než k němu bude potřeba znovu přistupovat.
17. Popište užitečné zatížení.
Užitná zátěž v REST odkazuje na informace obsažené v těle odpovědi HTTP. Zákazník si vyžádal předmětná data technikou GET.
Dokument obsahující text tweetu a všechny potřebné soubory pro umístění tweetu na web bude zahrnut do užitečného obsahu, například pokud požádáte Twitter API o konkrétní tweet. Kromě toho lze datovou část zahrnout do požadavku HTTP pomocí metody POST.
18. Rozlišujte MÝDLO vs?
- Na rozdíl od SOAP, které dokáže zpracovat pouze XML, REST umožňuje širší škálu formátů zdrojů, včetně XML, textu, HTML, obrázků, videa a dalších.
- Když je pro online aplikace zásadní zabezpečení, je užitečné SOAP. REST nelze použít, když transakce musí být dokončeny bezpečně, protože není zvláště bezpečný.
- Protože SOAP je pouze protokol, REST jej může používat ve svých webových službách, ale ne naopak.
- Zatímco REST je pouze architektonický vzor používaný k vývoji webových služeb a dodržuje určitá omezení, jako je nastavení klient-server, bezstavová odezva, odezva s mezipamětí, vrstvené systémy a konzistentní rozhraní, SOAP je protokol, který funguje na konkrétních standardech, které musí být přísně dodržovány. na.
- Zatímco REST používá identifikátory URI (Universal Resource Identifier), SOAP využívá rozhraní služeb k poskytování svých schopností klientským aplikacím. REST vyžaduje menší šířku pásma než SOAP, protože zprávy SOAP jsou náročnější na informace.
19. Lze použít protokol zabezpečení transportní vrstvy (TLS) s REST?
Ve skutečnosti můžeme. Komunikace mezi klientem a serverem REST je šifrována pomocí TLS a protokol také umožňuje klientům ověřovat servery.
Vzhledem k tomu, že se jedná o náhradu Secure Socket Layer, je využívána pro zabezpečenou komunikaci (SSL). Implementace webových služeb RESTful je s HTTPS úspěšná, protože efektivně spolupracuje s TLS i SSL.
REST dědí vlastnosti protokolu, který implementuje, což je jedna věc, kterou je třeba si zde všimnout. V důsledku toho jsou bezpečnostní ochrany závislé na protokolu, který používá REST.
20. Idempotentní metody: co to je? Jak to platí pro svět webových služeb RESTful?
Když je identifikátor URI stejný, některé metody HTTP v požadavku mají stejný dopad na server, ať už jsou doručeny jednou nebo několikrát. Idempotentní techniky jsou to, čemu se říká.
Například bez ohledu na to, kolikrát se spustí URI pomocí metody GET, server vždy zaznamená stejný výsledek. Idempotentní metody zahrnují GET, PUT a PATCH, abychom jmenovali alespoň některé.
Idempotentní metody HTTP jsou některé z těch, které využívá RESTful webové aplikace. Jsou nezbytné pro zajištění konzistence v činnostech webových služeb RESTful.
Zákazníci, kteří používají REST API, mohou dělat chyby v kódu, které nutí REST API k náhodným opakovaným požadavkům. Tyto hovory mají potenciál ke zneužití zdrojů.
21. Jaká je funkce základního ověřování HTTP?
Při použití Basic Authentication jako součásti API musí uživatel odeslat uživatelské jméno a heslo, které prohlížeč zřetězí ve tvaru „uživatelské jméno: heslo“ a zakódované base64.
Při každém požadavku HTTP z prohlížeče je zakódovaná hodnota doručena jako hodnota pro hlavičku „Authorization“. Vzhledem k tomu, že přihlašovací údaje jsou pouze zakódované, doporučuje se používat tento formulář při odesílání požadavků HTTPS, protože nejsou zabezpečené a mohou být zachyceny kýmkoli, pokud se nepoužívají bezpečnostní protokoly.
22. Myslíte si, že GraphQL je nejlepší volbou pro vytvoření architektury mikroslužeb?
Microservices a GraphQL spolu dokonale ladí, protože GraphQL udržuje vaši architekturu mikroslužeb v tajnosti před vašimi klienty.
Z frontendu chcete, aby všechna vaše data pocházela z jediného API, zatímco z back-endu je chcete rozdělit na mikroslužby. Nejlepší technika, o které vím, jak dosáhnout obojího, je použití GraphQL.
Umožňuje vám rozdělit backend na mikroslužby a přitom dát každé aplikaci jediné API a umožnit spojení napříč daty z různých služeb.
23. Jaké jsou hlavní rozdíly mezi bezpečnými a idempotentními metodami HTTP?
Idempotentní metody produkují stejný výsledek, když jsou vyvolány jednou nebo vícekrát prostřednictvím stejného požadavku. Metoda PUT je idempotentní.
Všechny bezpečné způsoby jsou idempotentní, ale ne všechny idempotentní metody jsou bezpečné, protože bezpečné metody nemění zdroje. Například GET je bezpečný, protože pouze načítá data a nemění zdroj.
Navíc je idempotentní, což znamená, že při vyvolání vždy vrátí stejnou odpověď.
24. Co znamená JAX-RS API třídami RESTful Root Resource Classes?
Java Enterprise Edition poskytuje třídy a rozhraní, která splňují požadavky JAX-RS API. S pomocí JAX-RS je vytváření Java webových služeb v architektonickém stylu REST jednodušší.
V rozhraní JAX-RS API jsou třídy kořenových prostředků pouze „obyčejné staré objekty Java“ nebo POJO. Za účelem implementace nezbytných webových zdrojů využívají anotace JAX-RS.
Buď mají anotace @path, nebo alespoň jedna z jejich metod má anotace @path. Lze je shrnout jako třídy Java s metodami pro práci s koncovými body API.
25. Co je to vlastně Postman a proč se používá?
Vývojový nástroj API s názvem Postman se používá k vytváření, testování a úpravě API. Tento nástroj mohou vývojáři použít pro jakoukoli funkci, kterou vyžadují pro API. Zjednodušuje a usnadňuje vývojářům práci.
Postman usnadňuje vytváření různých HTTP dotazů, včetně GET, POST, PUT a PATCH, ukládání prostředí pro pozdější použití a převod API na kód v řadě různých jazyků.
Každá fáze cyklu API je s Postmanem jednodušší a spolupráce je zjednodušena pro rychlejší vývoj API.
Kromě toho umožňuje vývojářům spravovat dokumentaci, specifikace, testovací případy, procesy a katalogy API.
26. Jak jsou REST API udržována v bezpečí?
Vzhledem k tomu, že rozhraní REST API nepoužívají tak přísná bezpečnostní opatření jako SOAP API, neměla by se pomocí nich odesílat ani načítat citlivá data.
Důvěryhodná REST API však nadále integrují bezpečnostní kontroly pro bezpečné a spolehlivé přenosy dat.
- Autentizace a autorizace: Každý požadavek na rozhraní API musí projít těmito dvěma kontrolami. Ověření identity klienta prostřednictvím autentizace a ověření, že má oprávnění k přístupu k požadovaným prostředkům prostřednictvím autorizace, jsou dva různé procesy.
- Ověření: Než rozhraní API udělí přístup ke svým zdrojům, musí být požadavky po ověření a autorizaci stále zkontrolovány, zda neobsahují potenciálně škodlivý kód. Server by tak byl otevřen injektážnímu útoku.
- Ověření: Než rozhraní API udělí přístup ke svým zdrojům, musí být požadavky po ověření a autorizaci stále zkontrolovány, zda neobsahují potenciálně škodlivý kód. Server by tak byl otevřen injektážnímu útoku.
- Šifrování: Šifrování TLS/SSL chrání spojení mezi klientem a serverem a brání hackerům v zachycení požadavků a odpovědí.
- Techniky omezující rychlost, jako jsou limity a omezování, chrání servery před útoky hrubou silou, jako je DDoS, které mají za cíl jejich degradaci nebo zhroucení.
- Žádné citlivé informace v URI: URI zdrojů by neměly obsahovat žádná chráněná data (jako je uživatelské jméno, heslo nebo ověřovací token).
Proč investovat do čističky vzduchu?
Gratulujeme! Několik základních až komplexních pohovorových otázek REST API a jejich příslušná řešení jsou nyní na dosah ruky.
Nyní, když máte dobrou představu o tom, jak odpovědět na některé z typických otázek pohovorů REST API, můžete pokračovat v odpovědích na pohovory. Další krok závisí na vašich cílech.
Návštěva Série rozhovorů s Hashdorkem k přípravě na rozhovory.
Napsat komentář