Thiết kế hệ thống rút gọn liên kết (URL Shortener)
cho phép người dùng cá nhân tạo và theo dõi lượt click.
Về câu hỏi này
Danh mục
Thiết kế Hệ thống
Chủ đề
Nền tảng người dùng
Độ khó
Dễ
Thời gian ước tính
40 phút
Câu hỏi này giúp bạn luyện tập
Câu hỏi system design này kiểm tra cách xây dựng một nền tảng user-facing cần redirect rất nhanh nhưng vẫn thu thập analytics hữu ích. Câu trả lời tốt nên tách đường redirect nhiều lượt đọc khỏi click tracking bất đồng bộ và cân nhắc abuse, expiry, custom alias.
Cách luyện tập
Làm rõ use case chính
Xác định user account, custom alias, expiration, privacy, mức độ chi tiết analytics và scale kỳ vọng.
Thiết kế tạo URL và redirect
Giải thích code generation, uniqueness, storage, caching, redirect status và fallback.
Thêm tracking và safety
Dùng async event logging, aggregation, bot filtering, rate limit, malware check và abuse report.
Dấu hiệu của câu trả lời tốt
Giữ redirect nhanh bằng cache và lookup path đơn giản.
Tách ingestion click event khỏi aggregation và reporting analytics.
Cân nhắc collision, custom slug, link độc hại, rate limiting và privacy.
Lỗi thường gặp
Ghi analytics đồng bộ trước khi redirect user.
Bỏ qua collision, enumeration hoặc chống abuse.
Chỉ thiết kế bảng lưu trữ mà không bàn về latency và traffic pattern.
Sẵn sàng thử sức?
Luyện câu trả lời trong workspace tương tác.
Luyện tiếp cùng chủ đề
Khám phá framework và câu hỏi liên quan để củng cố cùng nhóm kỹ năng.
