70 najlepších otázok na pohovor s webovými službami Odpovede

Anonim

Stiahnite si PDF

1) Definujete webovú službu?

Webová služba je druh softvéru, ktorý je prístupný na internete. Využíva systém zasielania správ XML a ponúka ľahko pochopiteľné rozhranie pre koncových používateľov.

2) Čo je nové v tejto oblasti za posledných pár rokov?

Iniciácia XML v tejto oblasti je pokrok, ktorý poskytuje webovej službe jediný jazyk na komunikáciu medzi RPC, webovými službami a ich adresármi.

3) Uveďte príklad skutočnej webovej služby?

Jedným príkladom webových služieb je prehliadač IBM Web Services. Môžete ho získať zo stránky IBM Alphaworks. Tento prehliadač zobrazuje rôzne ukážky súvisiace s webovými službami. Webové služby je možné v zásade používať pomocou SOAP, WSDL a UDDI. To všetko poskytuje rozhranie typu plug-and-play na používanie webových služieb, ako je napríklad služba cenových ponúk, služba hlásenia o premávke, meteorologická služba atď.

4) Ako definujete zásobník protokolu webových služieb?

Je to v podstate sada rôznych protokolov, ktoré možno použiť na prieskum a vykonávanie webových služieb. Celý zásobník má štyri vrstvy, tj transport služieb, zasielanie správ XML, popis služby a zisťovanie služby.

5) Môžete definovať každú z týchto vrstiev zásobníka protokolov?

Vrstva Service Transport prenáša správy medzi rôznymi aplikáciami, ako sú HTTP, SMTP, FTP a Blocks Extensible Exchange Protocol (BEEP). Vrstva správ XML kóduje správy vo formáte XML, aby bolo možné správam porozumieť na každom konci, napríklad XML-RPC a SOAP. Vrstva Popis služby popisuje používateľské rozhranie s webovou službou, napríklad WSDL. Vrstva Service Discovery centralizuje služby do spoločného registra a ponúka jednoduché funkcie publikovania, napríklad UDDI.

6) Definujte XML - RPC?

Jedná sa o protokol, ktorý využíva správy XML na vzdialené volanie procedúr.

7) Definovať mydlo?

SOAP je protokol založený na XML na prenos medzi počítačmi.

8) Definovať WSDL?

Znamená to jazyk popisu webových služieb. Je to v podstate vrstva popisu služby v sklade protokolu webovej služby. Vrstva Popis služby popisuje užívateľské rozhranie k webovej službe.

9) Aký druh zabezpečenia je potrebný pre webové služby?

Úroveň zabezpečenia webových služieb by mala byť vyššia ako úroveň zabezpečenia SSL (Secure Socket Layer). Túto úroveň zabezpečenia je možné dosiahnuť iba pomocou platformy Entrust Secure Transaction Platform. Webové služby potrebujú túto úroveň zabezpečenia, aby zabezpečili spoľahlivé transakcie a zabezpečili dôverné informácie.

10) Máte predstavu o bezpečnostných službách nadácie?

Ako už z názvu vyplýva, tieto služby sú základom alebo základmi procesov integrácie, autentifikácie, autorizácie, digitálnych podpisov a šifrovania.

11) Definujete službu dôveryhodnej identifikácie?

Identifikačná služba Entrust pochádza z platformy Entrust Security Transaction Platform. Táto platforma umožňuje spoločnostiam riadiť identity, ktorým dôverujú dôveryhodné transakcie spojené s transakciami webových služieb.

12) Čo znamená UDDI?

UDDI znamená Universal, Description, Discovery a Integration. Je to vrstva objavu v zásobníku protokolu webových služieb.

13) Definovať službu poverenia?

Táto služba overuje entity, ktoré sa pokúšajú získať prístup k webovej službe. Napríklad autentifikačná služba, služba Entitlements Service, zaisťuje bezpečnosť v obchodných operáciách.

14) Definujete službu ochrany osobných údajov spoločnosti Trust?

Ako už z jeho názvu vyplýva, zaoberá sa bezpečnosťou a dôvernosťou. Táto služba šifruje údaje, aby zabezpečila, že k údajom majú prístup iba príslušné strany.

15) Čo máte na mysli pod PKI?

Znamená to infraštruktúru verejného kľúča.

16) Aké nástroje sa používajú na testovanie webovej služby?

Použil som SoapUI pre SOAP WS a doplnok plagátu Firefox pre RESTFul Services.

17) Rozlišovať medzi SOA a webovou službou?

SOA je dizajn a architektúra na implementáciu ďalších služieb. SOA možno ľahko implementovať pomocou rôznych protokolov, ako sú HTTP, HTTPS, JMS, SMTP, RMI, IIOP, RPC atď. Aj keď je webová služba sama o sebe implementovanou technológiou. V skutočnosti je možné implementovať SOA pomocou webovej služby.

18) Diskutujte o rôznych prístupoch k vývoju webových služieb založených na SOAP?

Môžeme vyvinúť webovú službu založenú na SOAP s dvoma rôznymi typmi prístupov, ako je zmluva-prvý a zmluva-posledný. V prvom prístupe je najskôr definovaná zmluva a potom sú triedy odvodené od zmluvy, zatiaľ čo v neskoršom prípade sú triedy definované ako prvé a potom je z týchto tried odvodená zmluva.

19) Ak si musíte zvoliť jeden prístup, aký bude váš výber?

Z môjho pohľadu je prvý prístup, ktorý je prístupom na základe zmluvy, uskutočniteľnejší v porovnaní s druhým prístupom, ale stále závisí aj od ďalších faktorov.

20) Existuje na prístup k webovej službe nejaká špeciálna aplikácia?

Nie, na prístup k webovej službe nemusíte inštalovať žiadnu špeciálnu aplikáciu. K webovej službe môžete pristupovať z ktorejkoľvek aplikácie, ktorá podporuje požiadavku a odpoveď na objekt založený na XML.

21) Môžete vymenovať niekoľko bezplatných a komerčných implementácií pre webové služby?

Implementácie, ktoré poznám, sú Apache SOAP, JAX-WS Reference Implementation, JAX-RS Reference Implementation, Metro, Apache CXF, MS.NET a Java 6.

22) Prehliadač názvov, ktorý umožňuje prístup k webovej službe?

Objekt JavaScript XmlHttpRequest sa vyžaduje na prístup k webovej službe prostredníctvom prehľadávačov. Prehliadače, ktoré tento objekt podporujú, sú prehliadače Internet Explorer, Safari a Mozilla, ako napríklad FireFox.

23) Čo je to REST?

REST znamená Reprezentatívny štátny prevod. Samotný REST nie je štandardom, aj keď používa rôzne štandardy, ako sú HTTP, URL, XML / HTML / GIF / JPEG.webp (zastúpenie zdrojov) a text / xml, text / html, obrázok / gif, obrázok / jpeg.webp atď. (Typy MIME ).

24) Ako je možné poskytnúť API používateľom?

Aby sme používateľom mohli poskytnúť API, je možné to urobiť pomocou „otvorenej tabuľky“. Všetko, čo musíte urobiť, je napísať otvorenú tabuľku, ktorá je v podstate schémou XML, ktorá ukazuje na webovú službu.

25) Pomenujete rôzne komunikačné kanály vo webovej službe?

Webová služba je integrovaná s tromi protokolmi, ako sú HTTP / POST, HTTP / GET a SOAP. Poskytuje klientom tri rôzne komunikačné kanály. Klient si môže zvoliť ľubovoľný spôsob komunikácie podľa požiadaviek.

26) Ako môžete zdokumentovať webovú službu?

Webové služby sa považujú za samodokumentujúce, pretože poskytujú všetky informácie týkajúce sa dostupných metód a parametrov používaných pre štandard založený na XML, známy ako WSDL. Jeden môže tiež poskytnúť viac informácií na vysvetlenie webových služieb prostredníctvom vlastných atribútov WebService a WebMethod.

27) Aké sú situácie, keď potrebujeme webové služby ASP.NET?

