การว่าจ้างวิศวกรซอฟต์แวร์เป็นกระบวนการที่ต้องระมัดระวัง วิศวกรซอฟต์แวร์ที่มีความสามารถจะช่วยให้ธุรกิจของคุณเติบโต แต่บุคคลที่ขาดทักษะที่จำเป็นหรือจรรยาบรรณในการทำงานที่แข็งแกร่งจะทำให้ความก้าวหน้าของคุณช้าลงและสร้างอุปสรรค
เพื่อว่าจ้างวิศวกรซอฟต์แวร์ได้อย่างมีประสิทธิภาพ คุณควรทราบคำถามที่ดีที่สุดที่จะถามในระหว่างกระบวนการจ้าง
ด้านล่างนี้คือ 70 คำถามสัมภาษณ์วิศวกรซอฟต์แวร์ที่นิยมมากที่สุดเพื่อถามผู้สมัครที่มีศักยภาพเกี่ยวกับทักษะและความรู้ของพวกเขา เพื่อรับประกันกระบวนการจ้างที่ราบรื่น ผู้สมัครยังสามารถใช้คู่มือนี้เป็นจุดเริ่มต้นในการค้นหางานที่มีศักยภาพ
คำถามและคำตอบสัมภาษณ์วิศวกรซอฟต์แวร์ 50 ข้อขึ้นไป
1. คำนิยามของจุดอ้างอิงคืออะไร?
จุดอ้างอิงเป็นเหตุการณ์สำคัญของโครงการที่นิยามโดยหัวหน้าโครงการโดยทั่วไป จุดอ้างอิงใช้เพื่อติดตามความคืบหน้าของโครงการและประเมินสภาวะสุขภาพโดยรวมของโครงการเป็นประจำ
2. คำนิยามของการทดสอบแบบกล่องดำคืออะไร?
การทดสอบแบบกล่องดำคือการทดสอบแอปพลิเคชันโดยไม่ทราบโครงสร้างภายในและการใช้รหัส ในการทดสอบแบบกล่องดำ ผู้ทดสอบจะให้ความสนใจกับการทำงานของซอฟต์แวร์แทนการไหลของข้อมูลและการดำเนินการของรหัส
3. คำนิยามของการทดสอบแบบกล่องขาวคืออะไร?
การทดสอบแบบกล่องขาวคือการทดสอบแอปพลิเคชันโดยทำความเข้าใจโครงสร้างภายในหรือการใช้รหัส ในกรณีส่วนใหญ่ การทดสอบนี้ดำเนินการโดยนักพัฒนาที่เขียนรหัสในการทดสอบหน่วย
4. หมวดหมู่ซอฟต์แวร์ที่สำคัญที่สุดคืออะไร?
- ซอฟต์แวร์แอปพลิเคชัน
- ซอฟต์แวร์ระบบ
- ซอฟต์แวร์เว็บ
- แอปพลิเคชันแบบฝังตัว
- ซอฟต์แวร์ AI
- ซอฟต์แวร์ทางวิทยาศาสตร์
5. คำนิยามของการวิศวกรรมซอฟต์แวร์ใหม่คืออะไร?
เป็นกระบวนการพัฒนาซอฟต์แวร์ที่ปรับปรุงความสามารถในการบำรุงรักษาของระบบซอฟต์แวร์
6. ความแตกต่างที่แน่นอนระหว่างโปรแกรมคอมพิวเตอร์และซอฟต์แวร์คอมพิวเตอร์คืออะไร?
โปรแกรมคอมพิวเตอร์เป็นส่วนหนึ่งของรหัสการเขียนโปรแกรมที่ทำงานบนคอมพิวเตอร์ มันดำเนินการงานที่เฉพาะเจาะจง ในขณะเดียวกัน ซอฟต์แวร์มีรหัสการเขียนโปรแกรม เอกสาร และคู่มือผู้ใช้
7. โมเดล SDLC ใดบ้างที่มีให้ใช้ในปัจจุบัน?
Spiral Model, Waterfall Model, V-model, Iterative Model และ Big-bang Model เป็นโมเดล SDLC ที่นิยมมากที่สุดบางส่วน
8. กระบวนการของการพัฒนาซอฟต์แวร์คืออะไร?
วงจรชีวิตการพัฒนาซอฟต์แวร์ ประกอบด้วยแปดขั้นตอนต่อไปนี้:
- การวิเคราะห์ความต้องการ
- ข้อกำหนด
- การสร้างสถาปัตยกรรมซอฟต์แวร์
- การใช้งาน
- การตรวจสอบ
- เอกสาร
- การฝึกอบรมและการช่วยเหลือ
- การบำรุงรักษา
9. การแก้จุดบกพร่องหมายถึงอะไรในกระบวนการพัฒนาซอฟต์แวร์?
การแก้จุดบกพร่องคือกระบวนการลบข้อผิดพลาดออกจากโปรแกรม มันเป็นองค์ประกอบที่สำคัญของการทดสอบที่ประสบความสำเร็จ
10. คำนิยามของการตรวจสอบและการตรวจสอบความถูกต้องคืออะไร?
การตรวจสอบ: แนวคิดนี้หมายถึงชุดของขั้นตอนที่รับประกันว่าซอฟต์แวร์ดำเนินการทำงานที่เฉพาะเจาะจง
ในขณะเดียวกัน การตรวจสอบความถูกต้องหมายถึงกิจกรรมที่รับประกันว่าซอฟต์แวร์ถูกสร้างขึ้นเพื่อตอบสนองความต้องการของลูกค้า
11. ความแตกต่างระหว่างสตับและมอคคืออะไร?
สตับเป็นการใช้งานอินเทอร์เฟซที่เรียบง่ายซึ่งโดยทั่วไปจะส่งกลับข้อมูลที่ฮาร์ดโค้ด ในขณะเดียวกัน มอคจะตรวจสอบผลลัพธ์เทียบกับความคาดหวัง การทดสอบสร้างความคาดหวังเหล่านี้
MVP ในการพัฒนาซอฟต์แวร์คืออะไร?
12. คุณสามารถมั่นใจได้อย่างไรว่าสคริปต์ของคุณปลอดภัยและเร็ว?
ความปลอดภัยของการพัฒนาได้ได้รับลำดับความสำคัญเสมอในการพัฒนาซอฟต์แวร์ หากการดำเนินการของโปรแกรมช้า ฉันจะพยายามค้นหาสาเหตุโดยมองที่ความซับซ้อนของเวลา ด้วยข้อมูลนี้ ฉันสามารถแก้ไขสคริปต์ของฉันให้ทำงานได้อย่างมีประสิทธิภาพมากขึ้น
13. วิธีสองวิธีในการจดบันทึกความต้องการของซอฟต์แวร์คืออะไร?
มีวิธีการจำนวนมากในการจดบันทึกความต้องการ
ต่อไปนี้คือตัวอย่างสองประการ:
- สร้างเอกสารข้อกำหนดความต้องการที่รวมถึงรายชื่อของความต้องการทั้งหมด
- สร้างชีตเอกเซลที่แสดงรายการความต้องการ ประเภท ความเป็นอิสระ ลำดับความสำคัญ เป็นต้น
14. คุณต้องการเขียนอัลกอริทึมของคุณด้วยภาษาการเขียนโปรแกรมใด?
คำตอบจะขึ้นอยู่กับทักษะการเขียนโปรแกรมของคุณ ต่อไปนี้คือเพียงคำตอบตัวอย่าง ส่วนตัวแล้ว ฉันชอบ C และ C++ เพราะความแตกต่างที่สูง
ภาษาการเขียนโปรแกรมสำหรับการเงินและ FinTech
15. คำนิยามของ SRS คืออะไร?
SRS หมายถึงเอกสารข้อกำหนดความต้องการซอฟต์แวร์ (SRS) เป็นเอกสารที่จับความต้องการด้านการทำงานและที่ไม่ใช่ด้านการทำงานของผลิตภัณฑ์ ไม่ใช่ว่าโมเดล SDLC ทั้งหมดต้องปฏิบัติตามเอกสาร SRS บางโมเดลจับความต้องการในรูปแบบของเรื่องราวผู้ใช้ ในขณะที่บางโมเดลในรูปแบบของชีตเอกเซล เป็นต้น
16. คุณคิดว่าโมเดล SDLC ใดดีที่สุด?
ไม่มีการจัดอันดับดังกล่าว เนื่องจากโมเดล SDLC ใช้ตามความต้องการของกระบวนการพัฒนา มันอาจแตกต่างกันไปตั้งแต่ซอฟต์แวร์หนึ่งไปยังซอฟต์แวร์อื่น
17. คำนิยามของซอฟต์แวร์คอมพิวเตอร์คืออะไร?
แพคเกจซอฟต์แวร์คอมพิวเตอร์ประกอบด้วยโปรแกรมซอฟต์แวร์ เอกสาร และคู่มือการใช้งานซอฟต์แวร์
18. คำนิยามของขอบเขตซอฟต์แวร์คืออะไร?
ขอบเขตซอฟต์แวร์เป็นที่รู้จักกันในนาม คุณสมบัติ สิ่งประดิษฐ์ … ทั้งหมด และผลสำเร็จที่ส่งมอบเป็นส่วนหนึ่งของซอฟต์แวร์ มันรวมกิจกรรมทั้งหมดที่ดำเนินการเพื่อสร้างและผลิตผลิตภัณฑ์ซอฟต์แวร์
การมีขอบเขตซอฟต์แวร์ช่วยประมาณการด้านต่าง ๆ ของผลิตภัณฑ์ซอฟต์แวร์ การประมาณการนี้สามารถกำหนดได้โดยการสัมภาษณ์และสังเกตผู้เชี่ยวชาญหรือโดยการใช้สูตรที่กำหนดไว้ล่วงหน้า
การเขียนขอบเขตซอฟต์แวร์ต้องให้คุณมีวัตถุประสงค์ที่ชัดเจนในใจและแผนทรัพยากรที่ครบถ้วน
19. ผู้จัดการโครงการซอฟต์แวร์คืออะไร? หน้าที่ของพวกเขาคืออะไร?
บุคคลนี้รับผิดชอบในการดูแลโครงการพัฒนาซอฟต์แวร์ ผู้จัดการโครงการยังรับผิดชอบในการวางแผนโครงการ การติดตามความคืบหน้า และการสื่อสาร พวกเขายังจัดการความเสี่ยงและทรัพยากรเพื่อให้แน่ใจว่าโครงการเสร็จสิ้นตรงเวลา ตามงบประมาณ และมีคุณภาพสูง
10 ความเสี่ยงทั่วไปในการพัฒนาซอฟต์แวร์
20. ฉันจะกำหนดขนาดของผลิตภัณฑ์ซอฟต์แวร์ได้อย่างไร?
สองวิธีสามารถใช้เพื่อคำนวณขนาดของผลิตภัณฑ์ซอฟต์แวร์
- นับจำนวนบรรทัดของรหัสที่ส่งมอบ
- นับจำนวนจุดฟังก์ชันที่ส่งมอบ
21. จุดฟังก์ชันคืออะไร?
คุณสมบัติที่นำเสนอโดยผลิตภัณฑ์ซอฟต์แวร์เรียกว่าจุดฟังก์ชัน ถือเป็นการประเมินที่สำคัญที่สุดสำหรับขนาดซอฟต์แวร์
22. การดำเนินการของโครงการวัดได้อย่างไร?
สามารถใช้การติดตามกิจกรรม รายงานสถานะ และรายการตรวจสอบเหตุการณ์สำคัญเพื่อประเมินการดำเนินการของโครงการ
23. วิธีการประมาณการโครงการซอฟต์แวร์มีอะไรบ้าง?
ต่อไปนี้คือเทคนิคการประมาณการที่ใช้กันบ่อยที่สุด:
- เทคนิคการแยก
- วิธีการเชิงประจักษ์
24. คำนิยามของการจัดการการกำหนดค่าซอฟต์แวร์คืออะไร?
เป็นกระบวนการติดตามและควบคุมการเปลี่ยนแปลงซอฟต์แวร์
การควบคุมการเปลี่ยนแปลงเป็นฟังก์ชันที่รับประกันว่าการเปลี่ยนแปลงทั้งหมดที่ทำต่อระบบซอฟต์แวร์สอดคล้องกันและสร้างขึ้นตามนโยบายและขั้นตอนขององค์กร
25. โมเดล V คืออะไรและมันทำงานอย่างไร?
โมเดล V เป็นโมเดลลำดับที่ซึ่งขั้นตอนต่อไปนี้จะเริ่มต้นเมื่อขั้นตอนก่อนหน้านี้สิ้นสุด ตัวอย่างเช่น ขั้นตอนการทดสอบจะเริ่มต้นหลังจากขั้นตอนการพัฒนาเสร็จสิ้น และขั้นตอนการบำรุงรักษาจะเริ่มต้นหลังจากขั้นตอนการทดสอบเสร็จสิ้น
โมเดล V เป็นตัวย่อของแบบจำลองการตรวจสอบและการตรวจสอบความถูกต้อง โมเดล V เติมเต็มโมเดล Waterfall ตรงที่มันเป็นโมเดลลำดับด้วย
แต่ละขั้นตอนการพัฒนาในโมเดล V มีความเกี่ยวข้องกับขั้นตอนการทดสอบที่สอดคล้องกัน
รูปภาพด้านล่างแสดงขั้นตอนต่าง ๆ ของโมเดล V
วงจรชีวิตการพัฒนาซอฟต์แวร์อยู่ที่ด้านซ้ายของแบบจำลอง ในขณะที่วงจรชีวิตการทดสอบซอฟต์แวร์อยู่ทางขวา เนื่องจากขั้นตอนนั้นสร้างตัวอักษร ‘V’ โมเดลนี้จึงเป็นที่รู้จักกันในนาม V-Model
SDLC จะต้องตีความจากบนลงล่างภายในโมเดล V ในขณะที่ STLC จะต้องตีความจากล่างขึ้นบน เดิมที ความต้องการจะถูกรวบรวมเพื่อบันทึกระบบที่จะพัฒนาตามข้อกำหนดของลูกค้า จากความต้องการ ทีมทดสอบสร้างแผนการทดสอบระบบ
ขั้นตอนการออกแบบระดับสูงและรายละเอียดติดตามมา ในระหว่างขั้นตอนเหล่านี้ สถาปัตยกรรมของระบบจะเตรียมการ ในระหว่างขั้นตอนเหล่านี้ ทีมทดสอบจะพัฒนาแผนการทดสอบการรวม เมื่อการเข้ารหัส SDLC เสร็จสิ้น STLC จะเริ่มต้นด้วยการทดสอบหน่วย การทดสอบการรวม และการทดสอบระบบ
26. คำนิยามของความต้องการซอฟต์แวร์คืออะไร?
ความต้องการซอฟต์แวร์มีคำอธิบายการทำงานของระบบซอฟต์แวร์ที่นำเสนอ มันอธิบายระบบเป้าหมาย รวมถึงฟังก์ชันและคุณสมบัติของมัน
27. คำนิยามของความต้องการด้านการทำงานและที่ไม่ใช่ด้านการทำงานคืออะไร?
ความต้องการด้านการทำงานคือคุณลักษณะภาคปฏิบัติที่ผู้ใช้คาดหวังจากผลิตภัณฑ์ซอฟต์แวร์ที่นำเสนอ
ความต้องการที่ไม่ใช่ด้านการทำงานเกี่ยวข้องกับความปลอดภัย ประสิทธิภาพ และลักษณะการมองและความรู้สึกของส่วนต่อประสานผู้ใช้
28. คำนิยามของการศึกษาความเป็นไปได้คืออะไร?
เป็นตัวชี้วัดเพื่อตรวจสอบว่าการพัฒนาโครงการซอฟต์แวร์จะมีประโยชน์ต่อองค์กรมากแค่ไหน นักวิเคราะห์ซอฟต์แวร์วิจัยความเป็นไปได้ทางเศรษฐกิจ เทคนิค และปฏิบัติการของโครงการ
- เศรษฐกิจ: นี้รวมถึงราคาของการฝึกอบรม เครื่องมือเพิ่มเติม และการประมาณการทั่วไปของต้นทุนและผลประโยชน์ของโครงการ
- เทคนิค: ประเมินลักษณะด้านเทคนิค สามารถสร้างระบบนี้ได้หรือไม่? ประเมินความเหมาะสมของเครื่องจักร และระบบปฏิบัติการที่ซอฟต์แวร์จะทำงาน รวมถึงความรู้ของการพัฒนาซอฟต์แวร์และเครื่องมือที่มีอยู่สำหรับโครงการดังกล่าว
- ปฏิบัติการ: นักวิเคราะห์ต้องประเมินว่าองค์กรสามารถปรับตัวได้อย่างราบรื่นต่อการเปลี่ยนแปลงเพื่อตอบสนองความต้องการของโครงการหรือไม่ คุ้มค่าที่จะแก้ไขปัญหาได้ด้วยต้นทุนที่คาดไว้หรือไม่?
29. เครื่องมือการจัดการโครงการมีอะไรบ้าง?
เครื่องมือการจัดการมากมายมีให้ใช้ตามความต้องการของโครงการซอฟต์แวร์ ตัวอย่างเช่น Pert Charts, Gantt Charts, Resource Histograms, Status Reports เป็นต้น
30. คำนิยามของการแบ่งโมดูลคืออะไร?
การแบ่งโมดูลเป็นเทคนิคในการแยกระบบซอฟต์แวร์ออกเป็นโมดูลที่แยกจากกัน คาดว่าพวกเขาจะเสร็จสิ้นงาน
31. คำนิยามของเมตริกซอฟต์แวร์คืออะไร?
เมตริกซอฟต์แวร์ให้การวัดสำหรับแง่มุมต่าง ๆ ของกระบวนการซอฟต์แวร์ ซึ่งจำแนกดังนี้:
- เมตริกความต้องการ รวมถึงความยาวความต้องการและความสมบูรณ์
- เมตริกผลิตภัณฑ์ รวมถึงเมตริกเชิงวัตถุ เมตริกการออกแบบและการทดสอบ และจำนวนบรรทัดของการเข้ารหัส
32. คำนิยามของความเชื่อมโยงคืออะไร?
ความเชื่อมโยงเป็นเมตริกที่กำหนดความเป็นอิสระของส่วนประกอบของโมดูล
33. แผนผังการไหลของข้อมูลระดับ 0 คืออะไร?
ชั้นการสรุปสูงสุดของ DFD เรียกว่า Level 0 เป็นที่รู้จักกันในนาม DFD ระดับบริบท มันแสดงระบบข้อมูลทั้งหมดเป็นแผนผังเดียว
34. เครื่องมือการออกแบบและการวิเคราะห์ซอฟต์แวร์มีอะไรบ้าง?
ต่อไปนี้คือเครื่องมือการออกแบบและการวิเคราะห์ซอฟต์แวร์พื้นฐาน:
- แผนผังโครงสร้าง
- แผนผังการไหลของข้อมูล
- พจนานุกรมข้อมูล
- ภาษาอังกฤษที่มีโครงสร้าง
- แผนผังอินพุต-กระบวนการ-เอาต์พุตแบบลำดับชั้น
- แผนผังความสัมพันธ์เอนทิตี้ และตารางการตัดสินใจ
35. คำนิยามของการออกแบบที่มีโครงสร้างคืออะไร?
เป็นการสรุปความเป็นปัญหา เป็นที่รู้จักกันในนาม การออกแบบวิธีแก้ไขปัญหา โดยอิงตามกลยุทธ์ “หารและพิชิต”
36. ความแตกต่างหลักระหว่าง Pseudo Code และ Structured English คืออะไร?
ภาษาอังกฤษดั้งเดิมเป็นภาษาอังกฤษที่มีโครงสร้าง ใช้ในการสร้างกรอบงานของโมดูลโปรแกรม ใช้คีย์เวิร์ดจากภาษาการเขียนโปรแกรม Pseudo Code ในทางกลับกัน มีความคล้ายคลึงกับภาษาการเขียนโปรแกรมมากกว่า แต่ไม่มีไวยากรณ์เฉพาะ
37. กำหนด CASE tools
CASE เป็นตัวย่อของ Computer Aided Software Engineering เป็นชุดของโปรแกรมแอปพลิเคชันซอฟต์แวร์อัตโนมัติที่สนับสนุน เสริม และเสริมความแข็งแกร่งให้กับกิจกรรม SDLC
38. กำหนดการเขียนโปรแกรมแบบการทำงาน
วิธีการเขียนโปรแกรมนี้ใช้แนวคิดของฟังก์ชันทางคณิตศาสตร์ มันให้วิธีการคำนวณในรูปแบบของฟังก์ชันทางคณิตศาสตร์ซึ่งผลิตผลลัพธ์โดยไม่คำนึงถึงสถานะของโปรแกรม
39. ความแตกต่างระหว่างการรับประกันคุณภาพและการควบคุมคุณภาพคืออะไร?
การรับประกันคุณภาพรับประกันว่ากระบวนการที่เหมาะสมตามมาเมื่อพัฒนาซอฟต์แวร์ ในขณะที่การควบคุมคุณภาพเกี่ยวข้องกับการรักษาคุณภาพของผลิตภัณฑ์ซอฟต์แวร์
โครงสร้างทีมพัฒนาซอฟต์แวร์: บทบาทและความรับผิดชอบ
40. รูปแบบกระบวนการใดที่กำจัดข้อบกพร่องก่อนที่พวกเขาจะสร้างปัญหาต่อซอฟต์แวร์?
วิธี Clean room software engineering สามารถทำได้โดยไม่มีปัญหาใด ๆ
41. ความแตกต่างระหว่าง EXE และ DLL คืออะไร?
EXE เป็นโปรแกรมที่ทำงานได้ ในขณะที่ DLL เป็นไฟล์ที่สามารถโหลดและดำเนินการแบบไดนามิกโดยโปรแกรม เป็นที่เก็บรหัสภายนอกของโปรแกรม เนื่องจากพวกเขาเป็นโปรแกรมที่แตกต่างกัน พวกเขาควรแบ่งปัน DLL เดียวกันแทนที่จะมีรหัสนั้นอยู่ในไฟล์ของพวกเขา มันยังช่วยลดปริมาณพื้นที่เก็บข้อมูลที่จำเป็น
42. ความแตกต่างระหว่างกระบวนการและเธรดคืออะไร?
กระบวนการเป็นประเภทของโปรแกรมคอมพิวเตอร์ สามารถมีเธรดหนึ่งหรือมากกว่าในโปรแกรมเดียว
43. ความแตกต่างระหว่างการเขียนโปรแกรมแบบเน้นอินเทอร์เฟซ เชิงวัตถุ และเชิงด้านคืออะไร?
- การเขียนโปรแกรมเน้นอินเทอร์เฟซโดยอิงตามสัญญา
- การเขียนโปรแกรมเชิงวัตถุเป็นวิธีการสร้างวัตถุแบบละเอียด (granular) ที่มีวัตถุประสงค์เดียว
- เป้าหมายของการเขียนโปรแกรมเชิงด้านคือการแยกรหัสเพื่อให้วัตถุต่าง ๆ ดำเนินการงานหลักและวัตถุอิสระทำงานเพิ่มเติม
44. ความแตกต่างระหว่างการพิมพ์ที่แข็งแกร่งและการพิมพ์ที่อ่อนแอคืออะไร? อันไหนดีกว่า? ทำไม?
การพิมพ์ที่แข็งแกร่งตรวจสอบประเภทของตัวแปรในเวลาการรวบรวม การพิมพ์ที่อ่อนแอในทางกลับกัน ตรวจสอบประเภทของระบบในเวลา runtime การพิมพ์ที่แข็งแกร่งได้รับการชื่นชอบในหมู่พวกเขาเสมอเพราะมันช่วยลดจุดบกพร่อง
45. คุณจัดระเบียบความต้องการของคุณอย่างไร?
ขั้นแรก คุณต้องสร้างระบบโดยการวิเคราะห์โครงสร้างข้อมูล จากนั้น คุณควรพิจารณาโครงสร้างรหัสที่จำเป็นในการสนับสนุน
46. ทำไมจึงเป็นเรื่องที่ไม่ดีอยู่เสมอที่จะใช้ catch (exception)?
เป็นความคิดที่ไม่ดีเพราะตัวแปรไม่ได้กำหนดไว้ จึงเป็นไปไม่ได้ที่จะดูข้อยกเว้น
47. ข้อมูลประเภทใดที่ส่งผ่านส่วนหัว HTTP?
ข้อมูลเมตาและสคริปต์สามารถให้ผ่านส่วนหัว HTTP
48. ความแตกต่างระหว่างการออกแบบตามส่วนประกอบและการออกแบบเชิงวัตถุคืออะไร?
การออกแบบตามส่วนประกอบสามารถห่อการออกแบบเชิงวัตถุได้อย่างง่ายดาย
49. ความแตกต่างระหว่างสแต็กและคิวคืออะไร?
– ในคิว เข้าจากต้นออกก่อนเป็นกฎเสมอ
– สแต็กอยู่เสมอเข้าก่อนออกก่อน
50. ควรใช้ Polymorphism เมื่อใด?
Polymorphism ใช้เมื่อต้องการการแทนที่ความสามารถเมื่อการสืบทอดของคลาส มันทั้งหมดลงมาถึงคลาสที่ใช้ร่วมกันและสัญญาที่แบ่งปัน
51. ความแตกต่างระหว่างสาขาและแท็กคืออะไร?
แท็กใช้สำหรับการปล่อยเวอร์ชัน และทำหน้าที่เป็นตำแหน่งเก็บข้อมูลชั่วคราวและจะไม่ถูกลบ สาขาอย่างไรก็ตาม จะถูกลบเมื่อการเปลี่ยนแปลงรวมเข้ากับลำต้น
52. คุณเชื่อว่าการบำรุงรักษาซอฟต์แวร์มีค่าใช้จ่ายหรือไม่?
การบำรุงรักษาซอฟต์แวร์ขึ้นอยู่กับบริการที่จำเป็นและจำนวนที่ระบบต้องการการซ่อมแซม ดังนั้น หากซอฟต์แวร์พัฒนาอย่างถูกต้องตั้งแต่ช่วงแรก ๆ ของมัน ต้นทุนการบำรุงรักษาจะน้อยกว่าที่คุณคิด
53. จำเป็นต้องทดสอบคุณภาพของรหัสอะไร?
กรอบการทดสอบหน่วยเป็นสิ่งสำคัญสำหรับการทดสอบคุณภาพของรหัส
54. ฉันสามารถหาตัวแปรระดับคลาสที่ได้รับการป้องกันได้ที่ไหน?
คลาสย่อยใด ๆ ที่ได้มาจากคลาสฐานมีการเข้าถึงตัวแปรระดับคลาสที่ได้รับการป้องกัน
55. จำเป็นต้องทำเครื่องหมายคลาสเป็นนามธรรมเมื่อใด?
ในกรณีต่อไปนี้ เราสามารถประกาศคลาสนามธรรม:
1. เมื่อคลาสสืบทอดมาจากคลาสนามธรรม แต่ไม่ได้เขียนทับวิธีการนามธรรมทั้งหมด
2. เมื่อมีวิธีการอย่างน้อยหนึ่งวิธีในคลาสที่ประกาศว่าเป็นนามธรรม
56. บล็อก catch หลายบล็อกสามารถทำงานตอบสนองต่อคำสั่ง try เดียวได้หรือไม่?
ใช่ บล็อก catch หลายบล็อกสามารถดำเนินการได้สำหรับคำสั่ง try เดียว
57. การเชื่อมต่อคืออะไร?
ระดับของความเป็นอิสระระหว่างโมดูลถูกกำหนดเป็นการเชื่อมต่อ ระดับการเชื่อมต่อโดยปกติจะต่ำในซอฟต์แวร์ที่ดี
บทสรุป
เราหวังว่าบทความนี้จะช่วยให้คุณตอบคำถามสัมภาษณ์ซอฟต์แวร์ใด ๆ ได้สำเร็จ ไม่มีกฎหรือข้อกำหนดที่แน่นอนเกี่ยวกับประเภทของคำถามสัมภาษณ์วิศวกรซอฟต์แวร์ที่ผู้สัมภาษณ์อาจถาม มันแตกต่างกันไปตามองค์กรและบทบาทที่ถูกสัมภาษณ์
ดังนั้นวิจัยให้ดีก่อนสัมภาษณ์และแสดงตัวเองที่มั่นใจมากที่สุดในวันสำคัญ พรให้ดีสำหรับสัมภาษณ์วิศวกรซอฟต์แวร์ของคุณ! และขอให้โชคดีสำหรับผู้จัดการการจ้างงานที่มองหาจ้างพรสวรรค์ใหม่!









