# Bảo mật và Xác thực (Go) > 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 - 24 câu hỏi phỏng vấn - Senior - [Câu hỏi phỏng vấn: Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van.md) ## 1. 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ủ. ## 2. 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. ## 3. 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. ## Còn 21 câu hỏi nữa - 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? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Go khác - [Kiến thức cơ bản về Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-basics.md): 25 câu hỏi, Junior - [Cấu trúc dữ liệu Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-data-structures.md): 20 câu hỏi, Junior - [Interface trong Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-interfaces.md): 18 câu hỏi, Junior - [Xử lý lỗi](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/error-handling.md): 20 câu hỏi, Junior - [Cơ bản về Goroutine](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/goroutines-basics.md): 20 câu hỏi, Junior - [Channels](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/channels.md): 22 câu hỏi, Junior - [Go Modules](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-modules.md): 18 câu hỏi, Mid-Level - [Máy chủ HTTP](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/http-server.md): 24 câu hỏi, Mid-Level - [HTTP Client](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/http-client.md): 18 câu hỏi, Mid-Level - [Mã hóa JSON](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/json-encoding.md): 20 câu hỏi, Mid-Level - [Database/SQL](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/database-sql.md): 22 câu hỏi, Mid-Level - [Gói context](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/context-package.md): 20 câu hỏi, Mid-Level - [Testing](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/testing.md): 22 câu hỏi, Mid-Level - [Các mẫu Concurrency](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/concurrency-patterns.md): 24 câu hỏi, Mid-Level - [Primitive đồng bộ hóa](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/sync-primitives.md): 22 câu hỏi, Mid-Level - [Framework web Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-web-frameworks.md): 20 câu hỏi, Mid-Level - [Thiết kế API REST](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/rest-api-design.md): 20 câu hỏi, Mid-Level - [gRPC](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/grpc.md): 22 câu hỏi, Mid-Level - [Reflection](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/reflection.md): 20 câu hỏi, Senior - [Quản lý bộ nhớ](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/memory-management.md): 24 câu hỏi, Senior - [Tối ưu hóa hiệu năng](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/performance-optimization.md): 22 câu hỏi, Senior - [Generics](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/generics.md): 20 câu hỏi, Senior - [Go Design Patterns](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/design-patterns.md): 24 câu hỏi, Senior - [Microservices](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/microservices.md): 24 câu hỏi, Senior - [Docker & Containerization](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/docker-containerization.md): 20 câu hỏi, Senior - [Kubernetes Basics](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/kubernetes-basics.md): 22 câu hỏi, Senior - [Go Nâng cao](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/advanced-go.md): 20 câu hỏi, Senior - [Phát triển CLI](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/cli-development.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/security-authentication