Webové služby ASP.NET sa používajú, keď je potrebné implementovať trojstupňovú architektúru vo webovej službe. Umožňuje praktické spôsoby použitia komponentov strednej úrovne cez internet. Hlavnou výhodou webových služieb .NET je, že sú dostatočne schopné komunikovať cez brány firewall, pretože používajú ako prenosový protokol SOAP.

28) Čo sú distribuované technológie?

Zvyšujúci sa pomer distribuovaných aplikácií zvýšil dopyt po distribuovaných technológiách. Umožňuje segmentáciu aplikačných jednotiek a ich prenos na rôzne počítače v rôznych sieťach.

29) Rozlišovať medzi webovými službami, CORBA a DCOM?

Webové služby prenášajú / prijímajú správy do / z aplikácie prostredníctvom protokolu HTTP. Na kódovanie údajov používa XML.

CORBA a DCOM prenášajú / prijímajú správy do / z aplikácie prostredníctvom neštandardných protokolov, ako sú IIOP a RPC.

30) Môžete povedať niekoľko výhod webových služieb?

Najväčšou výhodou webovej služby je, že je podporovaná širokou škálou platforiem. Navyše v blízkej budúcnosti môžu webové služby rozšíriť svoje hranice a vylepšiť nové metódy, ktoré klientom uľahčia prácu. Vylepšenie nebude mať vplyv na klientov, aj keď ponúkajú staré metódy a parametre.

31) Môžete vymenovať niektoré štandardy používané vo webových službách?

Normy používané vo webových službách sú WSDL (používané na vytvorenie definície rozhrania), SOAP (používané na štruktúrovanie údajov), HTTP (komunikačné kanály), DISCO (používané na vytváranie dokumentov vyhľadávania) a UDDI (používané na vytváranie obchodných registrov).

32) Vysvetlite v skratke, čo je to DISCO?

DISCO znamená objav. Zoskupuje zoznam vzájomne súvisiacich webových služieb. Organizácia, ktorá poskytuje webové služby, vydá na svojom serveri súbor DISCO a tento súbor obsahuje odkazy na všetky poskytované webové služby. Tento štandard je dobrý, keď klient spoločnosť už pozná. Môže byť tiež použitý v miestnej sieti.

33) Vysvetlite v skratke, čo je UDDI?

UDDI (Universal Description, Discovery a Integration) poskytuje konsolidovaný adresár pre webové služby na internete. Klienti používajú UDDI na vyhľadanie webových služieb podľa svojich obchodných potrieb. V zásade je hostiteľom webových služieb od rôznych spoločností. Ak chcete zdieľať webové služby, musíte ich zverejniť v UDDI.

34) Vysvetlite podporované dátové typy webových služieb .NET?

Webové služby .Net používajú na prenos / príjem informácií štandardy založené na XML. Webové služby .NET teda môžu pracovať iba s dátovými typmi známymi podľa štandardu schémy XML. Rovnako ako FileSteam, Eventlog atď., Štandardy schémy XML nerozpoznávajú, a preto ich webové služby nepodporujú.

35) Ako sa testuje webová služba .NET?

ASP.NET rutinne používa testovaciu stránku, keď si v ktoromkoľvek prehliadači vyžiada adresu URL súboru .asmx. Táto stránka zobrazuje úplné informácie o webových službách.

36) Ako sa spotrebúva webová služba .NET?

Pretože vieme, že webové služby sú postavené na štandardoch XML. Preto si klienti musia navzájom dobre vymieňať správy založené na XML. Klienti môžu komunikovať s webovými službami prostredníctvom rozhrania .NET, ktoré ponúka mechanizmy proxy. Tieto mechanizmy proxy obsahujú podrobné informácie týkajúce sa zdieľania údajov v rámci webových služieb, ktoré môžu klienti ľahko použiť.

37) Môžete pomenovať dve riešenia spoločnosti Microsoft pre distribuované aplikácie?

Dve riešenia spoločnosti Microsoft pre distribuované aplikácie sú .NET Web Services a .NET Remoting.

