50 คำถามและคำตอบสัมภาษณ์ Asp.Net Web API (2025)
คำถามและคำตอบในการสัมภาษณ์ Asp.Net Web API สำหรับนักศึกษาใหม่
1) เว็บ API คืออะไร?
WebAPI เป็นเฟรมเวิร์กที่ช่วยให้คุณสร้าง/พัฒนาบริการ HTTP
2) เหตุใดจึงต้องมี Web API เป็นไปได้ไหมที่จะใช้บริการ RESTful โดยใช้ WCF
ใช่ เรายังสามารถพัฒนาบริการ RESTful กับ WCF ได้ อย่างไรก็ตาม มีเหตุผลหลักสองประการที่แจ้งให้ผู้ใช้ใช้ Web API แทนบริการ RESTful
- Web API เพิ่มแนวทาง TDD (Test Data Driven) ในการพัฒนาบริการ RESTful
- หากเราต้องการพัฒนาบริการ RESTful ใน WCF คุณจะต้องมีการตั้งค่า เทมเพลต URI สัญญา และจุดสิ้นสุดจำนวนมากสำหรับการพัฒนาบริการ RESTful โดยใช้ web API
👉 ดาวน์โหลด PDF ฟรี: คำถามและคำตอบสัมภาษณ์ Asp.Net Web API >>
3) ทำไมต้องเลือกเว็บ API
- ใช้เพื่อสร้างบริการ HTTP แบบเรียบง่ายที่ไม่ใช่ SOAP
- นอกจากนี้ยังเป็นวิธีที่ง่ายในการสร้างด้วย Web API ด้วยบริการ WCF REST
- ขึ้นอยู่กับ HTTP และง่ายต่อการกำหนด เปิดเผย และใช้งานในลักษณะ REST
- เป็นสถาปัตยกรรมน้ำหนักเบา เหมาะสำหรับอุปกรณ์ที่มีแบนด์วิดท์จำกัด เช่น สมาร์ทโฟน
4) ถูกต้องหรือไม่ที่ ASP.NET Web API เข้ามาแทนที่ WCF
ไม่เป็นความจริงเลยที่ ASP.NET Web API ได้เข้ามาแทนที่ WCF นี่เป็นอีกวิธีหนึ่งในการสร้างบริการที่ไม่ใช่ SOAP เช่น XML ธรรมดาหรือสตริง JSON
5) ข้อดีของ Web API คืออะไร?
ข้อดีของ Web API คือ:
- โอดาต้า
- ฟิลเตอร์
- การเจรจาต่อรองเนื้อหา
- โฮสติ้งด้วยตนเอง
- การกำหนดเส้นทาง
- การผูกแบบจำลอง
6) Web API รองรับประเภทการส่งคืนหลักใดบ้าง
การดำเนินการควบคุม Web API สามารถส่งคืนค่าต่อไปนี้:
- เป็นโมฆะ – มันจะส่งคืนเนื้อหาที่ว่างเปล่า
- HttpResponseMessage – มันจะแปลงการตอบกลับเป็นข้อความ HTTP
- IHttpActionResult – เรียก ExecuteAsync ภายในเพื่อสร้าง HttpResponseMessage
- ประเภทอื่น ๆ – คุณสามารถเขียนค่าส่งคืนแบบอนุกรมลงในเนื้อหาการตอบกลับได้
7) Web API รองรับโปรโตคอลใด
Web App รองรับโปรโตคอล HTTP
8) กรอบงาน .NET ใดรองรับ Web API
NET 4.0 ขึ้นไปรองรับ web API
9) Web API ใช้ไลบรารีโอเพ่นซอร์สใดต่อไปนี้สำหรับการแปลงเป็น JSON
Web API ใช้ไลบรารี Json.NET สำหรับการทำให้เป็นอนุกรม JSON
10) โดยค่าเริ่มต้น Web API จะส่งการตอบสนอง HTTP พร้อมด้วยรหัสสถานะใดต่อไปนี้สำหรับข้อยกเว้นที่ไม่ถูกจับได้ทั้งหมด
500 - เกิดข้อผิดพลาดภายในเซิร์ฟเวอร์
คำถามสัมภาษณ์ Asp.Net Web API สำหรับผู้มีประสบการณ์
11) อะไรคือข้อเสียที่ใหญ่ที่สุดของ “ประเภทการส่งคืนอื่นๆ” ใน Web API?
ข้อเสียเปรียบที่ใหญ่ที่สุดของวิธีนี้คือคุณไม่สามารถส่งคืนรหัสข้อผิดพลาดเช่นข้อผิดพลาด 404 ได้โดยตรง
12) คุณสร้าง HtmlResponseMessage ได้อย่างไร
ต่อไปนี้เป็นวิธีการสร้างเพื่อทำเช่นนั้น
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) การกำหนดเส้นทาง Web API คืออะไร
การกำหนดเส้นทางคือการจับคู่รูปแบบเหมือนกับใน MVC
เส้นทางทั้งหมดได้รับการลงทะเบียนในตารางเส้นทาง
ตัวอย่างเช่น:
Routes.MapHttpRoute( Name: "ExampleWebAPIRoute", routeTemplate: “api/{controller}/{id} defaults: new { id = RouteParameter.Optional}
14) สบู่คืออะไร?
SOAP เป็นรูปแบบข้อความ XML ที่ใช้ในการโต้ตอบกับบริการเว็บ อนุญาตให้ส่งข้อความผ่าน HTTP หรือ JMS แต่สามารถใช้โปรโตคอลการขนส่งอื่นได้ นอกจากนี้ยังเป็นโปรโตคอลการส่งข้อความที่ใช้ XML สำหรับการแลกเปลี่ยนข้อมูลระหว่างคอมพิวเตอร์
15) การใช้ REST ใน Web API มีประโยชน์อย่างไร
REST ใช้เพื่อถ่ายโอนข้อมูลระหว่างไคลเอนต์และเซิร์ฟเวอร์น้อยลง ซึ่งทำให้เหมาะอย่างยิ่งสำหรับการใช้งานในแอปมือถือ Web API ยังรองรับโปรโตคอล HTTP อีกด้วย ดังนั้นจึงแนะนำวิธีดั้งเดิมของกริยา HTTP สำหรับการสื่อสาร
16) เราจะใช้ Web API กับ ASP.NET Web Form ได้อย่างไร
สามารถใช้ Web API กับ ASP.NET Web Form ได้
สามารถทำได้ในสามขั้นตอนง่ายๆ:
- สร้างตัวควบคุม Web API
- เพิ่มตารางเส้นทางไปยังเมธอด Application_Start ของ Global.asax
- จากนั้นคุณจะต้องสร้างวิธี jQuery AJAX Call to Web API และรับข้อมูล
17) คุณจะจำกัดการเข้าถึง Web API ให้เป็น HTTP Verb เฉพาะได้อย่างไร
การเขียนโปรแกรมแอตทริบิวต์มีบทบาทสำคัญ เป็นเรื่องง่ายที่จะจำกัดการเข้าถึงวิธี ASP.NET Web API ที่จะเรียกโดยใช้วิธี HTTP เฉพาะ
18) คุณสามารถใช้ Web API กับ ASP.NET Web Form ได้หรือไม่?
ใช่ คุณสามารถใช้ Web API กับเว็บฟอร์ม ASP.Net ได้ เนื่องจากมาพร้อมกับกรอบงาน ASP.NET MVC แต่ก็สามารถใช้ได้กับ เว็บฟอร์ม ASP.NET.
19) สามารถกำหนดชื่อนามแฝงสำหรับ ASP.NET Web API Action ได้อย่างไร
เราสามารถตั้งชื่อนามแฝงสำหรับการกระทำของ Web API ได้เช่นเดียวกับในกรณีของ ASP.NET MVC โดยใช้แอตทริบิวต์ “ActionName” ดังนี้
[HttpPost] [ActionName("SaveStudentInfo")] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); }
20) TestApi มีความหมายว่าอย่างไร?
TestApi เป็นไลบรารียูทิลิตี้ของ API การใช้ผู้พัฒนาผู้ทดสอบไลบรารีนี้สามารถสร้างได้ เครื่องมือทดสอบ และการทดสอบอัตโนมัติสำหรับแอปพลิเคชัน .NET โดยใช้โครงสร้างข้อมูลและอัลกอริทึม
คำถามสัมภาษณ์ Web API สำหรับประสบการณ์ 5 ปี
21) อธิบายตัวกรองข้อยกเว้น?
มันจะถูกดำเนินการเมื่อข้อยกเว้นไม่ได้รับการจัดการและถูกส่งออกจากตัวควบคุมยาoง. สาเหตุของการยกเว้นอาจเป็นอะไรก็ได้ ตัวกรองข้อยกเว้นจะใช้อินเทอร์เฟซ "IExceptionFilter"
22) เราจะลงทะเบียนตัวกรองข้อยกเว้นจากการดำเนินการได้อย่างไร
เราสามารถลงทะเบียนตัวกรองข้อยกเว้นจากการดำเนินการโดยใช้โค้ดต่อไปนี้:
[NotImplExceptionFilter] public TestCustomer GetMyTestCustomer(int custid) { //write the code }
23) คุณจะคืน View จากวิธี ASP.NET Web API ได้อย่างไร
ไม่ เราไม่สามารถคืนมุมมองจากวิธี ASP.NET Web API ได้ Web API สร้างบริการ HTTP ที่แสดงผลข้อมูลดิบ อย่างไรก็ตาม ยังเป็นไปได้ในแอปพลิเคชัน ASP.NET MVC
24) จะลงทะเบียนตัวกรองข้อยกเว้นทั่วโลกได้อย่างไร
สามารถลงทะเบียนตัวกรองข้อยกเว้นทั่วโลกได้โดยใช้โค้ดต่อไปนี้
GlobalConfiguration.Configuration.Filters.Add (ใหม่
MyTestCustomerStore.NotImplExceptionFilterAttribute())
25) อธิบายว่า REST และ RESTFUL คืออะไร?
REST แสดงถึงการโอนสถานะการเป็นตัวแทน มันเป็นแง่มุมใหม่ของการเขียนเว็บแอปโดยสิ้นเชิง
RESTFUL: เป็นคำศัพท์ที่เขียนขึ้นโดยใช้แนวคิดสถาปัตยกรรม REST เรียกว่าบริการ RESTful โดยเน้นที่ทรัพยากรระบบและวิธีการส่งสถานะของทรัพยากรผ่านโปรโตคอล HTTP
26) ขอตัวอย่างการกำหนดเส้นทาง Web API ให้ฉันหน่อย
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) คุณจะจัดการกับข้อผิดพลาดใน Web API ได้อย่างไร?
มีหลายคลาสใน Web API เพื่อจัดการกับข้อผิดพลาด ได้แก่ HttpError, ตัวกรองข้อยกเว้น, HttpResponseException และการลงทะเบียนตัวกรองข้อยกเว้น
28) มีฟีเจอร์ใหม่อะไรบ้างที่มาพร้อมกับ ASP.NET Web API 2.0
คุณสมบัติล่าสุดของ ASP.NET Web API framework v2.0 มีดังนี้:
- การกำหนดเส้นทางแอตทริบิวต์
- การแบ่งปันทรัพยากรข้ามต้นทาง
- การรับรองความถูกต้องภายนอก
- เปิดเว็บอินเตอร์เฟส NET
- ผลลัพธ์ HttpAction
- OData ของเว็บ API
29) คุณจะจำกัดวิธีการเข้าถึงเฉพาะกริยา HTTP เฉพาะใน Web API ได้อย่างไร
ด้วยความช่วยเหลือของแอตทริบิวต์ (เช่น กริยา HTTP) คุณจึงสามารถใช้ข้อจำกัดการเข้าถึงใน Web API ได้
คุณสามารถกำหนดกริยา HTTP เป็นแอตทริบิวต์เพื่อจำกัดการเข้าถึงได้
ตัวอย่าง:
[HttpPost] public void Method1(Class obj) { //logic
30) คุณสามารถส่งประเภทที่ซับซ้อนหลายประเภทใน Web API ได้อย่างไร
สองวิธีในการส่งประเภทที่ซับซ้อนใน Web API –
การใช้ ArrayList และอาร์เรย์ Newtonsoft
31) เขียนโค้ดเพื่อส่ง ArrayList ใน Web API หรือไม่
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) ตั้งชื่อเครื่องมือหรือ API สำหรับการพัฒนาหรือทดสอบ web api หรือไม่?
เครื่องมือทดสอบสำหรับบริการเว็บสำหรับ REST API ได้แก่:
- เจอร์ซีย์ API
- ซีเอฟเอ็กซ์
- แกน
- ที่พักพิง
33) ส่วนที่เหลือคืออะไร?
REST เป็นรูปแบบสถาปัตยกรรม ซึ่งมีแนวทางที่ชัดเจนในการสร้างบริการที่สามารถปรับขนาดได้ REST ใช้กับโปรโตคอล HTTP โดยใช้คำกริยา GET, PUT, POST และ DELETE
34) จะทดสอบ Web API ได้อย่างไร
เราสามารถทำการทดสอบหน่วยโดยใช้เครื่องมือ Web API เช่น Fiddler.
ต่อไปนี้คือการตั้งค่าบางอย่างที่ต้องทำหากคุณใช้งานอยู่
Fiddler –เขียนแท็บ -> ป้อนส่วนหัวของคำขอ -> ป้อนเนื้อหาคำขอและดำเนินการ
35) เราจะจำกัดการเข้าถึงวิธีการด้วยกริยา HTTP เฉพาะใน Web API ได้อย่างไร
การเขียนโปรแกรมแอตทริบิวต์มีการใช้กันอย่างแพร่หลายสำหรับฟังก์ชันนี้ Web API ยังอนุญาตให้จำกัดการเข้าถึงวิธีการโทรด้วยความช่วยเหลือของกริยา HTTP ที่เฉพาะเจาะจง นอกจากนี้ยังสามารถกำหนดกริยา HTTP ให้เป็นแอ็ตทริบิวต์เหนือเมธอดได้
คำถามสัมภาษณ์ Web API สำหรับประสบการณ์ 10 ปีขึ้นไป
36) DelegatingHandler มีประโยชน์อย่างไร?
DelegatingHandler ใช้ใน Web API เพื่อเป็นตัวแทนตัวจัดการข้อความก่อนกำหนดเส้นทาง
37) เราจะลงทะเบียนตัวกรองข้อยกเว้นจากการดำเนินการได้อย่างไร
เราสามารถลงทะเบียนตัวกรองข้อยกเว้นจากการดำเนินการโดยใช้โค้ดต่อไปนี้
[NotImplExceptionFilter] public TestCust GetMyTestCust (int custno) { //write the code }
38) บอกข้อมูลโค้ดเพื่อแสดงวิธีที่เราสามารถส่งคืนข้อผิดพลาด 404 จาก HttpError ได้อย่างไร
รหัสสำหรับการส่งคืนข้อผิดพลาด 404 จาก HttpError
string message = string.Format(“TestCustomer id = {0} not found”, customerid);
return Request.CreateErrorResponse(HttpStatusCode.NotFound, message);
39) อธิบายข้อมูลโค้ดเพื่อลงทะเบียนตัวกรองข้อยกเว้นจากคอนโทรลเลอร์หรือไม่
[NotImplExceptionFilter] public class TestCustController : Controller { //Your code goes here }
40) Web API รองรับโปรโตคอลใด
Web App รองรับโปรโตคอล HTTP
41) .NET framework ใดต่อไปนี้รองรับ Web API?
Web API รองรับเวอร์ชัน NET 4.0
42) Web API ใช้ไลบรารีใดในการทำให้เป็นอนุกรม JSON
Web API ใช้ไลบรารี Json.NET สำหรับการทำให้เป็นอนุกรม JSON
43) โดยค่าเริ่มต้น Web API จะส่งการตอบสนอง HTTP พร้อมด้วยรหัสสถานะใดต่อไปนี้สำหรับข้อยกเว้นที่ไม่ถูกจับได้ทั้งหมด
500 - เกิดข้อผิดพลาดภายในเซิร์ฟเวอร์
44) อธิบายวิธีการจัดการกับข้อผิดพลาดโดยใช้ HttpError ใน Web API หรือไม่
ใน WEB API HttpError ใช้ในการส่งข้อมูลข้อผิดพลาดในส่วนเนื้อหาการตอบสนอง นอกจากนี้ยังสามารถใช้ร่วมกับเมธอด "CreateErrorResponse" ซึ่งเป็นวิธีการขยายที่กำหนดไว้ใน "HttpRequestMessageExtension"
45) เราจะลงทะเบียนตัวกรองข้อยกเว้นทั่วโลกได้อย่างไร
เราสามารถลงทะเบียนตัวกรองข้อยกเว้นทั่วโลกได้โดยใช้โค้ดต่อไปนี้:
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) จะจัดการกับข้อผิดพลาดใน Web API ได้อย่างไร
มีหลายคลาสใน Web API เพื่อจัดการกับข้อผิดพลาด ได้แก่ HttpError, HttpResponseException, ตัวกรองข้อยกเว้น, การลงทะเบียนตัวกรองข้อยกเว้น
47) WebAPI มีประโยชน์เหนือ WCF อย่างไร
บริการ WCF ใช้โปรโตคอล SOAP ในขณะที่ HTTP ไม่เคยใช้โปรโตคอล SOAP นั่นเป็นสาเหตุที่บริการ WebAPI มีน้ำหนักเบาเนื่องจากไม่ได้ใช้ SOAP นอกจากนี้ยังลดข้อมูลที่ถ่ายโอนเพื่อกลับมาให้บริการอีกครั้ง นอกจากนี้ยังไม่ต้องการการกำหนดค่ามากเกินไป ดังนั้น ไคลเอ็นต์สามารถโต้ตอบกับบริการได้โดยใช้กริยา HTTP
48) ระบุความแตกต่างระหว่าง MVC และ WebAPI
กรอบ MVC ใช้สำหรับการพัฒนาแอปพลิเคชันที่มีส่วนต่อประสานกับผู้ใช้ ด้วยเหตุนี้ คุณสามารถใช้มุมมองเพื่อสร้างส่วนต่อประสานกับผู้ใช้ได้
WebAPI ใช้สำหรับการพัฒนาบริการ HTTP แอปอื่นๆ ยังสามารถเรียกว่าเมธอด WebAPI เพื่อดึงข้อมูลนั้นได้
49) ใครบ้างที่สามารถใช้ WebAPI ได้
WebAPI สามารถใช้งานได้โดยไคลเอนต์ที่รองรับกริยา HTTP เช่น GET, PUT, DELETE, POST เนื่องจากบริการ WebAPI ไม่ต้องการการกำหนดค่าใดๆ จึงเป็นเรื่องง่ายมากที่ไคลเอ็นต์จะใช้งาน การละเมิดแม้แต่อุปกรณ์พกพาเช่นอุปกรณ์มือถือก็สามารถใช้ WebAPI ได้อย่างง่ายดายซึ่งเป็นข้อได้เปรียบที่ใหญ่ที่สุดของเทคโนโลยีนี้อย่างแน่นอน
50) เราจะแน่ใจได้อย่างไรว่า Web API ส่งคืนข้อมูล JSON เท่านั้น
หากต้องการให้ Web API ทำการซีเรียลไลซ์วัตถุที่ส่งกลับเป็นรูปแบบ JSON และส่งคืนข้อมูล JSON เท่านั้น สำหรับสิ่งนั้น คุณควรเพิ่มโค้ดต่อไปนี้ในคลาส WebApiConfig.cs ในโครงการ MVC Web API ใดๆ:
//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"))
คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)