
การออกแบบ REST API
หลักการ REST, การกำหนดเวอร์ชัน, การแบ่งหน้า, การกรอง, HATEOAS, รหัสสถานะ, OpenAPI/Swagger
1หลักการพื้นฐานของ REST คืออะไร?
หลักการพื้นฐานของ REST คืออะไร?
คำตอบ
REST อิงตามหลักการของการแสดงทรัพยากรที่เข้าถึงได้ผ่าน URI ที่ไม่ซ้ำกัน แต่ละทรัพยากร (user, product, order) มี URI และสามารถจัดการผ่าน HTTP verb มาตรฐาน (GET, POST, PUT, DELETE) ได้ แนวคิดที่เน้นทรัพยากรนี้ช่วยให้เกิดสถาปัตยกรรมที่ขยายขนาดได้และแยกส่วน โดยเซิร์ฟเวอร์ไม่จัดเก็บสถานะเซสชันของไคลเอ็นต์
2ควรใช้เมธอด HTTP ใดสำหรับการอัปเดตทรัพยากรทั้งหมดแบบ idempotent?
ควรใช้เมธอด HTTP ใดสำหรับการอัปเดตทรัพยากรทั้งหมดแบบ idempotent?
คำตอบ
PUT เป็น idempotent และแทนที่ทรัพยากรทั้งหมด การเรียก PUT หลายครั้งด้วยข้อมูลเดียวกันให้ผลลัพธ์เหมือนกับการเรียกครั้งเดียว ในทางกลับกัน POST ไม่ใช่ idempotent (จะสร้างทรัพยากรหลายรายการ) PATCH ทำการอัปเดตบางส่วน และ DELETE ลบทรัพยากร ความเป็น idempotent ของ PUT รับประกันความปลอดภัยในการ retry เมื่อเกิดข้อผิดพลาดเครือข่าย
3ควรส่งคืนรหัส HTTP ใดหลังจากสร้างทรัพยากรใหม่สำเร็จ?
ควรส่งคืนรหัส HTTP ใดหลังจากสร้างทรัพยากรใหม่สำเร็จ?
คำตอบ
รหัส 201 Created บ่งบอกว่าทรัพยากรถูกสร้างสำเร็จ มันมาพร้อมกับ header Location ที่ชี้ไปยัง URI ของทรัพยากรใหม่ รหัส 200 OK ทั่วไปเกินไปสำหรับการสร้าง 204 No Content ใช้เมื่อไม่มี body ตอบกลับ และ 202 Accepted บ่งบอกการประมวลผลแบบอะซิงโครนัสที่ยังไม่เสร็จสมบูรณ์
ความแตกต่างสำคัญใดที่แยก REST API ออกจาก RPC API?
หลักการ statelessness ใน REST หมายความว่าอย่างไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Go อื่นๆ
พื้นฐาน Go
โครงสร้างข้อมูล Go
อินเทอร์เฟซใน Go
การจัดการข้อผิดพลาด
พื้นฐาน Goroutine
Channels
Go Modules
เซิร์ฟเวอร์ HTTP
ไคลเอนต์ HTTP
การเข้ารหัส JSON
Database/SQL
แพ็กเกจ context
Testing
รูปแบบ Concurrency
ไพรมิทีฟการซิงโครไนซ์
เฟรมเวิร์กเว็บ Go
gRPC
Reflection
การจัดการหน่วยความจำ
การเพิ่มประสิทธิภาพการทำงาน
Generics
Go Design Patterns
Microservices
ความปลอดภัยและการยืนยันตัวตน
Docker & Containerization
Kubernetes Basics
Go ขั้นสูง
การพัฒนา CLI
เชี่ยวชาญ Go สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี