inflearn logo

Phỏng vấn cơ sở dữ liệu backend dưới góc nhìn của trưởng nhóm DBA đang hành nghề — Tự kiểm tra và trả lời bằng MySQL

Giải thích 46 câu hỏi phỏng vấn về chỉ mục, kế hoạch thực thi, giao dịch, khóa, sao chép và ứng phó sự cố dưới góc nhìn của người phỏng vấn. Đối chiếu câu trả lời chưa tốt với câu trả lời tốt, đồng thời kèm theo bài thực hành kiểm chứng trực tiếp trên MySQL 8.4 cho từng câu hỏi, để bạn có thể trả lời rằng “tôi đã tự mình kiểm tra” khi được hỏi tiếp.

1 học viên đang tham gia khóa học này

Độ khó Cơ bản

Thời gian Không giới hạn

SQL
SQL
MySQL
MySQL
Docker
Docker
DBMS/RDBMS
DBMS/RDBMS
SQL
SQL
MySQL
MySQL
Docker
Docker
DBMS/RDBMS
DBMS/RDBMS

Bạn sẽ nhận được điều này sau khi học.

  • Có thể trả lời các câu hỏi về index, lock và transaction trong vòng 30 giây theo trình tự: nguyên lý → số liệu trực tiếp quan sát được → sự đánh đổi.

  • Có thể đọc kết quả của EXPLAIN·EXPLAIN ANALYZE·data_locks·SHOW REPLICA STATUS và dùng chúng làm bằng chứng cho câu trả lời phỏng vấn.

  • Có thể trả lời các câu hỏi về độ trễ sao chép, đọc ngay sau khi ghi, sao chép bán đồng bộ và thăng cấp (GTID) bằng kết quả thực hành.

  • Có thể giải thích theo thứ tự ưu tiên cần kiểm tra khi DB chạy chậm, CPU đạt 100%, cạn kiệt kết nối hoặc lỡ tay xóa dữ liệu.

Khóa học này khác biệt như sau.

① Tạo ra “câu trả lời đã tự mình kiểm chứng” chứ không phải câu trả lời học thuộc

Câu hỏi mà người phỏng vấn thường hỏi thêm nhất sau câu trả lời là: "Bạn đã tự kiểm tra chưa?". Với mỗi câu hỏi, khóa học này đều có bài thực hành kiểm chứng trực tiếp bằng MySQL 8.4. Các con số hiển thị trên màn hình — type·rows trong kế hoạch thực thi, thời gian chờ khóa, mã lỗi deadlock, số giây chậm trễ sao chép — đều là kết quả chạy thực tế.

② Đặt câu trả lời tệ và câu trả lời tốt cạnh nhau

Bạn phải biết người phỏng vấn trừ điểm ở đâu thì mới có thể cải thiện. Trong mỗi bài giảng, chúng tôi tổng hợp câu trả lời dở mà ứng viên thực tế có thể đưa ra → khung sườn của câu trả lời tốt → câu trả lời 30 giây có thể nói nguyên văn trong buổi phỏng vấn → và cả câu hỏi tiếp theo.

③ Đi sâu vào những phần mà các khóa học phỏng vấn khác chỉ lướt qua

Không bao quát dàn trải toàn bộ CS mà chỉ tập trung vào sáu lĩnh vực thực sự tạo nên khác biệt trong các buổi phỏng vấn DB thực tế.

  • Chỉ mục · kế hoạch thực thi · giao dịch và mức độ cô lập · khóa và tính đồng thời

  • Sao chép (độ trễ sao chép, lý do dữ liệu vừa ghi không hiển thị, sao chép bán đồng bộ, chuyển đổi vai trò và GTID)

  • Xử lý sự cố (khi hệ thống chậm thì cần kiểm tra gì trước, truy vấn khiến CPU đạt 100%, cạn kiệt kết nối, khôi phục dữ liệu vô tình bị xóa)

④ Khởi chạy cùng một môi trường chỉ bằng một lệnh

Chỉ với một lần chạy script, bạn có thể tạo hai máy MySQL 8.4 gồm máy chủ nguồn và máy chủ bản sao, cùng dữ liệu thương mại điện tử giả lập (100.000 thành viên · 10.000 sản phẩm · 1 triệu đơn hàng) bằng Docker. Dữ liệu được tạo theo quy tắc nên ai chạy cũng cho ra cùng một kết quả.

Cấu trúc của một bài giảng

Điều người phỏng vấn muốn xác nhận → Câu trả lời tệ vs. câu trả lời tốt → Bài thực hành chứng minh (MySQL 8.4) → Câu trả lời trong 30 giây → Câu hỏi tiếp theo → Tổng kết

Tài liệu đi kèm

  • Tệp ZIP tài liệu thực hành: docker compose, tập lệnh tạo dữ liệu, SQL và shell thực hành theo từng bài giảng, kết quả chạy thực tế làm căn cứ cho nội dung hiển thị trong bài giảng.

  • PDF tổng hợp câu hỏi phỏng vấn: câu hỏi · ý đồ của người phỏng vấn · câu trả lời chưa tốt · câu trả lời trong 30 giây · câu hỏi tiếp theo · tóm tắt bằng chứng

