ในการพัฒนาระบบสารสนเทศที่รองรับการทำงานแบบ Concurrent หากไม่จัดการ Locking และ Synchronization อย่างเพียงพอ ปัญหาใดมีโอกาสเกิดขึ้นมากที่สุด

SQL Injection ซึ่งเกิดจากการไม่ตรวจสอบข้อมูลนำเข้า ทำให้ผู้ไม่ประสงค์ดีสามารถแทรกคำสั่งฐานข้อมูลได้
Memory Leak ซึ่งเกิดจากการจองหน่วยความจำโดยไม่คืนให้ระบบ ทำให้หน่วยความจำหมดในที่สุด
Buffer Overflow ซึ่งเกิดจากการส่งข้อมูลเกินขนาดบัฟเฟอร์ที่กำหนด ทำให้ข้อมูลทับหน่วยความจำข้างเคียง
Deadlock ซึ่งเกิดจากกระบวนการหลายตัวรอการใช้ทรัพยากรซึ่งกันและกัน ทำให้ระบบหยุดทำงาน

เฉลยอธิบาย

Deadlock เป็นปัญหาที่เกิดโดยตรงจากการจัดการ Locking และ Synchronization ที่ไม่เหมาะสมในระบบ Concurrent โดยกระบวนการ (Process หรือ Thread) ตั้งแต่ 2 ตัวขึ้นไปต่างรอให้อีกฝ่ายปล่อยทรัพยากร ทำให้ไม่มีฝ่ายใดทำงานต่อได้ ส่วน Memory Leak เกี่ยวกับการจัดการหน่วยความจำ Buffer Overflow เกี่ยวกับการตรวจสอบขนาดข้อมูล และ SQL Injection เกี่ยวกับความปลอดภัยของการรับข้อมูลนำเข้า ซึ่งทั้ง 3 ปัญหานี้ไม่ได้เกิดจากการขาด Locking และ Synchronization โดยตรง

ข้อสอบอื่นในวิชาการพัฒนาระบบสารสนเทศ วิเคราะห์ ออกแบบ และการเขียนโปรแกรมคอมพิวเตอร์

ดูข้อสอบวิชานี้ทั้งหมด →