50 Asp.Net Web API intervjuu küsimust ja vastust (2024)
Asp.Net Web API intervjuu küsimused ja vastused värsketele
1) Mis on Web API?
WebAPI on raamistik, mis aitab teil HTTP-teenuseid luua/arendada.
2) Miks on Web API vajalik? Kas WCF-i abil on võimalik RESTfuli teenuseid kasutada?
Jah, RESTfuli teenuseid saame endiselt arendada WCF-iga. Siiski on kaks peamist põhjust, miks kasutajad kasutavad RESTfuli teenuste asemel veebi API-d.
- Web API suurendab TDD (Test Data Driven) lähenemist RESTfuli teenuste arendamisel.
- Kui tahame WCF-is RESTfuli teenuseid arendada, vajate kindlasti palju konfiguratsiooniseadeid, URI-malle, lepinguid ja lõpp-punkte RESTfuli teenuste arendamiseks veebi API abil.
👉 Tasuta PDF-i allalaadimine: Asp.Net Web API intervjuu küsimused ja vastused >>
3) Miks valida Web API?
- Seda kasutatakse lihtsate, mitte-SOAP-põhiste HTTP-teenuste loomiseks
- See on ka lihtne meetod veebi API-ga loomiseks. WCF REST teenustega
- See põhineb HTTP-l ja seda on lihtne defineerida, paljastada ja REST-täielikult tarbida.
- See on kerge arhitektuur ja sobib ideaalselt piiratud ribalaiusega seadmetele, nagu nutitelefonid.
4) Kas on õige, et ASP.NET Web API asendas WCF-i?
See pole sugugi tõsi, et ASP.NET Web API on WCF-i asendanud. Tegelikult on see veel üks viis mitte-SOAP-põhiste teenuste, st lihtsa XML- või JSON-stringi loomiseks.
5) Millised on Web API eelised?
Web API eelised on järgmised:
- OData
- Filtrid
- Sisu läbirääkimised
- Iseseisev hostimine
- Marsruut
- Mudeli köited
6) Milliseid peamisi tagastustüüpe Web API toetab?
Veebi API kontrolleri toiming võib tagastada järgmised väärtused:
- Kehtetu - See tagastab tühja sisu
- HttpResponseMessage – See teisendab vastuse HTTP-sõnumiks.
- IHttpActionResult – kutsub sisemiselt ExecuteAsynci, et luua HttpResponseMessage
- Teist tüüpi – Saate vastuse kehasse kirjutada serialiseeritud tagastusväärtuse
7) Millist protokolli veebi API toetab?
Veebirakendus toetab HTTP-protokolli.
8) Milline .NET-i raamistik toetab veebi API-d?
NET 4.0 ja uuemad versioonid toetavad veebi API-d.
9) Millist järgmistest avatud lähtekoodiga teegidest kasutab veebi API JSON-i serialiseerimiseks?
Veebi API kasutab JSON-i serialiseerimiseks Json.NET teeki.
10) Millise järgmistest olekukoodidest saadab Web API vaikimisi kõigi tabamata erandite jaoks HTTP vastuse?
500 - sisemine serveri viga
Asp.Net Web API intervjuu küsimused kogenud inimestele
11) Mis on veebi API „muud tagastustüübid” suurim puudus?
Selle lähenemisviisi suurim puudus on see, et te ei saa otse tagastada veakoodi nagu tõrge 404.
12) Kuidas luua HTMLResponseMessage?
Selle ehitamise viis on järgmine:
public class TestController : ApiController { public HttpResponseMessage Get() { HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, "value"); response.Content = new StringContent("Testing", Encoding.Unicode); response.Headers.CacheControl = new CacheControlHeaderValue() { MaxAge = TimeSpan.FromMinutes(20) }; return response; } }
13) Mis on veebi API marsruutimine?
Marsruutimine on mustri sobitamine nagu MVC puhul.
Kõik marsruudid on registreeritud marsruuditabelites.
Näiteks:
Routes.MapHttpRoute( Name: "ExampleWebAPIRoute", routeTemplate: “api/{controller}/{id} defaults: new { id = RouteParameter.Optional}
14) Mis on SEEP?
SOAP on XML-sõnumivorming, mida kasutatakse veebiteenuste suhtluses. See võimaldab saata sõnumeid HTTP või JMS kaudu, kuid kasutada saab ka muid transpordiprotokolle. See on ka XML-põhine sõnumsideprotokoll arvutitevahelise teabe vahetamiseks.
15) Mis kasu on REST-i kasutamisest Web API-s?
REST-i kasutatakse kliendi ja serveri vahelise andmeedastuse vähendamiseks, mis muudab selle ideaalseks kasutamiseks mobiilirakendustes. Web API toetab ka HTTP-protokolli. Seetõttu taastab see suhtlemiseks HTTP-verbide traditsioonilise viisi.
16) Kuidas saame kasutada veebi API-d koos ASP.NET veebivormiga?
Veebi API-d saab kasutada koos ASP.NET Web Formiga
Seda saab teha kolme lihtsa sammuga:
- Looge Web API kontroller,
- Lisage marsruutimistabel faili Global.asax meetodile Application_Start
- Seejärel peate tegema jQuery AJAX Call to Web API meetodi ja hankima andmed.
17) Kuidas piirata juurdepääsu Web API-le konkreetse HTTP-verbiga?
Atribuutide programmeerimine mängib olulist rolli. Juurdepääsu ASP.NET Web API meetodile on lihtne piirata, et seda konkreetse HTTP-meetodi abil kutsuda.
18) Kas saate ASP.NETi veebivormiga kasutada Web API-d?
Jah, ASP.Neti veebivormiga on võimalik kasutada Web API-t. Kuna see on komplektis ASP.NET MVC raamistikuga. Siiski saab seda kasutada koos ASP.NETi veebivorm.
19) Kuidas saab ASP.NET Web API toimingule pseudonüümi määrata?
Saame anda Web API toimingule sama nime kui juhul ASP.NET MVC kasutades atribuuti "ActionName" järgmiselt:
[HttpPost] [ActionName("SaveStudentInfo")] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); }
20) Mida tähendab TestApi?
TestApi on API-de utiliidi raamatukogu. Seda teeki kasutades saab arendaja luua testimisvahendid ja .NET-rakenduse automatiseeritud testid, mis kasutavad andmestruktuuri ja algoritme.
Veebi API intervjuuküsimused 5-aastase kogemuse jaoks
21) Selgitage erandifiltreid?
See käivitatakse, kui erandeid ei käsitleta ja need eemaldatakse kontrolleriltod. Erandi põhjus võib olla ükskõik milline. Erandfiltrid rakendavad liidest "IExceptionFilter".
22) Kuidas registreerida tegevusest erandifiltrit?
Saame registreerida toimingu erandifiltri, kasutades järgmist koodi:
[NotImplExceptionFilter] public TestCustomer GetMyTestCustomer(int custid) { //write the code }
23) Kuidas saate ASP.NET Web API meetodist View tagasi saata?
Ei, me ei saa vaadet ASP.NET Web API meetodist tagastada. Web API loob HTTP-teenused, mis renderdavad töötlemata andmeid. Kuid see on võimalik ka ASP.NET MVC rakenduses.
24) Kuidas registreerida erandifiltrit globaalselt?
Erandite filtrit on võimalik registreerida globaalselt, kasutades järgmist koodi-
GlobalConfiguration.Configuration.Filters.Add(new
MyTestCustomerStore.NotImplExceptionFilterAttribute());
25) Selgitage, mis on PUHKUS ja PUHKUS?
REST esindab REpresentational State Transfer; see on veebirakenduse kirjutamise täiesti uus aspekt.
RESTFUL: seda terminit, mis on kirjutatud REST-i arhitektuurikontseptsioone rakendades, nimetatakse RESTful-teenusteks. See keskendub süsteemiressurssidele ja sellele, kuidas ressursi olekut HTTP-protokolli kaudu transportida.
26) Tooge mulle üks näide Web API marsruutimisest?
Config.Routes.MapHttpRoute( name: "MyRoute,"//route name routeTemplate: "api/{controller}/{action}/{id}",//as you can see "API" is at the beginning. defaults: new { id = RouteParameter.Optional } );
27) Kuidas saate Web API-s vigu käsitleda?
Web API-s on vigade käsitlemiseks saadaval mitu klassi. Need on HttpError, erandifiltrid, HttpResponseException ja registreerimisfiltrid.
28) Milliseid uusi funktsioone pakub ASP.NET Web API 2.0?
ASP.NET Web API raamistiku v2.0 uusimad funktsioonid on järgmised.
- Atribuutide marsruutimine
- Päritoluülene ressursside jagamine
- Väline autentimine
- Avage veebiliides NET
- HttpActionResult
- Veebi API OData
29) Kuidas saate Web API-s piirata juurdepääsumeetodeid konkreetsete HTTP-verbidega?
Atribuutide (nagu HTTP-verbid) abil on võimalik Web API-s juurutada juurdepääsupiiranguid.
Juurdepääsu piirava atribuudina on võimalik defineerida HTTP-verbid.
Näide:
[HttpPost] public void Method1(Class obj) { //logic
30) Kuidas saate Web API-s edastada mitut keerulist tüüpi?
Kaks meetodit keerukate tüüpide edastamiseks Web API-s –
ArrayListi ja Newtonsofti massiivi kasutamine
31) Kas kirjutada kood veebi API-s ArrayListi edastamiseks?
ArrayList paramList = new ArrayList(); Category c = new Category { CategoryId = 1, CategoryName =“MobilePhones”}; Product p = new Product { Productcode = 1, Name = “MotoG”, Price = 15500, CategoryID = 1 }; paramList.Add(c); paramList.Add(p);
32) Nimetage veebiapi arendamise või testimise tööriistad või API?
REST API-de veebiteenuste testimistööriistad hõlmavad järgmist:
- Jersey API
- CFX
- Telg
- puhata
33) Mis on REST?
REST on arhitektuuristiil. See on määratlenud juhised skaleeritavate teenuste loomiseks. REST kasutatakse HTTP-protokolliga, kasutades selle tegusõnu GET, PUT, POST ja DELETE.
34) Kuidas veebi API-d ühiktestida?
Ühikutesti saame läbi viia, kasutades selliseid Web API tööriistu nagu Fiddler.
Siin on mõned seadistused, mida teha, kui kasutate
Fiddler -Koosta vahekaart -> Sisestage päringu päised -> Sisestage päringu sisu ja käivitage
35) Kuidas me saame Web API-s piirata juurdepääsu konkreetsete HTTP-verbidega meetoditele?
Selle funktsiooni jaoks kasutatakse laialdaselt atribuutide programmeerimist. Web API võimaldab ka konkreetsete HTTP-verbide abil piirata juurdepääsu helistamismeetoditele. Samuti on võimalik HTTP-verbe defineerida atribuudi ületamise meetodina.
Web API intervjuu küsimused 10+ aastase kogemuse kohta
36) Mis on DelegatingHandleri kasutus?
DelegatingHandlerit kasutatakse veebi API-s sõnumihaldurite esindamiseks enne marsruutimist.
37) Kuidas registreerida tegevusest erandifiltrit?
Saame registreerida toimingu erandifiltri, kasutades järgmist koodi
[NotImplExceptionFilter] public TestCust GetMyTestCust (int custno) { //write the code }
38) Öelge mulle koodilõik, mis näitab, kuidas saame HttpErrorist 404 vead tagastada?
Kood 404 vea tagastamiseks HttpErrorist
string message = string.Format(“TestCustomer id = {0} not found”, customerid);
return Request.CreateErrorResponse(HttpStatusCode.NotFound, message);
39) Selgitage koodijuppi kontrolleri erandifiltrite registreerimiseks?
[NotImplExceptionFilter] public class TestCustController : Controller { //Your code goes here }
40) Millist protokolli veebi API toetab?
Veebirakendus toetab HTTP-protokolli
41) Milline järgmistest .NET-i raamistikest toetab veebi API-d?
Veebi API-d toetab NET 4.0 versioon
42) Millist teeki kasutab veebi API JSON-i serialiseerimiseks?
Veebi API kasutab JSON-i serialiseerimiseks Json.NET teeki.
43) Millise järgmistest olekukoodidest saadab Web API vaikimisi kõigi tabamata erandite jaoks HTTP vastuse?
500 - sisemine serveri viga
44) Selgitage vea käsitlemise meetodit, kasutades veebi API-s HttpErrorit?
WEB API-s kasutati HttpErrori veateabe viskamiseks vastuse kehasse. Koos sellega saab kasutada ka meetodit "CreateErrorResponse", mis on jaotises "HttpRequestMessageExtension" määratletud laiendusmeetod.
45) Kuidas me saame erandite filtrit globaalselt registreerida?
Saame registreerida erandite filtri globaalselt, kasutades järgmist koodi:
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) Kuidas käsitleda Web API vigu?
Web API-s on vigade käsitlemiseks saadaval mitu klassi. Need on HttpError, HttpResponseException, Erandifiltrid, Erandifiltrite registreerimine.
47) Mis kasu on WebAPI-st WCF-i ees?
WCF-teenused kasutavad SOAP-protokolli, samas kui HTTP ei kasuta kunagi SOAP-protokolli. Seetõttu on WebAPI teenused kerged, kuna SOAP-i ei kasutata. Samuti vähendab see teenuse jätkamiseks edastatavaid andmeid. Lisaks ei vaja see kunagi liiga palju konfigureerimist. Seetõttu saab klient teenusega suhelda HTTP-verbide abil.
48) MVC ja WebAPI olekuerinevused
MVC raamistikku kasutatakse kasutajaliidesega rakenduste arendamiseks. Selleks saab vaateid kasutada kasutajaliidese ehitamiseks.
WebAPI-d kasutatakse HTTP teenuste arendamiseks. Teisi rakendusi võib nende andmete toomiseks nimetada ka WebAPI meetoditeks.
49) Kes saavad WebAPI-d tarbida?
WebAPI-d saab kasutada iga klient, mis toetab HTTP-verbe, nagu GET, PUT, DELETE, POST. Kuna WebAPI teenused ei vaja konfigureerimist, on neid väga lihtne kasutada igal kliendil. Isegi kaasaskantavad seadmed, nagu mobiilseadmed, võivad hõlpsasti tarbida WebAPI-d, mis on kindlasti selle tehnoloogia suurim eelis.
50) Kuidas saame tagada, et Web API tagastab ainult JSON-andmed?
Veebi API serialiseerimiseks tagastatava objekti JSON-vormingusse ja tagastab ainult JSON-andmed. Selleks peaksite igas MVC Web API projektis klassis WebApiConfig.cs lisama järgmise koodi:
//JsonFormatter //MediaTypeHeaderValue Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json")); 1 2 3 //JsonFormatter //MediaTypeHeaderValue Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))
Need intervjuu küsimused aitavad ka teie viva (suuline)