38) Rozlišovať medzi .NET Web Services a .NET Remoting?

Pokiaľ ide o protokol, .NET Web Service používa HTTP, zatiaľ čo .NET Remoting používa akýkoľvek protokol, tj. TCP / HTTP / SMTP. Pokiaľ ide o výkon, .NET Remoting je porovnateľne rýchlejší ako .NET Web Service. Pretože sú webové služby .NET hostené cez IIS, sú omnoho spoľahlivejšie ako .NET Remoting.

39) Pomenujete komponenty, ktoré majú byť zverejnené počas implementácie webovej služby?

Komponenty, ktoré je potrebné zverejniť počas nasadenia webovej služby, sú Web Application Directory, Webservice.asmx File, Webservice.Disco File, Web.Config File a Bin Directory.

40) Aké sú kroky klienta na prístup k webovej službe?

Najskôr webový odkaz na webovú službu vytvorí klient vo svojej aplikácii. Potom sa vygeneruje trieda proxy. Potom sa vytvorí objekt triedy proxy a nakoniec sa k webovej službe pristupuje prostredníctvom tohto objektu proxy.

41) Ako sa implementujú webové služby v .NET?

Na implementáciu webových služieb v .NET sa používajú obslužné programy HTTP, ktoré prerušujú požiadavky na súbory .asmx.

42) Vysvetlite niekoľko nevýhod Response Caching?

Ukladanie do medzipamäte odpovede je zbytočné alebo nekompetentné, keď metóda prijíma veľké množstvo hodnôt, pretože ukladanie do pamäte cache znamená ukladanie veľkého množstva informácií. Pokiaľ metóda závisí od externého zdroja informácií, ktorý nie je uvedený v parametroch, tieto metódy sa obchádzajú.

43) Aké je alternatívne riešenie pre odpoveď Caching?

Jeden je možné použiť Data Caching (System.Web.Caching.Cach) namiesto Response Caching.

44) Stručných niekoľko nevýhod používania metód GET a POST na komunikáciu s webovou službou?

Tieto metódy sú menej bezpečné a bránia používateľom odovzdávať štruktúry a objekty ako argumenty. Tiež to neumožňuje používateľom odovzdávať argumenty ByRef.

45) Ako je možné získať prístup k triede ako webovej službe?

Pre prístup k triede ako webovej službe by ste mali triedu zdediť z triedy System.Web.Services.WebService a kvalifikovať ju pomocou atribútu WebService.

46) Ako je možné získať prístup k metóde triedy webových služieb cez internet?

Pre prístup k metóde triedy webových služieb cez internet by sa mala kvalifikovať metóda s atribútom WebMethod.

47) Ako je štruktúrovaná správa SOAP?

Správa SOAP sa skladá z obálky SOAP, hlavičiek SOAP a tela SOAP.

48) Môžete pomenovať rôzne druhy webových služieb?

Celkovo existujú dva typy webových služieb, tj webová služba založená na SOAP a webová služba RESTful.

Táto otázka je už spomenutá skôr.

49) Čo sa líši vo webových službách RESTful?

Webové služby RESTful neobsahujú žiadny kontrakt ani súbor WSDL.

50) Dajte mi niekoľko dôvodov na použitie webovej služby RESTful?

Webové služby RESTFul sa ľahko implementujú a testujú. Podporuje rôzne dátové formáty ako XML, JSON atď.

51) Vysvetlite, čo sú webové služby JAVA? Aké sú spôsoby vytvárania webových služieb?

Webové služby Java sú vyvíjané s cieľom vybudovať a nasadiť základné webové služby na platforme JAVA.

Pri vytváraní webových služieb sa používajú dva prístupy

  • Prístup zhora nadol
  • Prístup dobitia

52) Vysvetlite, čo je JAXP?

JAXP je JAVA API na spracovanie XML, ktoré umožňuje aplikácii písať, čítať, manipulovať a transformovať údaje XML. Podobne na vykonávanie ďalších rôznych funkcií existujú aj iné Java API, ako napríklad JAX-RPC, JAXM, JAXR, JAXB atď.

