0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

📚 30 Câu Hỏi Phỏng Vấn Redis Thường Gặp Dành Cho Lập Trình Viên 💻

Đăng vào 3 tuần trước

• 4 phút đọc

A. Câu Hỏi Cơ Bản Về Redis:

  1. Redis là gì?
    Redis (Remote Dictionary Server) là một công cụ mã nguồn mở, lưu trữ dữ liệu dạng key-value trong bộ nhớ (in-memory) có khả năng được sử dụng như một cơ sở dữ liệu, cache, và message broker.

  2. Những tính năng chính của Redis là gì?
    Redis nổi bật với khả năng lưu trữ dữ liệu trong bộ nhớ, độ bền dữ liệu, sao chép dữ liệu (replication), phân chia dữ liệu (sharding), hỗ trợ nhiều loại dữ liệu, các phép toán nguyên tử, nhắn tin pub/sub, và lập trình bằng Lua.

  3. Redis khác gì so với các cơ sở dữ liệu quan hệ truyền thống?
    Redis là một hệ thống lưu trữ dữ liệu key-value in-memory, mang lại tốc độ truy xuất cực nhanh, trong khi các cơ sở dữ liệu quan hệ truyền thống sử dụng SQL và thường hoạt động trên disk, dẫn đến độ trễ cao hơn.

  4. Những trường hợp sử dụng phổ biến của Redis là gì?
    Redis thường được sử dụng cho caching, quản lý session, phân tích thời gian thực, bảng xếp hạng, hàng đợi tin nhắn, khóa phân phối, và nhắn tin pub/sub.

  5. Redis hỗ trợ những cấu trúc dữ liệu nào?
    Redis hỗ trợ nhiều cấu trúc dữ liệu như Strings, Lists, Sets, Sorted Sets, Hashes, Bitmaps, HyperLogLogs, Streams, và Geospatial indexes.

  6. Redis key là gì, và quy tắc đặt tên cho Redis keys là gì?
    Một key trong Redis là một định danh duy nhất cho một phần dữ liệu. Redis keys là binary-safe và có thể dài đến 512MB. Quy tắc đặt tên thông thường sử dụng dấu hai chấm (:) để phân tách namespace (ví dụ: user:1001:info).

  7. Redis caching là gì?
    Redis caching là cách sử dụng Redis như một store hiệu suất cao để lưu trữ dữ liệu thường xuyên được truy cập, giúp cải thiện tốc độ phản hồi của ứng dụng và giảm tải lên cơ sở dữ liệu chậm hơn.

  8. Làm thế nào để đặt một giá trị trong Redis?
    Bạn có thể sử dụng lệnh SET key value để lưu trữ một giá trị dưới key đã chỉ định.

  9. Làm thế nào để truy xuất một giá trị từ Redis?
    Sử dụng lệnh GET key để lấy giá trị tương ứng với key mà bạn đã chỉ định.

  10. Lệnh EXPIRE trong Redis là gì?
    Lệnh EXPIRE key seconds thiết lập thời gian hết hạn cho một key. Sau thời gian này, key sẽ tự động bị xóa. Thời gian được chỉ định tính bằng giây.

  11. Sự khác biệt giữa SETEXSET với EXPIRE là gì?
    SETEX cho phép bạn thiết lập một key với giá trị và thời gian hết hạn trong cùng một lệnh (SETEX key seconds value), trong khi SET và sau đó là EXPIRE yêu cầu hai lệnh.

  12. Redis eviction policy là gì?
    Chính sách eviction trong Redis xác định cách thức xử lý bộ nhớ khi đạt đến giới hạn tối đa. Các chính sách phổ biến bao gồm noeviction, allkeys-lru, volatile-lru, allkeys-random, và volatile-ttl.

  13. Least Recently Used (LRU) eviction policy trong Redis là gì?
    Chính sách LRU sẽ loại bỏ các keys ít được sử dụng gần đây nhất khi Redis đạt đến giới hạn bộ nhớ, đảm bảo rằng dữ liệu được truy cập thường xuyên sẽ được giữ lại.

  14. Mục đích của lệnh FLUSHALL trong Redis là gì?
    FLUSHALL được sử dụng để xóa tất cả keys khỏi mọi cơ sở dữ liệu trong Redis, làm sạch instance Redis hoàn toàn.

  15. Redis đảm bảo tính bền vững của dữ liệu như thế nào?
    Redis cung cấp hai phương pháp để lưu trữ dữ liệu: RDB snapshots (ảnh chụp tại thời điểm) và AOF (Append-Only File), ghi lại mọi thao tác ghi để bảo toàn dữ liệu lâu dài hơn.

B. Câu Hỏi Trung Cấp Về Redis:

  1. Redis Cluster là gì?
    Redis Cluster là một cách để triển khai Redis một cách phân tán, tự động chia tách dữ liệu giữa nhiều nodes, cung cấp khả năng sẵn sàng cao và mở rộng mà không có điểm lỗi duy nhất.

  2. Sự khác biệt giữa Redis replication và Redis clustering là gì?
    Replication là quá trình sao chép dữ liệu từ một master node sang một hoặc nhiều slave nodes, cung cấp khả năng đọc mở rộng và dự phòng. Clustering cho phép chia đều dữ liệu giữa nhiều master nodes, giúp dễ dàng mở rộng.
    source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào