คำถามและคำตอบสัมภาษณ์ ASP.NET มากกว่า 50 ข้อ (2025)
คำถามและคำตอบสัมภาษณ์ ASP.NET สำหรับนักศึกษาใหม่
1. ASP.Net คืออะไร?
เป็นกรอบงานที่พัฒนาโดย Microsoft โดยเราสามารถพัฒนาเว็บไซต์ยุคใหม่โดยใช้เว็บฟอร์ม (aspx), MVC, HTML, Javascript, CSS เป็นต้น ผู้สืบทอดของ Microsoft หน้าเซิร์ฟเวอร์ที่ใช้งานอยู่ (ASP) ปัจจุบันมี ASP.NET 4.0 ซึ่งใช้ในการพัฒนาเว็บไซต์ มีส่วนขยายของหน้าต่างๆ ให้โดย Microsoft ที่ถูกนำไปใช้ในการพัฒนาเว็บไซต์ เช่น aspx, asmx, ascx, ashx, cs, vb, html, XML ฯลฯ
2. Response.Output.Write() มีประโยชน์อย่างไร?
เราสามารถเขียนเอาต์พุตที่จัดรูปแบบแล้วได้โดยใช้ Response.Output.Write().
3. ViewState ใช้งานได้ในกรณีใดของวงจรเพจ
หลังจาก Init()
และก่อนที่จะ Page_Load().
4. Server.Transfer และ Response.Redirect แตกต่างกันอย่างไร?
ในการประมวลผลเพจ Server.Transfer การถ่ายโอนจากเพจหนึ่งไปยังอีกเพจหนึ่งโดยไม่ต้องย้อนกลับไปยังเบราว์เซอร์ของลูกค้า สิ่งนี้ให้การตอบสนองที่รวดเร็วยิ่งขึ้นโดยมีค่าใช้จ่ายบนเซิร์ฟเวอร์น้อยลงเล็กน้อย รายการประวัติ URL ไคลเอ็นต์หรือเซิร์ฟเวอร์ URL ปัจจุบันไม่อัปเดตในกรณีของ Server.Transfer
Response.Redirect ใช้เพื่อเปลี่ยนเส้นทางเบราว์เซอร์ของผู้ใช้ไปยังหน้าหรือไซต์อื่น ดำเนินการเดินทางกลับไปยังไคลเอนต์โดยที่เบราว์เซอร์ของลูกค้าถูกเปลี่ยนเส้นทางไปยังหน้าใหม่ รายการประวัติเบราว์เซอร์ของผู้ใช้ได้รับการอัปเดตเพื่อแสดงที่อยู่ใหม่
5. เว็บฟอร์มทั้งหมดสืบทอดมาจากคลาสพื้นฐานใด
คลาสเพจ
6. Validator ที่แตกต่างกันใน ASP.NET คืออะไร?
ต่อไปนี้เป็นตัวตรวจสอบที่แตกต่างกันใน ASP.NET
- เครื่องมือตรวจสอบฟิลด์ที่จำเป็น
- เครื่องมือตรวจสอบช่วง
- เปรียบเทียบเครื่องมือตรวจสอบ
- เครื่องมือตรวจสอบแบบกำหนดเอง
- เครื่องมือตรวจสอบนิพจน์ทั่วไป
- เครื่องมือตรวจสอบสรุป
7. การควบคุมเครื่องมือตรวจสอบความถูกต้องใดที่คุณใช้ หากคุณต้องการตรวจสอบให้แน่ใจว่าค่าในการควบคุมที่แตกต่างกันสองค่าตรงกัน
เปรียบเทียบการควบคุม Validator
8. ViewState คืออะไร?
ViewState ใช้เพื่อรักษาสถานะของออบเจ็กต์ฝั่งเซิร์ฟเวอร์ระหว่างการโพสต์หน้าหลัง
9. viewstate ถูกเก็บไว้ที่ไหนหลังจาก postback เพจ?
ViewState ถูกจัดเก็บไว้ในฟิลด์ที่ซ่อนอยู่บนเพจที่ฝั่งไคลเอ็นต์ ViewState ถูกส่งไปยังไคลเอนต์และกลับไปยังเซิร์ฟเวอร์ และไม่ได้จัดเก็บไว้ในเซิร์ฟเวอร์หรือแหล่งภายนอกอื่นใด
คำถามและคำตอบสัมภาษณ์ ASP.NET สำหรับประสบการณ์ 3 ปี
10. รายการต่างๆ ใน ViewState มีอยู่นานแค่ไหน?
มีอยู่ตลอดอายุของหน้าปัจจุบัน
11. ตัวเลือกการจัดการสถานะเซสชันต่างๆ ใน ASP.NET มีอะไรบ้าง
- อยู่ในขั้นตอน
- อยู่นอกกระบวนการ
อยู่ในขั้นตอน เก็บเซสชันไว้ในหน่วยความจำบนเว็บเซิร์ฟเวอร์
อยู่นอกกระบวนการ การจัดการสถานะเซสชันจัดเก็บข้อมูลไว้ในเซิร์ฟเวอร์ภายนอก เซิร์ฟเวอร์ภายนอกอาจเป็น SQL Server หรือเซิร์ฟเวอร์สถานะ ออบเจ็กต์ทั้งหมดที่จัดเก็บไว้ในเซสชันจะต้องทำให้เป็นอนุกรมได้สำหรับการจัดการสถานะที่ไม่อยู่ในกระบวนการ
12. คุณจะเพิ่มตัวจัดการเหตุการณ์ได้อย่างไร?
การใช้คุณสมบัติแอตทริบิวต์ของการควบคุมฝั่งเซิร์ฟเวอร์
เช่น
btnSubmit.Attributes.Add("onMouseOver","JavascriptCode();")
13. แคชคืออะไร?
การแคชเป็นเทคนิคที่ใช้ในการเพิ่มประสิทธิภาพโดยการเก็บข้อมูลหรือไฟล์ที่เข้าถึงบ่อยไว้ในหน่วยความจำ คำขอไฟล์/ข้อมูลแคชจะเข้าถึงได้จากแคชแทนที่จะเป็นตำแหน่งจริงของไฟล์นั้น
14. การแคชประเภทต่าง ๆ มีอะไรบ้าง?
ASP.NET มีแคชอยู่ 3 ประเภท:
- การแคชเอาต์พุต
- การแคชแฟรกเมนต์
- การแคชข้อมูล
15. ถ้าเราต้องการแคชจะใช้ประเภทใดหากเราต้องการแคชส่วนของหน้าแทนที่จะเป็นทั้งหน้า?
การแคชแฟรกเมนต์: โดยจะแคชส่วนของเพจที่สร้างโดยการร้องขอ เพื่อสิ่งนั้น เราสามารถสร้างการควบคุมผู้ใช้ด้วยโค้ดด้านล่าง:
<%@ OutputCache Duration="120" VaryByParam="CategoryID;SelectedID"%>
16. แสดงรายการเหตุการณ์ในวงจรชีวิตของเพจ
1) Page_PreInit
2) หน้า_เริ่มต้น
3) Page_Initเสร็จสมบูรณ์
4) Page_PreLoad
5) หน้า_โหลด
6) Page_Load เสร็จสมบูรณ์
7) Page_PreRender
8) แสดงผล
17. เราสามารถให้เว็บแอปพลิเคชั่นทำงานโดยไม่มีไฟล์ web.Config ได้หรือไม่?
ใช่
18. เป็นไปได้ไหมที่จะสร้างเว็บแอปพลิเคชั่นที่มีทั้งเว็บฟอร์มและ mvc?
ใช่ เราต้องรวมการอ้างอิงแอสเซมบลี mvc ด้านล่างในแอปพลิเคชันแบบฟอร์มเว็บเพื่อสร้างแอปพลิเคชันไฮบริด
System.Web.Mvc System.Web.Razor System.ComponentModel.DataAnnotations
19. เราสามารถเพิ่มไฟล์โค้ดของภาษาต่างๆ ในโฟลเดอร์ App_Code ได้หรือไม่?
ไม่ ไฟล์โค้ดจะต้องเป็นภาษาเดียวกันจึงจะเก็บไว้ในโฟลเดอร์ App_code
20. การกำหนดค่าที่ได้รับการป้องกันคืออะไร?
เป็นคุณสมบัติที่ใช้ในการรักษาความปลอดภัยข้อมูลสตริงการเชื่อมต่อ
21. เขียนโค้ดเพื่อส่งอีเมล์จากแอปพลิเคชัน ASP.NET?
MailMessage mailMess = new MailMessage (); mailMess.From = "abc@gmail.com"; mailMess.To = "xyz@gmail.com"; mailMess.Subject = "Test email"; mailMess.Body = "Hi This is a test mail."; SmtpMail.SmtpServer = "localhost"; SmtpMail.Send (mailMess);
Mailข้อความและ SMSMail เป็นคลาสที่กำหนด System.WebMail เนมสเปซ
22. เราจะป้องกันไม่ให้เบราว์เซอร์แคชหน้า ASPX ได้อย่างไร?
เราสามารถ SetNoStore บนวัตถุ HttpCachePolicy ที่เปิดเผยโดยคุณสมบัติ Cache ของวัตถุ Response:
Response.Cache.SetNoStore (); Response.Write (DateTime.Now.ToLongTimeString ());
23. แนวปฏิบัติที่ดีในการใช้การตรวจสอบความถูกต้องในหน้า aspx คืออะไร?
การตรวจสอบฝั่งไคลเอ็นต์เป็นวิธีที่ดีที่สุดในการตรวจสอบข้อมูลของหน้าเว็บ จะช่วยลดการรับส่งข้อมูลเครือข่ายและประหยัดทรัพยากรเซิร์ฟเวอร์
24. อะไรคือตัวจัดการเหตุการณ์ที่เราสามารถมีได้ในไฟล์ Global.asax?
เหตุการณ์การสมัคร: Application_Start , Application_End, Application_AcquireRequestState, Application_AuthenticateRequest, Application_AuthorizeRequest, Application_BeginRequest, Application_Disposed, Application_EndRequest, Application_Error, Application_PostRequestHandlerExecute, Application_PreRequestHandlerExecute, Application_PreSendRequestContent, Application_PreSendRequestHeaders, Application_ReleaseRequestState, RequestCache, Application_UpdateRequestCache
กิจกรรมเซสชั่น: เซสชัน_เริ่มต้น,เซสชัน_สิ้นสุด
25. โปรโตคอลใดที่ใช้ในการเรียกใช้บริการบนเว็บ?
โปรโตคอล HTTP
คำถามและคำตอบสัมภาษณ์ ASP.NET สำหรับประสบการณ์ 5 ปี
26. เราสามารถมีไฟล์กำหนดค่าเว็บหลายไฟล์สำหรับแอปพลิเคชัน asp.net ได้หรือไม่
ใช่.
27. อะไรคือความแตกต่างระหว่างการกำหนดค่าเว็บและการกำหนดค่าเครื่อง?
ไฟล์กำหนดค่าเว็บมีไว้สำหรับเว็บแอปพลิเคชันโดยเฉพาะ โดยที่การกำหนดค่าเครื่องนั้นเฉพาะสำหรับเครื่องหรือเซิร์ฟเวอร์ แอปพลิเคชันสามารถมีไฟล์กำหนดค่าเว็บได้หลายไฟล์ โดยที่เราสามารถมีไฟล์กำหนดค่าเครื่องได้เพียงไฟล์เดียวบนเซิร์ฟเวอร์
28. อธิบายความปลอดภัยตามบทบาท?
Role Based Security ใช้ในการรักษาความปลอดภัยตามบทบาทที่กำหนดให้กับกลุ่มผู้ใช้ในองค์กร
จากนั้นเราสามารถอนุญาตหรือปฏิเสธผู้ใช้ตามบทบาทของพวกเขาในองค์กรได้ Windows กำหนดกลุ่มบิวท์อินหลายกลุ่ม รวมถึงผู้ดูแลระบบ ผู้ใช้ และแขก
<AUTHORIZATION>< authorization > < allow roles="Domain_Name\Administrators" / > < !-- Allow Administrators in domain. -- > < deny users="*" / > < !-- Deny anyone else. -- > < /authorization >
29. การโพสต์ข้ามเพจคืออะไร?
เมื่อเราคลิกปุ่มส่งบนหน้าเว็บ หน้านั้นจะโพสต์ข้อมูลไปที่หน้าเดียวกัน เทคนิคที่เราโพสต์ข้อมูลไปยังหน้าต่างๆ เรียกว่าการโพสต์ข้ามหน้า ซึ่งสามารถทำได้โดยการตั้งค่าคุณสมบัติ POSTBACKURL ของปุ่มที่ทำให้เกิด postback สามารถใช้เมธอด Findcontrol ของ PreviousPage เพื่อรับค่าที่โพสต์บนเพจที่มีการโพสต์เพจนั้น
30. เราจะนำ Themes ไปใช้กับแอปพลิเคชัน asp.net ได้อย่างไร?
เราสามารถระบุธีมในไฟล์ web.config ได้ ด้านล่างนี้เป็นตัวอย่างโค้ดเพื่อใช้ธีม:
<configuration> <system.web> <pages theme="Windows7" /> </system.web> </configuration>
31. RedirectPermanent ใน ASP.Net คืออะไร
RedirectPermanent ดำเนินการเปลี่ยนเส้นทางถาวรจาก URL ที่ร้องขอไปยัง URL ที่ระบุ เมื่อการเปลี่ยนเส้นทางเสร็จสิ้น จะส่งคืนการตอบกลับ 301 Moved Permanently ด้วย
32. MVC คืออะไร
VMC เป็นเฟรมเวิร์กที่ใช้ในการสร้างเว็บแอปพลิเคชัน ฐานแอปพลิเคชันเว็บสร้างขึ้นบนรูปแบบ Model-View-Controller ซึ่งแยกตรรกะของแอปพลิเคชันออกจาก UI และอินพุตและเหตุการณ์จากผู้ใช้จะถูกควบคุมโดยคอนโทรลเลอร์
33. อธิบายการทำงานของการตรวจสอบหนังสือเดินทาง
ก่อนอื่นเลย มันจะตรวจสอบคุกกี้ยืนยันตัวตนหนังสือเดินทาง ถ้าคุกกี้ไม่พร้อมใช้งาน แอปพลิเคชันจะเปลี่ยนเส้นทางผู้ใช้ไปที่หน้าลงชื่อเข้าใช้ Passport บริการ Passport จะยืนยันรายละเอียดผู้ใช้ในหน้าลงชื่อเข้าใช้ และถ้าถูกต้อง คุกกี้ที่ยืนยันตัวตนจะจัดเก็บในเครื่องไคลเอนต์ จากนั้นจึงเปลี่ยนเส้นทางผู้ใช้ไปยังหน้าที่ร้องขอ
34. ข้อดีของการยืนยันตัวตน Passport คืออะไร?
เว็บไซต์ทั้งหมดสามารถเข้าถึงได้โดยใช้ข้อมูลรับรองการเข้าสู่ระบบเดียว ดังนั้นจึงไม่จำเป็นต้องจำข้อมูลการเข้าสู่ระบบสำหรับแต่ละเว็บไซต์
ผู้ใช้สามารถรักษาข้อมูลของตนไว้ในที่เดียว
35. การควบคุมความปลอดภัยของ asp.net คืออะไร
<asp:Login>
: ให้ความสามารถในการเข้าสู่ระบบมาตรฐานที่อนุญาตให้ผู้ใช้ป้อนข้อมูลประจำตัวของตน<asp:LoginName>
: ให้คุณแสดงชื่อของผู้ใช้ที่เข้าสู่ระบบ<asp:LoginStatus>
: แสดงว่าผู้ใช้ได้รับการรับรองความถูกต้องหรือไม่<asp:LoginView>
: ให้มุมมองการเข้าสู่ระบบที่หลากหลายขึ้นอยู่กับเทมเพลตที่เลือก<asp:PasswordRecovery>
: ส่งอีเมลรหัสผ่านที่หายไปให้ผู้ใช้
คำถามและคำตอบสัมภาษณ์ ASP.NET สำหรับประสบการณ์ 10 ปี
36. คุณจะลงทะเบียนอย่างไร Javaสคริปต์สำหรับการควบคุมเว็บ?
เราสามารถลงทะเบียนได้ JavaScript สำหรับการควบคุมการใช้งาน Attribtues.Add(scriptname,scripttext) วิธีการ
37. ในกรณีใดที่ส่วนควบคุมถูกโหลดจนเต็ม?
เหตุการณ์การโหลดหน้า
38. Boxing และการ Unboxing คืออะไร?
Boxไอเอ็นจีกำลังกำหนดประเภทค่าให้กับตัวแปรประเภทอ้างอิง
การแกะกล่องจะตรงข้ามกับการใส่กล่อง เช่น การกำหนดตัวแปรประเภทอ้างอิงให้กับตัวแปรประเภทค่า
39. แยกแยะระหว่างการพิมพ์ที่แข็งและการพิมพ์ที่อ่อน
ในการพิมพ์แบบเข้มงวด ประเภทข้อมูลของตัวแปรจะได้รับการตรวจสอบในระหว่างการคอมไพล์ ในทางกลับกัน ในกรณีที่มีการพิมพ์แบบเข้มงวด ประเภทข้อมูลของตัวแปรจะได้รับการตรวจสอบในระหว่างการรันไทม์ ในกรณีที่มีการพิมพ์แบบเข้มงวด จะไม่มีโอกาสเกิดข้อผิดพลาดในการคอมไพล์ สคริปต์ใช้การพิมพ์แบบเข้มงวด ดังนั้นจึงเกิดปัญหาขึ้นในระหว่างการรันไทม์
40. เราจะบังคับให้ส่วนควบคุมการตรวจสอบทั้งหมดทำงานได้อย่างไร?
เมธอด Page.Validate() ใช้เพื่อบังคับให้ตัวควบคุมการตรวจสอบทั้งหมดทำงานและดำเนินการตรวจสอบ
41. แสดงรายการเทมเพลตทั้งหมดของตัวควบคุม Repeater
- รายการเทมเพลต
- เทมเพลตการสลับ
- แม่แบบตัวคั่น
- เทมเพลตส่วนหัว
- เทมเพลตส่วนท้าย
42. แสดงรายการวัตถุหลักในตัวใน ASP.NET?
- การใช้งาน
- ขอร้อง
- คำตอบ
- เซิร์ฟเวอร์
- เซสชั่น
- บริบท
- ติดตาม
43. appSettings Section ในไฟล์ web.config คืออะไร?
บล็อก appSettings ในไฟล์กำหนดค่าเว็บจะตั้งค่าที่ผู้ใช้กำหนดสำหรับแอปพลิเคชันทั้งหมด
ตัวอย่างเช่น ในชิ้นส่วนโค้ดต่อไปนี้ ส่วน ConnectionString ที่ระบุจะใช้ตลอดทั้งโครงการสำหรับการเชื่อมต่อฐานข้อมูล:
<em><configuration> <appSettings> <add key="ConnectionString" value="server=local; pwd=password; database=default" /> </appSettings></em>
44. RangeValidator control รองรับข้อมูลประเภทใด?
ประเภทข้อมูลที่รองรับโดยการควบคุม RangeValidator คือ Integer Double, สตริง, สกุลเงิน และวันที่
45. HtmlInputCheck แตกต่างกันอย่างไรBox การควบคุมและการควบคุม HtmlInputRadioButton?
ใน HtmlInputCheckBoxการควบคุม สามารถเลือกรายการได้หลายรายการ ในขณะที่ตัวควบคุม HtmlInputRadioButton เราสามารถเลือกได้เพียงรายการเดียวจากกลุ่มของรายการ
46. เนมสเปซใดที่จำเป็นในการสร้างแอปพลิเคชันที่แปลเป็นภาษาท้องถิ่น?
ระบบโลกาภิวัตน์
ระบบ.ทรัพยากร
47. คุกกี้ประเภทต่าง ๆ ใน ASP.NET มีอะไรบ้าง
เซสชันคุกกี้ – อยู่บนเครื่องไคลเอนต์สำหรับเซสชันเดียวจนกว่าผู้ใช้จะไม่ได้ออกจากระบบ
คุกกี้ถาวร – อยู่บนเครื่องของผู้ใช้ตามระยะเวลาที่ระบุว่าจะหมดอายุ เช่น 10 วัน หนึ่งเดือน และไม่เคยเลย
48. บริการเว็บมีนามสกุลไฟล์อะไร?
บริการเว็บมีนามสกุลไฟล์ .asmx..
49. ส่วนประกอบของ ADO.NET มีอะไรบ้าง
ส่วนประกอบของ ADO.Net ได้แก่ ชุดข้อมูล, Data Reader, Data Adapter, Command, การเชื่อมต่อ
50. ExecuteScalar และ ExecuteNonQuery แตกต่างกันอย่างไร?
ExecuteScalar ส่งคืนค่าเอาต์พุตโดยที่ ExecuteNonQuery จะไม่ส่งคืนค่าใด ๆ ยกเว้นจำนวนแถวที่ได้รับผลกระทบจากแบบสอบถาม ExecuteScalar ใช้สำหรับดึงข้อมูลค่าเดียว และ ExecuteNonQuery ใช้เพื่อดำเนินการคำสั่ง Insert และ Update
คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)