Go

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

JWT, OAuth2, การจัดการเซสชัน, RBAC, crypto/rand vs math/rand, การกำหนดค่า TLS, การเขียนโค้ดอย่างปลอดภัย, แนวปฏิบัติที่ดีที่สุดด้านความปลอดภัย

24 คำถามสัมภาษณ์·
Senior
1

ความแตกต่างหลักระหว่างโทเค็น JWT กับเซสชันเซิร์ฟเวอร์แบบดั้งเดิมคืออะไร?

คำตอบ

โทเค็น JWT เป็นแบบ stateless (ไม่มีสถานะฝั่งเซิร์ฟเวอร์) และบรรจุข้อมูลที่จำเป็นทั้งหมดที่ถูกเข้ารหัสไว้ภายในตัวโทเค็นเอง ต่างจากเซสชันแบบดั้งเดิมที่เก็บข้อมูลไว้ในหน่วยความจำหรือฐานข้อมูลฝั่งเซิร์ฟเวอร์โดยมีเพียง session ID อยู่ฝั่งไคลเอนต์ JWT ย้ายความรับผิดชอบในการจัดเก็บไปยังไคลเอนต์ สิ่งนี้ช่วยให้การขยายในแนวนอนทำได้ง่ายขึ้นเนื่องจากไม่ต้องมีสถานะที่ใช้ร่วมกันระหว่างเซิร์ฟเวอร์

2

สามส่วนของโทเค็น JWT ที่คั่นด้วยจุดคืออะไร?

คำตอบ

JWT ประกอบด้วยสามส่วนที่เข้ารหัสแบบ Base64URL และคั่นด้วยจุด: Header (อัลกอริทึมและประเภท), Payload (claims/ข้อมูล) และ Signature (การตรวจสอบความสมบูรณ์) โครงสร้างคือ header.payload.signature โดย header ระบุอัลกอริทึมการลงนาม (HS256, RS256), payload บรรจุ claims (iss, sub, exp) และ signature รับประกันว่าโทเค็นไม่ถูกแก้ไข

3

JWT claim มาตรฐานใดที่กำหนด timestamp การหมดอายุของโทเค็น?

คำตอบ

claim 'exp' (expiration time) กำหนด Unix timestamp ที่หลังจากนั้นจะต้องไม่รับโทเค็นอีกต่อไป claims มาตรฐานยังรวมถึง 'iss' (issuer), 'sub' (subject), 'aud' (audience), 'iat' (issued at) และ 'nbf' (not before) การตรวจสอบ claim exp มีความสำคัญอย่างยิ่งในการจำกัดระยะเวลาที่โทเค็นมีผลและลดผลกระทบจากโทเค็นที่ถูกขโมย

4

ความแตกต่างหลักระหว่าง HS256 และ RS256 ในการลงนาม JWT คืออะไร?

5

จะเพิกถอน JWT ก่อนที่มันจะหมดอายุตามธรรมชาติได้อย่างไร?

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

หัวข้อสัมภาษณ์ 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 คำถาม

การออกแบบ REST API

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 คำถาม

Docker & Containerization

Senior
20 คำถาม

Kubernetes Basics

Senior
22 คำถาม

Go ขั้นสูง

Senior
20 คำถาม

การพัฒนา CLI

Senior
20 คำถาม

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

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

เริ่มใช้ฟรี