#vi
#undo
#recovery
Hãy thực hiện một thay đổi sai sót và sau đó sử dụng lệnh undo để khôi phục lại.
Xóa một dòng văn bản bằng lệnh dd. Sau đó nhấn phím u để hoàn tác lệnh vừa rồi và khôi phục lại dòng văn bản đã bị xóa.
#insert
#mode
#editing
Học cách chuyển từ chế độ lệnh sang chế độ chèn để soạn thảo.
Bạn đang ở chế độ Command (mặc định). Di chuyển con trỏ đến cuối dòng hiện tại, chuyển sang chế độ Insert và thêm dòng chữ 'Xin chào'.
#save
#exit
#write
#quit
Cách lưu thay đổi và đóng trình chỉnh sửa vi một cách an toàn.
Bạn đã thực hiện xong các thay đổi. Hãy quay về chế độ Command và thực hiện lệnh để lưu nội dung lại file rồi thoát khỏi chương trình.
#delete
#character
#x
Loại bỏ một ký tự sai lỗi chính tả ngay tại vị trí con trỏ.
Con trỏ đang nằm trên ký tự thừa ở giữa dòng. Hãy xóa ký tự đó đi mà không cần vào chế độ Insert.
#delete
#line
#dd
Cách xóa trọn vẹn một dòng văn bản đang chứa con trỏ.
Dòng văn bản hiện tại là một dòng ghi chú trống và không cần thiết. Hãy xóa hoàn toàn dòng này.
#undo
#revert
#u
Sử dụng lệnh undo để quay lại trạng thái trước khi sửa sai.
Bạn vừa lỡ tay xóa một từ quan trọng. Hãy sử dụng lệnh hoàn tác để khôi phục lại từ vừa bị xóa.
#copy
#yank
#yy
Sử dụng lệnh yank để copy nội dung của dòng hiện tại vào bộ nhớ đệm.
Dòng hiện tại chứa cấu hình cần thiết. Hãy sao chép nội dung của dòng này vào bộ nhớ đệm để sử dụng sau.
#paste
#put
#p
Chèn nội dung đã sao chép từ bộ nhớ đệm vào dưới con trỏ.
Bạn vừa sao chép một dòng code. Hãy di chuyển con trỏ xuống dòng bên dưới và dán nội dung đã sao chép vào đó.
#search
#find
#pattern
Định vị nhanh vị trí của một từ cụ thể trong văn bản.
File này rất dài. Hãy tìm kiếm từ khóa 'function' và di chuyển con trỏ đến vị trí đầu tiên xuất hiện từ đó.
#replace
#character
#r
Ghi đè ký tự tại vị trí con trỏ bằng ký tự khác.
Con trỏ đang ở trên chữ 'a' nhưng đúng phải là chữ 'o'. Hãy thay thế chữ 'a' thành chữ 'o' ngay lập tức.
#refactoring
#oop
#solid
#architecture
#clean-code
Yêu cầu phân tích và cải tổ một đoạn mã nguồn phức tạp để tuân thủ chặt chẽ năm nguyên tắc thiết kế hướng đối tượng SOLID nhằm tăng tính bảo trì và mở rộng.
Hãy đóng vai là một kiến trúc sư phần mềm cấp cao. Phân tích đoạn mã nguồn lớp quản lý đơn hàng (OrderManager) hiện tại đang chứa hàng nghìn dòng code, xử lý trực tiếp logic cơ sở dữ liệu, gửi email và tính toán thuế. Viết kế hoạch tái cấu trúc chi tiết để tách biệt các trách nhiệm theo nguyên tắc Single Responsibility. Sau đó, cung cấp mã mẫu đã được cải tổ để áp dụng các nguyên tắc Open/Closed và Dependency Injection, đảm bảo mã nguồn dễ test và mở rộng mà không sửa đổi logic cốt lõi.
#microservices
#system-design
#scalability
#kafka
#event-driven
Thiết kế kiến trúc hệ thống phân tán cho nền tảng thương mại điện tử lớn, tập trung vào xử lý giao đồng thời và nhất quán dữ liệu.
Thiết kế kiến trúc Microservices cho hệ thống Flash Sale phục vụ 1 triệu người dùng đồng thời. Xác định các dịch vụ cốt lõi (User, Product, Order, Payment) và mô tả cơ chế giao tiếp giữa chúng. Giải quyết bài toán về tính nhất quán dữ liệu phân tán (Distributed Transactions) sử dụng pattern Saga hay Event Sourcing. Mô tả cách triển khai CQRS để tối ưu hóa hiệu suất đọc và ghi. Sơ đồ hóa luồng dữ liệu khi một đơn hàng được đặt, từ API Gateway đến khi cập nhật kho và gửi thông báo.
#sql
#optimization
#database
#performance
#query-tuning
Phân tích và viết lại các câu lệnh SQL có hiệu suất thấp, sử dụng các kỹ thuật nâng cao như window functions và CTEs.
Cho một cơ sở dữ liệu quan hệ chứa bảng Giao dịch (Transactions), Khách hàng (Customers) và Cửa hàng (Stores) với hàng chục triệu bản ghi. Bạn cần viết một truy vấn SQL để tìm ra 10 cửa hàng có doanh thu tăng trưởng nhanh nhất trong quý này so với quý trước, đồng thời liệt kê danh sách 5 khách hàng trung thành nhất của từng cửa hàng đó. Sử dụng Common Table Expressions (CTE) và Window Functions (như RANK, LAG) để giải quyết vấn đề này trong một truy vấn duy nhất thay vì dùng các truy vấn con lồng nhau, nhằm tối ưu hóa thời gian thực thi.
#security
#owasp
#vulnerability-assessment
#web-security
#penetration-testing
Thực hiện kiểm tra mã giả định để xác định các lỗ hổng bảo mật nghiêm trọng theo OWASP Top 10 và đề xuất phương pháp khắc phục.
Hãy phân tích đoạn mã xử lý đăng nhập và khôi phục mật khẩu của một ứng dụng web written in Java Spring Boot. Xác định các lỗ hổng tiềm ẩn liên quan đến Injection (SQLi), Broken Authentication, vàSensitive Data Exposure. Đặc biệt tập trung vào cách hệ thống xử lý session tokens và mã hóa mật khẩu. Đề xuất các thay đổi mã cụ thể và cấu hình bảo mật (như sử dụng BCrypt với đủ round, CSRF tokens, HTTP headers bảo mật) để mitigate các rủi ro này.
#concurrency
#multithreading
#race-condition
#deadlock
#locking
Thiết kế giải pháp cho bài toán tài nguyên chia sẻ trong lập trình đa luồng, tránh tình trạng race condition và deadlock.
Triển khai một lớp Cache trong bộ nhớ (In-memory Cache) hỗ trợ đọc ghi đa luồng bằng ngôn ngữ C# hoặc Java. Yêu cầu hệ thống phải xử lý hàng nghìn yêu cầu đọc mỗi giây nhưng đồng thời phải đảm bảo tính nhất quán khi ghi. Sử dụng kỹ thuật Double-Checked Locking hoặc Concurrent Collections để tối ưu hóa hiệu năng. Ngoài ra, hãy mô phỏng một kịch bản deadlock có thể xảy ra khi có nhiều tài nguyên khóa và cung cấp giải pháp để ngăn chặn nó bằng kỹ thuật Lock Ordering hoặc Timeout.