Sẵn sàng thử sức?
Phỏng vấn thử với AI, nhận đánh giá và feedback chi tiết
HTTP là gì? Giải thích các HTTP methods phổ biến?
HTTP (HyperText Transfer Protocol) là giao thức truyền tải dữ liệu trên web.
| Method | Mục đích | Idempotent |
|---|---|---|
GET |
Lấy dữ liệu | ✅ |
POST |
Tạo mới | ❌ |
PUT |
Update toàn bộ | ✅ |
PATCH |
Update một phần | ❌ |
DELETE |
Xóa | ✅ |
RESTful API là gì? Các nguyên tắc thiết kế?
REST (Representational State Transfer) là kiến trúc thiết kế API.
Nguyên tắc:
- Stateless: Server không lưu session
- Resource-based URLs:
/users/123 - HTTP methods đúng mục đích
- Response format nhất quán (JSON)
GET /users # List users
GET /users/123 # Get user 123
POST /users # Create user
PUT /users/123 # Update user
DELETE /users/123 # Delete user
SQL vs NoSQL - Khác biệt và khi nào dùng?
| Đặc điểm | SQL | NoSQL |
|---|---|---|
| Schema | Fixed | Flexible |
| Relationships | Strong (JOINs) | Weak |
| Scale | Vertical | Horizontal |
| Use case | Finance, ERP | Real-time, Big data |
Index trong Database là gì? Tại sao cần index?
Index là cấu trúc dữ liệu giúp tìm kiếm nhanh hơn (như mục lục sách).
Ưu điểm: SELECT nhanh hơn nhiều lần (O(log n) thay vì O(n)).
Nhược điểm: INSERT/UPDATE chậm hơn, tốn storage.
-- Tạo index
CREATE INDEX idx_email ON users(email);
-- Composite index
CREATE INDEX idx_name_date ON orders(customer_name, order_date);
HTTP Status Codes phổ biến?
- 2xx Success: 200 OK, 201 Created, 204 No Content
- 3xx Redirect: 301 Permanent, 302 Temporary, 304 Not Modified
- 4xx Client Error: 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found
- 5xx Server Error: 500 Internal Error, 502 Bad Gateway, 503 Unavailable
Authentication vs Authorization?
Authentication (Xác thực): "Bạn là ai?" - Verify identity (login)
Authorization (Phân quyền): "Bạn được làm gì?" - Check permissions
Ví dụ: Login = Authentication, Check admin role = Authorization