Go

การออกแบบ REST API

หลักการ REST, การกำหนดเวอร์ชัน, การแบ่งหน้า, การกรอง, HATEOAS, รหัสสถานะ, OpenAPI/Swagger

20 คำถามสัมภาษณ์·
Mid-Level
1

หลักการพื้นฐานของ REST คืออะไร?

คำตอบ

REST อิงตามหลักการของการแสดงทรัพยากรที่เข้าถึงได้ผ่าน URI ที่ไม่ซ้ำกัน แต่ละทรัพยากร (user, product, order) มี URI และสามารถจัดการผ่าน HTTP verb มาตรฐาน (GET, POST, PUT, DELETE) ได้ แนวคิดที่เน้นทรัพยากรนี้ช่วยให้เกิดสถาปัตยกรรมที่ขยายขนาดได้และแยกส่วน โดยเซิร์ฟเวอร์ไม่จัดเก็บสถานะเซสชันของไคลเอ็นต์

2

ควรใช้เมธอด HTTP ใดสำหรับการอัปเดตทรัพยากรทั้งหมดแบบ idempotent?

คำตอบ

PUT เป็น idempotent และแทนที่ทรัพยากรทั้งหมด การเรียก PUT หลายครั้งด้วยข้อมูลเดียวกันให้ผลลัพธ์เหมือนกับการเรียกครั้งเดียว ในทางกลับกัน POST ไม่ใช่ idempotent (จะสร้างทรัพยากรหลายรายการ) PATCH ทำการอัปเดตบางส่วน และ DELETE ลบทรัพยากร ความเป็น idempotent ของ PUT รับประกันความปลอดภัยในการ retry เมื่อเกิดข้อผิดพลาดเครือข่าย

3

ควรส่งคืนรหัส HTTP ใดหลังจากสร้างทรัพยากรใหม่สำเร็จ?

คำตอบ

รหัส 201 Created บ่งบอกว่าทรัพยากรถูกสร้างสำเร็จ มันมาพร้อมกับ header Location ที่ชี้ไปยัง URI ของทรัพยากรใหม่ รหัส 200 OK ทั่วไปเกินไปสำหรับการสร้าง 204 No Content ใช้เมื่อไม่มี body ตอบกลับ และ 202 Accepted บ่งบอกการประมวลผลแบบอะซิงโครนัสที่ยังไม่เสร็จสมบูรณ์

4

ความแตกต่างสำคัญใดที่แยก REST API ออกจาก RPC API?

5

หลักการ statelessness ใน REST หมายความว่าอย่างไร?

+17 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ Go อื่นๆ

พื้นฐาน Go

Junior
25 คำถาม

โครงสร้างข้อมูล Go

Junior
20 คำถาม

อินเทอร์เฟซใน Go

Junior
18 คำถาม

การจัดการข้อผิดพลาด

Junior
20 คำถาม

พื้นฐาน Goroutine

Junior
20 คำถาม

Channels

Junior
22 คำถาม

Go Modules

Mid-Level
18 คำถาม

เซิร์ฟเวอร์ HTTP

Mid-Level
24 คำถาม

ไคลเอนต์ HTTP

Mid-Level
18 คำถาม

การเข้ารหัส JSON

Mid-Level
20 คำถาม

Database/SQL

Mid-Level
22 คำถาม

แพ็กเกจ context

Mid-Level
20 คำถาม

Testing

Mid-Level
22 คำถาม

รูปแบบ Concurrency

Mid-Level
24 คำถาม

ไพรมิทีฟการซิงโครไนซ์

Mid-Level
22 คำถาม

เฟรมเวิร์กเว็บ Go

Mid-Level
20 คำถาม

gRPC

Mid-Level
22 คำถาม

Reflection

Senior
20 คำถาม

การจัดการหน่วยความจำ

Senior
24 คำถาม

การเพิ่มประสิทธิภาพการทำงาน

Senior
22 คำถาม

Generics

Senior
20 คำถาม

Go Design Patterns

Senior
24 คำถาม

Microservices

Senior
24 คำถาม

ความปลอดภัยและการยืนยันตัวตน

Senior
24 คำถาม

Docker & Containerization

Senior
20 คำถาม

Kubernetes Basics

Senior
22 คำถาม

Go ขั้นสูง

Senior
20 คำถาม

การพัฒนา CLI

Senior
20 คำถาม

เชี่ยวชาญ Go สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี