[介紹] 專為編程愛好者而設計的挑戰平台 – HackerRank
最近筆者在這場疫情中,發現了這個可以學習與挑戰編寫程式的平台。我自己使用了十幾天,發覺它很值得初學者甚至高手們來玩一玩,所以就決定寫篇文章推薦一下。
這個學習編程的平台並不是單純的「學習平台」。它的介面設計刻意先擺放考題,後擺放相應的教材,強調使用者要先用腦袋思考解題,當使用者遇到困惑時才去參考教材。這有別於所謂的「傳統學習平台」,要一步一步地跟隨教學來編程,再去考題。我認為前者才是學習編程的應有態度。很多時候我們要學習一種東西,都必須問自己為什麼要學這種東西,因為學習動機會影響學習態度和成果。我認為學會編程的最終目的就是來解決難題。所以對我來說,每完成一個考題,都會有一種成就感。久而久之就會很享受編寫程式的過程,好像玩遊戲,完成一關又一關,挑戰越來越難的關卡。
登入介面
它除了給編程愛好者使用之外,也給一眾老闆們尋找隱世高人。
因為我現在還沒有能力請員工,所以按 Sign Up & Code 就可以了。
還有,我不想記太多帳號密碼,所以直接用 Google 帳戶登入。
使用介面
如果你是登入為工程師介面,它將會有五個分頁, 分別是練習 ( practice ) 、證書 ( certification ) 、競爭 ( compete ) 、工作 ( jobs ) 及排行榜 ( leaderboard ) 。練習分頁會有個很簡潔的儀表板,有不同分類的課題等著大家去發掘,考證書,學技巧,學程式語言等。
由淺入深
這平台有一個三十日編程的挑戰,內容都是編程的基本功。它每天都會發佈一節課題,電郵提醒你回來編程。而課題內容直接參考了一名金髮女生 blondiebytes 的教學影片《30 Days of Code!》。她的頻道很值得你去訂閱,很好看。真的,相信我 :) 。相信這個課題很適合初學者或者是對於自己基本功不太有信心的人。當然,如果對於自己編程的能力有自信的話也可以當做一個複習。
練習方式
練習分頁有六個小分頁,分別是:問題、提交紀錄、排行榜、討論區、編輯、教學。
如之前所說,題目排最前,教學排最後。大家可以先了解題目內容,才考慮要不要看教學。我相信高手們根本不用點教學吧?
它的教學介面跟學校沒甚麼差別,上方有一個影片,下方就是圖解,有程式碼案例解釋等。可是如果只是忘記了語法,可能找 Google 搜尋會比較快。
每課問題都解釋得相當詳盡,如果想考入 Google 團隊的話,可能要閱讀一下解題,習慣把每個問題。但它還是缺乏了計算時間複雜度和空間複雜度的一環,或是限制複雜度的答題。不過這已經是入門技巧,還是讓用家自己慢慢來吧。
每次提交答案前都可以先運行它提供的測試用例或是自家測試用例,debug 都很方便。
考取證書
考取證書前都要輸入一些簡單個人資料,確定好才進入。
因為考取證書都是限時作答,所以建議各位有足夠準備才開始點進去。而它的作答方式跟一般練習介面一樣,可以先運行它提供的測試用例,之後才提交答案。它也會提供模擬題目讓你熟習一下使用介面。
工作機會
這個平台還有一個分頁列出了各大公司的招聘資訊,可能真的有機會去美國工作?
排行榜
HackerRank 的 rank 就是排行的意思,完成各類挑戰都會有相應分數。這裡可以比較自己與高手們的表現。有趣的是它會依照你提交答案的時間複雜度來分高下,想登榜還是要下點苦功。
競爭模式
用戶自己出題,難度各有不同,題目都有張貼限期。就是高手們解悶的地方?
現在學習編程的方法真的多元化,還記得小時候學 Java 要到圖書館借閱書籍。我也相信編程會越來越普及,筆者都要拿好自己的飯碗,學習更多。
本次介紹到此為止,大家如果有學習編程的有趣體驗,歡迎在下方留言交流哦!
探索更多來自 砂煲部落格 3Bro Blog 的內容
Subscribe to get the latest posts sent to your email.