53) Uveďte väzbový rámec JAXB?

Väzbový rámec JAXB je k dispozícii v troch balíkoch Java

  • xml.bind: Tento balík definuje abstraktné triedy a rozhrania, ktoré sa používajú priamo s triedami obsahu
  • xml.bind.util: Tento balík obsahuje triedy obslužných programov, ktoré môžu klientske aplikácie využívať na správu udalostí zaraďovania, oddeľovania a overovania
  • xml.bind.helper: Tento pomocný balík poskytuje čiastočné implementácie pre niektoré rozhrania javax.xml.bind. Tieto API nesmú priamo používať aplikácie používajúce architektúru JAXB

54) Uveďte jednoduchý príklad toho, ako môžu byť dokumenty XML v rámci JAVA Marshal a Unmarshal?

Marshalling je proces konverzie XML dokumentu do čitateľnej podoby Java, zatiaľ čo UnMarshalling je reverzný proces Marshallingu. Pozrime sa, ako Java zruší klasifikáciu dokumentu XML a potom ho zaradí späť

JAXBContext jc = JAXBContext.newInstance ("com.acme.foo");

// unmarshal from foo.xml

Unmarshaller u = jc.createUnmarshaller ();

FooObject fooObj =

(FooObject) u.unmarshal (nový súbor ("foo.xml"));

// maršal na sytem.out

Marshaller m = jc.createMarshaller ();

m.marshal (fooObj, System.out);

55) Vysvetlite, čo robí Marshaller, ak vlastnosť jaxb.encoding nie je deklarovaná?

Ak nie je deklarovaná vlastnosť jaxb.encoding, Marshaller štandardne použije „UTF-8“.

56) Uveďte, aké typy validácie môže klient JAXB vykonávať?

Existujú dva typy validácie klientov JAXB, ktoré môže JAXB vykonávať

  • Unmarshal Time Validation
  • Overenie na požiadanie

57) Uveďte, aké sú tri spôsoby riešenia udalosti, ktorá sa vyskytla počas operácií zaradenia, zaradenia a potvrdenia?

  • Pomocou predvoleného obslužného programu udalostí
  • Zaregistrujte sa a implementujte vlastný obslužný program udalostí
  • Použite obslužný program ValidationEventCollector

58) Vysvetlite, kde sa nachádza kompilátor JAXB?

Kompilátor väzieb schémy JAXB je umiestnený v adresári / jaxb / bin. V tomto adresári sú dva skripty, xjc.sh (Solaris / Linux) a xjc.bat (Windows).

59) V akých prípadoch musíte prispôsobiť predvolenú väzbu?

V niektorých prípadoch sa vyžaduje prispôsobenie predvolenej väzby ako

  • Vytváranie dokumentácie API pre balíky, triedy, metódy a konštanty odvodené zo schémy JAXB
  • Poskytovanie sémanticky zmysluplných prispôsobených názvov pre prípady, ktoré predvolené mapovanie identifikátora XML na Java nedokáže automaticky spracovať
  • Prepísanie predvolenej väzby - napríklad špecifikácia, že skupina modelov by mala byť pripojená k triede a nie k zoznamu

60) Vysvetlite, čo je vložené prispôsobenie?

Prispôsobenie väzieb JAXB pomocou deklarácií vloženej väzby v súbore schémy XML, ktoré majú formu prvkov vložených do prvkov schémy .

61) Vysvetlite, čo je podpis XML?

XML možno použiť na podpisovanie ľubovoľných údajov, či už ide o binárne súbory alebo XML. Údaje sú rozpoznávané prostredníctvom identifikátorov URI v jednom alebo viacerých referenčných prvkoch. Je opísaná v jednej alebo viacerých formách, napríklad oddelená, obklopujúca alebo zabalená.

62) Vysvetlite, čo je Stax?

Stax znamená Streaming API pre XML; je to API na čítanie a zápis dokumentov XML pochádzajúcich z programovacieho jazyka JAVA.

