Dù bạn đang là sinh viên trong ghế nhà trường hoặc đã là người đi làm thì việc luyện khả năng lập trình, tư duy logic và giải thuật là vô cùng. Đặc biệt đối với các sinh viên đang đi học thì những trang này sẽ rất hữu ích cho các bạn.
Ngoài các bài tập chất lượng được lựa chọn và kiểm nghiệm kỹ càng, thì những bài tập này còn cung cấp bộ testcase vô cùng đa dạng để các bạn có thể tìm ra những lỗi nhỏ trong mã nguồn của mình.
Một ưu điểm mà mình thấy được ngoài lập trình ra thì nó còn giúp chúng ta tăng khả năng đọc hiểu tiếng anh. Trước đây mình vào Hackerrank luyện, ban đầu một ngày đọc hiểu và làm tầm 3 bài là đuối sức, về sau mỗi ngày mỗi lên tay và giải được nhiều bài hơn còn có cả chứng chỉ hẳn hoi. Việc làm trên hackerrank đã vô tình giúp mình đậu phỏng vấn ngay sau đó vì họ cho các bài tập được lấy từ hackerrank, và mình đã từng làm qua rồi nên làm rất dễ dàng.
Dưới đây là danh sách các trang lập trình online uy tín, chất lượng mà các bạn có thể tham khảo và chọn ra một trang web phù hợp với bản thân.
HackerRank
HackerRank chủ yếu cung cấp cho những lập trình viên một số chuyên ngành viết code như Algorithms, Mathematics, SQL, Functional Programming, AI, và nhiều lĩnh vực khác. Đi kèm với mỗi thử thách là một bài giải thích giúp lập trình viên dễ hiểu hơn.
Các bài tập ở trên đây được mô tả rất kỹ càng và dễ dàng, gia diện thân thiện nên đây chính là trang mình muốn giới thiệu đến các bạn. Ngoài ra lâu lâu còn có các bài interview của các công ty, các bạn có thể join vào làm thử biết đâu lại đậu.
Geeksfor Geeks
Trang này được biết đến như một nguồn tài luyện về lập trình khổng lồ với hầu hết các chủ đề trong lập trình từ ngôn ngữ Java, Python, C,C++,C# đến database, SQL v.v
Ngoài ra nó còn cho phép chúng ta lập trình thử nghiệm trong mỗi bài viết và kiểm thử mã nguồn xem có chạy đúng hay không ngay trên trang web. Nếu làm không được thì cũng đừng lo nhé, chúng đều có sẵn bài giải mẫu để các bạn tham khảo.
LeetCode
LeetCode có một bộ bài tập về giải thuật đa dạng nhất hiện này. Các bạn được đòi hỏi phải có kiến thức về các chủ đề binary trees, heaps, linked list…do đó các bài toán của họ thường khó hơn so với mặt bằng chung, thích hợp cho những bạn đã có nền tảng cấu trúc dữ liệu và giải thuật tốt. Bên cạnh đó thì họ cũng có chương trình Mock Interview giả lập các buổi phỏng vấn xin việc hay các cuộc thi code hàng tháng.
Codeforces
Codeforces là trang Web giải thuật tầm cỡ quốc tế. Với các vấn đề được xếp loại theo độ khó tăng dần : A,B,C,D,E,F,…..! Codeforces hỗ trợ rất nhiều ngôn ngữ như C,C++,Java,Python,…
Các Tính năng nổi bật của codeforces.
Codeforces tổ chức các cuộc thi định kỳ và xếp hạng các lập trình viên thông qua những cuộc thi. Đây là nơi mà các nhà tuyển dụng thường xuyên theo dõi để tìm ra những ứng cử viên tài năng để giải quyết các vấn đề cho doanh nghiệp của họ đang gặp phải.
TopCoder
TopCoder là một trong những nền tảng thi đấu lập trình đầu tiên được thiết lập, ở đây các bạn sẽ trải qua các thử thách về thuật toán. TopCoder có một hệ thống Single Round Matches được tổ chức vài lần một tháng nơi mà bạn sẽ thi đấu với hàng ngàn lập trình viên khác, và giải thưởng của những cuộc thi này đều là rất hấp dẫn.
Codewars
Codewars là web cũng đưa ra khá nhiều thử thách cho lập trình viên, những thử thách này thường được nghĩ ra do chính những lập trình viên trong web này. Tại đây, lập trình viên cũng có thể viết code với hơn 20 ngôn ngữ lập trình khác nhau. Đồng thời, bạn có thể thảo luận trực tiếp cũng như đưa ra các thử thách. Nhờ vậy mà bạn có thể kiếm point và nâng rank của mình.
CodeFights
Ngoài những thử thách dành cho lập trình viên thì CodeFights còn có một forum riêng để mọi người cùng thảo luận. Đặc biệt nếu bạn yêu thích tranh tài bởi các cuộc thi thì tại đây còn có một tính năng mang tên Company Bots , nơi mà bạn sẽ “code thi” với một con bot được lập trình bởi các lập trình viên đến từ các công ty như Uber, Dropbox, và Quora.