Phù hợp với những người sau đây

  • Các lập trình viên backend mới vào nghề hoặc cấp junior sắp phỏng vấn về cơ sở dữ liệu, đã học thuộc các khái niệm nhưng lại lúng túng trước những câu hỏi tiếp nối.

  • Phù hợp với những người phát triển bằng Spring·JPA nhưng chưa từng trực tiếp kiểm tra index·lock·replication.

  • Lập trình viên có kinh nghiệm cần chia sẻ về kinh nghiệm ứng phó sự cố trong buổi phỏng vấn chuyển việc.

Giới thiệu giảng viên

Tôi hiện là trưởng nhóm DBA tại một công ty thương mại điện tử lớn. Tôi cùng các nhà phát triển backend xử lý các vấn đề về chỉ mục, khóa, sao chép và sự cố mỗi ngày. Tôi đã chọn những câu hỏi thực sự giúp phân biệt năng lực ngay tại chỗ để xây dựng khóa học này. Tôi không sử dụng dữ liệu vận hành của công ty; mọi bài thực hành đều sử dụng dữ liệu giả lập do tôi tự tạo.

Xin thông báo】【:】【“】【

  • Lời thuyết minh là giọng nói tổng hợp bằng AI. Các số liệu trên slide và trong phần thực hành là những giá trị giảng viên đã trực tiếp chạy thử và xác nhận.

  • Thời gian thực thi (ms) khác nhau tùy máy tính. Trong bài giảng, chúng tôi giải thích dựa trên việc nhanh hơn bao nhiêu lần và số hàng được đọc đã giảm bao nhiêu.

  • Chúng tôi không sao chép câu hỏi phỏng vấn thực tế hay đề thi cũ của một công ty cụ thể nào. Thay vào đó, giảng viên đã xây dựng các chủ đề thường được hỏi trong lĩnh vực này thành những câu hỏi mới.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Lập trình viên backend mới vào nghề/junior thuộc lòng các khái niệm DB nhưng chỉ cần hai câu hỏi tiếp nối là đã bí.

  • Lập trình viên phát triển bằng Spring·JPA nhưng chưa từng trực tiếp kiểm tra chỉ mục, khóa hay sao chép dữ liệu.

  • Lập trình viên backend giàu kinh nghiệm cần trình bày kinh nghiệm ứng phó sự cố và trình tự đưa ra quyết định trong buổi phỏng vấn chuyển việc.

Cần biết trước khi bắt đầu?

  • Kiến thức SQL cơ bản, đủ để đọc và viết SELECT·JOIN·UPDATE.

  • Máy tính cá nhân có thể cài đặt Docker (khuyến nghị RAM từ 8 GB trở lên) và có kinh nghiệm sao chép, chạy lệnh trong terminal.

Xin chào
Đây là dorian05202988

Xác minh sự nghiệp

Tôi là một chuyên gia dữ liệu với hơn 20 năm kinh nghiệm trong lĩnh vực cơ sở dữ liệu và CNTT. Trong vai trò DBA và quản lý nhóm Nền tảng Cơ sở dữ liệu, tôi phụ trách các nền tảng cơ sở dữ liệu, với chuyên môn về MySQL, PostgreSQL, Oracle, MongoDB, tinh chỉnh SQL, AWS, Terraform và Python. Dựa trên kinh nghiệm trong các lĩnh vực trò chơi, tài chính và dịch vụ CNTT, tôi trình bày về cơ sở dữ liệu và kiến trúc đám mây. Tôi đã xuất bản 『Học các mẫu SQL tinh chỉnh thực tế Oracle』 và 『Sổ tay ứng dụng dự án thực tế Oracle Pro*C』, đồng thời thuyết trình về serverless, lựa chọn cơ sở dữ liệu và chiến lược đa cơ sở dữ liệu tại AWS Summit 2018·2019 và sự kiện 데이터야 놀자 2020. Gần đây, tôi tập trung vào phân tích và khuyến nghị tinh chỉnh truy vấn chậm bằng Bedrock LLM, tự động hóa việc tính toán thông số DB, cũng như quy trình tra cứu thông qua máy chủ DB Meta MCP và bot Slack. Tôi giải thích về tự động hóa cơ sở dữ liệu dành cho nhà phát triển và việc ứng dụng AI vào công việc dành cho người không chuyên về phát triển thông qua các bài thực hành phù hợp với đối tượng và mục tiêu của từng khóa học. Thay vì áp dụng nguyên xi các đề xuất của AI, tôi truyền đạt các tiêu chí đánh giá như kiểm tra tính tương đương của kết quả, kế hoạch thực thi và điều kiện quan sát; nếu thiếu căn cứ thì tạm thời chưa áp dụng. Dữ liệu vận hành của công ty và thông tin xác thực không được đưa vào tài liệu giảng dạy.

Thêm

Chương trình giảng dạy

Tất cả

46 bài giảng ∙ (3giờ 4phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học khác của dorian05202988

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn

7.891 ₫

18%

1.565.189 ₫