
Bảo mật và Xác thực
JWT, OAuth2, quản lý phiên, RBAC, crypto/rand vs math/rand, cấu hình TLS, lập trình an toàn, các thực hành bảo mật tốt nhất
1Sự khác biệt chính giữa token JWT và phiên máy chủ truyền thống là gì?
Sự khác biệt chính giữa token JWT và phiên máy chủ truyền thống là gì?
Câu trả lời
Token JWT là stateless (không có trạng thái phía máy chủ) và chứa tất cả thông tin cần thiết được mã hóa bên trong chính token đó. Khác với các phiên truyền thống lưu trữ dữ liệu trong bộ nhớ hoặc cơ sở dữ liệu phía máy chủ và chỉ giữ một session ID phía máy khách, JWT chuyển trách nhiệm lưu trữ sang máy khách. Điều này tạo thuận lợi cho việc mở rộng theo chiều ngang vì không cần trạng thái chia sẻ giữa các máy chủ.
2Ba phần của một token JWT được phân tách bằng dấu chấm là gì?
Ba phần của một token JWT được phân tách bằng dấu chấm là gì?
Câu trả lời
Một JWT bao gồm ba phần được mã hóa Base64URL và phân tách bằng dấu chấm: Header (thuật toán và loại), Payload (claims/dữ liệu) và Signature (xác minh tính toàn vẹn). Cấu trúc là header.payload.signature. Header chỉ định thuật toán ký (HS256, RS256), payload chứa các claims (iss, sub, exp) và signature đảm bảo token không bị giả mạo.
3Claim JWT chuẩn nào định nghĩa timestamp hết hạn của token?
Claim JWT chuẩn nào định nghĩa timestamp hết hạn của token?
Câu trả lời
Claim 'exp' (expiration time) định nghĩa timestamp Unix mà sau đó token không còn được chấp nhận. Các claims chuẩn còn bao gồm 'iss' (issuer), 'sub' (subject), 'aud' (audience), 'iat' (issued at) và 'nbf' (not before). Việc xác thực claim exp là rất quan trọng để giới hạn thời gian hiệu lực của token và giảm thiểu tác động của một token bị đánh cắp.
Sự khác biệt chính giữa HS256 và RS256 khi ký JWT là gì?
Làm thế nào để thu hồi một JWT trước khi nó hết hạn tự nhiên?
+21 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Go khác
Kiến thức cơ bản về Go
Cấu trúc dữ liệu Go
Interface trong Go
Xử lý lỗi
Cơ bản về Goroutine
Channels
Go Modules
Máy chủ HTTP
HTTP Client
Mã hóa JSON
Database/SQL
Gói context
Testing
Các mẫu Concurrency
Primitive đồng bộ hóa
Framework web Go
Thiết kế API REST
gRPC
Reflection
Quản lý bộ nhớ
Tối ưu hóa hiệu năng
Generics
Go Design Patterns
Microservices
Docker & Containerization
Kubernetes Basics
Go Nâng cao
Phát triển CLI
Nắm vững Go cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí