Không chỉ có những bài tập để thử trình độ, các lập trình viên (coder) có thể tìm đến các trang web này để thi đấu với nhau ở chế độ đối kháng nhanh 1 vs 1 hoặc tham gia thi đấu xếp hạng (tournement).
Với những trang webs này, bạn có thể code mọi lúc mọi nới với những bài tập và những cuộc chiếc vô cùng thú vị. |
|
Có một sự thật đúng với mọi ngành nghề là muốn giỏi cái gì đó thì phải thường xuyên luyện tập. Vậy nên, muốn code giỏi chúng ta phải tập code.
Tuy nhiên, tập code không phải đơn giản chỉ ngồi xuống, mở máy tính lên và code một cách không có định hướng. Để lập trình đúng cách, chúng ta phải nghĩ ra vấn đề, sau đó thử dùng code để giải quyết vấn đề đó. Thế nhưng, làm sao nghĩ ra vấn đề hay, thú vị, thử thách được bản thân? Làm sao để biết cách giải quyết của mình có đúng hay không?
Dưới đây là một số website nổi tiếng chứa vô số vấn đề thú vị, bạn không mất công ngồi nghĩ ra chủ đề nữa mà chỉ cần bật máy tính lên, truy cập vào các trang web này và bắt đầu. Mỗi vấn đề đều đi kèm các "test case" để kiểm tra code và bạn cũng có thể tham khảo đáp án của người đi trước để học hỏi thêm những kiến thức mới.
1. HackerRank
HackerRank là một trang web cho phép các lập trình viên có thể trau dồi khả năng của mình, thông qua việc yêu cầu những người tham gia đưa ra lời giải cho những "thử thách lập trình". Dựa vào tốc độ giải quyết vấn đề, cũng như độ chính xác, mà trang web này có thể đánh giá cũng như xếp hạng các lập trình viên tham gia. Cho tới nay, HackerRank đã xếp hạng được hơn 1,5 triệu lập trình viên, đến từ nhiều quốc gia khác nhau.
Đây là website nổi tiếng bậc nhất và chắc hẳn những ai học lập trình đều biết đến nó. HackerRank có vô số câu đố cho bạn thử trình độ, từ cơ bản cho tới phức tạp (quy hoạch động, đồ thị, đệ quy…). Các bài tập đều có phân loại từ dễ tới khó, bất kỳ ai muốn thử sức cũng có thể tham gia.
2. TopCoder
TopCoder là cộng đồng phát triển phần mềm có uy tín nhất trên thế giới, hiện có hơn 1 triệu thành viên đại diện của hơn 200 nước và có trụ sở tại Mỹ. Cộng đồng TopCoder được bắt đầu từ năm 2001, qua các vòng thi đấu online liên tục, các lập trình viên thi online theo nick trong TopCoder sẽ được tính điểm xếp hạng (như tính hạng hệ số ELO của cờ vua). Và tất cả lập trình viên thế giới và các hãng công nghệ đều theo dõi bảng tổng sắp TopCoder này và coi là bảng xếp hạng cá nhân uy tín về thuật toán và lập trình toàn cầu.
TopCoder đặt nặng tính thi đấu hơn so với HackerRank. Bạn sẽ không được điểm khi giải bài tập mà chỉ được điểm khi tham gia các tournament.
3. CodeFights
Code Fights là một trang mạng xã hội thi đấu về lập trình quy mô toàn thế giới. Tại đây, lập trình viên khắp nơi có thể hội ngộ và thi tài với nhau, từ đó có thể luyện tập và nâng cao trình độ code của mình. Giao diện CodeFights với bố cục đơn giản, rõ ràng, các chức năng chính được đưa ngay lên trang chủ gồm: Interview Practice, Challenges, Arcade, Head to Head, Company Bots, Tournament. Hiện CodeFights hỗ trợ người chơi các ngôn ngữ: C++, python, java, JavaScript, c#, ruby, perl, F#, PHP.
CodeFights có chế độ đối kháng 1vs1 và tournament chỉ kéo dài khoảng 10 phút rất hấp dẫn, các coder hoàn toàn có thể tranh thủ thời gian nghỉ trưa để tham gia những cuộc đấu này. Nội dung thi đấu không chỉ giới hạn ở việc code mà các thí sinh còn có thể "fix bug" hoặc điền code vào chỗ trống. Điều khiến CodeFights trở nên thú vị là trang web này có thêm chế độ thi đấu đối kháng với các "BOT". Mỗi công ty nổi tiếng (Uber, Quora, Instagram,…) sẽ có một con bot đại diện. Nếu đánh thắng bot, bạn sẽ có cơ hội thử apply vào các công ty này.
(theo Nội san FPT)
Khối Giáo dục FPT – fpt.edu.vn
Trường Đào Tạo Lập Trình Viên Quốc Tế – aptech.fpt.edu.vn
Tin liên quan:
|