Hành Trình Bắt Đầu Giải Thuật Trên LeetCode
Chắc hẳn các bạn đã quen thuộc với nền tảng LeetCode, nơi mà nhiều lập trình viên tìm kiếm những bài thuật toán để chuẩn bị cho các cuộc phỏng vấn coding vào những công ty lớn, không chỉ ở nước ngoài mà còn tại Việt Nam.
Mình cũng đã bắt đầu hành trình này với mục đích tương tự, nhằm chuẩn bị cho một buổi phỏng vấn. Việc làm quen với các bài tập trên LeetCode không chỉ giúp mình cải thiện kỹ năng lập trình mà còn tăng cường sự tự tin khi đối mặt với những câu hỏi phỏng vấn liên quan đến thuật toán và cấu trúc dữ liệu.
Mình quyết định chạy theo từng chủ đề để hệ thống hóa kiến thức. Phương pháp này giúp mình nắm vững các dạng bài một cách dễ dàng hơn. Dù mình không phải là sinh viên chuyên ngành Công nghệ Thông tin và chưa từng tham gia kỳ thi thuật toán nào, mình vẫn có thể giải quyết ổn những bài tập về BFS, DFS, Hash Table, Stack, Queue... Tuy nhiên, các bài về Dynamic Programming và Union Find ở giai đoạn đầu đã khiến mình khá lúng túng. Nhưng chính câu nói “trăm hay không bằng tay quen” đã giúp mình giải quyết khoảng 100 bài tập ở mức dễ đến trung bình. Nhờ vậy, mình tự tin hơn trong các cuộc phỏng vấn.
Duy Trì Đam Mê Với LeetCode
Sau khi vượt qua phỏng vấn và bắt đầu công việc tại một công ty ưng ý, mình lại có một giai đoạn nghỉ ngơi kéo dài khoảng một năm không giải bài. Tuy nhiên, một ngày nọ, hứng thú quay lại đã đem mình trở lại với LeetCode. Ở giai đoạn này, mình duy trì việc giải các bài toán như một niềm vui hàng ngày. Mỗi ngày, mình dành khoảng 30 phút để tham gia Daily Coding Challenge, điều này không chỉ giúp mình giữ vững kỹ năng mà còn tạo ra những giây phút thư giãn.
Mình thường đặt mốc thời gian 30 phút cho mỗi bài. Nếu không tìm ra cách giải, mình sẽ đọc phần Editorial trên LeetCode để tham khảo cách giải của họ và sau đó thử sức với việc tự code lại. Sau mỗi bài giải, mình luôn xem phần Solutions để học hỏi từ những người giải bài khác, đặc biệt là những cách giải nhận được nhiều sự ủng hộ từ cộng đồng. Những ý tưởng độc đáo mà mình học được từ họ thường rất bổ ích.
Câu nói xưa có câu “Muốn đi nhanh thì đi một mình, muốn đi xa thì đi cùng nhau”, vì vậy mình tham gia vào các diễn đàn như voz để trao đổi kinh nghiệm với anh em. Việc này không chỉ tạo động lực cho mình mà còn giúp mình học hỏi được nhiều phương pháp giải quyết khác nhau từ cộng đồng. Để giữ cho bản thân luôn có hứng thú, mình cũng đặt ra mục tiêu đạt 6000 points để nhận được áo LeetCode, điều này giúp mình thêm động lực mỗi ngày.
Đạt Được Cột Mốc và Quyết Định Dừng Lại
Sau khoảng 1 năm rưỡi duy trì, vào ngày 25/7/2024, mình đã đạt mốc 6000 points và đổi được chiếc áo LeetCode. Tuy nhiên, do công việc hiện tại trở nên bận rộn hơn, mình quyết định tạm dừng một thời gian để nghỉ ngơi và tập trung vào công việc. Đặc biệt, số bài mình đã giải đúng cũng dừng lại ở con số 555, có vẻ như đây là một tín hiệu thú vị từ vũ trụ.
Mình từng làm việc với các bạn Thái Lan và biết rằng số 555 trong tiếng Thái đồng âm với tiếng cười Hahaha, thật sự là một tín hiệu hay ho phải không nào?
Việc tạm dừng không có nghĩa là mình từ bỏ. Trong tương lai, khi có thời gian và cần chuẩn bị cho các công việc yêu cầu kỹ năng thuật toán nâng cao hơn, mình sẽ quay lại với LeetCode. Hành trình giải 555 bài LeetCode đã giúp mình rất nhiều trong việc nâng cao kỹ năng lập trình và tư duy logic.
Chúc các bạn có một tuần mới tràn đầy năng lượng và thành công!
🔔 Blog: henrytechie.com
☕️ Facebook: Henry Techie
☁️ TikTok: @henrytechie
source: viblo