63) Uveďte, aké sú bežné XML API?

Bežné XML API zahŕňajú

  • Rozhrania API založené na DOM alebo na strome: Celý dokument sa načíta do pamäte ako stromová štruktúra pre náhodnú dostupnosť volaním aplikácie
  • Rozhrania API založené na udalostiach: Aplikácia sa zaregistruje, aby získala udalosti, keď sa v zdrojovom dokumente vyskytnú entity

64) Vysvetlite, čo je push analýza a pull analýza?

  • Analýza Pull: Analýza streamovania Pull sa označuje ako programovací model, v ktorom klientská aplikácia volá metódy v knižnici syntaktickej analýzy XML, keď je potrebné komunikovať s informačnou sadou XML - čo znamená, že klient dostane údaje XML iba v prípade, že je o to požiadaný
  • Analýza pomocou push: Pri analýze pomocou push syntaktický analyzátor tlačí do aplikácie udalosti syntaktickej analýzy alebo údaje XML. V push modeli dostal syntaktický analyzátor kontrolu nad procesom syntaktickej analýzy a syntaktický analyzátor volá implementované metódy obsluhy.

65) Vysvetlite, na ktorej technológii je založené zabezpečenie XWS? Vymenovať možnosti, ktoré poskytuje zabezpečenie XWS na zabezpečenie aplikácií JAX-RPC?

Zabezpečenie XWS je založené na zabezpečení webových služieb postavených na JAX-RPC a na samostatnej aplikácii založenej na SAAJ. Na zabezpečenie aplikácie JAX-RPC sú dostupné možnosti, ktoré poskytuje zabezpečenie XWS

  • Digitálny podpis XML
  • Šifrovanie XML
  • Overenie tokenu používateľského mena
  • Rozhrania API pre bezpečnostný rámec XWS

66) Zoznam šiestich balíkov dostupných v rozhraní API pre digitálny podpis XML?

Rozhranie API pre digitálny podpis je

  • xml.crypto
  • xml.crypto.dsig
  • xml.crypto.dsig.keyinfo
  • xml.crypto.dsig.spec
  • xml.crypto.dom
  • xml.crypto.dsig.dom

67) Vysvetlite, čo je JAXR?

JAXR je programovacie API JAVA pre aplikáciu platformy Java na prístup a programovú interakciu s rôznymi druhmi metadátových registrov.

68) Vysvetlite, z čoho pozostáva architektúra JAXR?

Architektúra JAXR sa skladá z klienta JAXR a poskytovateľa JAXR.

  • Klient JAXR: Je to klientský program, ktorý používa rozhranie JAXR API na použitie registra prostredníctvom poskytovateľa JAXR
  • Poskytovateľ JAXR: Je to implementácia rozhrania JAXR API, ktorá poskytuje prístup k konkrétnemu poskytovateľovi registra alebo k triede poskytovateľov registra, ktoré sú postavené na spoločných špecifikáciách.

69) Vysvetlite, čo sú modely správ JAXM?

Existujú dva typy modelov zasielania správ pre JAXM synchrónne a asynchrónne

  • Model synchrónnych správ: V takomto type modelu klient priamo komunikuje so zdrojom. V tomto klient pošle požiadavku a čaká.
  • Model asynchrónneho zasielania správ: V tomto modeli klient smeruje správu na poskytovateľa správ a vracia sa späť. Poskytovateľ správ potom vykoná smerovanie správy na koncový zdroj.

70) Vysvetlite, čo sú UDDI, DISCO a WSDL?

  • UDDI: Znamená univerzálny popis, objav a ja. Je to adresár, ktorý sa používa na publikovanie a objavovanie verejných webových služieb
  • DISCO: Je všeobecne známy ako objav. Spoločne združuje spoločné služby a vystavuje dokument schémy webových služieb
  • WSDL: Je to skratka pre jazyk popisu webových služieb (WSDL). Používa sa na opis webových služieb. Popis obsahuje URL webových služieb, vlastnosti a metódy podporované webovými službami, podporovaný dátový typ a podporované podrobnosti protokolu