前一篇介紹過我曾經自己寫了第一個專案 >>【文組的學CODE之路】寫程式第一個專案|要怎麼開始?會遇到什麼問題?
在緩慢學習程式的過程中,心裡常常覺得很著急,因為會看到ptt很多衝刺班的人,他們都在很短的時間內就去面試,更有人順利就職。實在很羨慕,但評估自己的實力,還是乖乖刷leetcode才是真理。
每天都有進步才是重要的,而不是一直跟別人的學習路徑比較。最近的我學習進度是每天都刷leetcode1-3題,通常是複習比較多,因為大部分的題目真的無法盲解,所以會需要找到適合的影片來吸收每一題的概念。
來分享一下一個平凡人的學code之路!
Python自學經歷 (6-7個月)
- Python基礎語法理解 (Codecademy課程)
- Django 初學課程 建立自己的專案 (Udemy)
- 親自部署heroku, AWS s3
- Berkeley CS61A 資料結構課程 (大學網路課,後續分享心得)
- 刷Leetcode 累積30題 (easy為主 , medium)
分享:刷Leetcode有什麼好處呢?
了解程式語言的資料結構是什麼
所謂的演算法就是給你資訊,讓你在程式的世界裡演算完成後,告訴你想要的答案。因此leetcode就是在訓練你如何寫出中間的演算過程。
練手感跟腦感
學完基礎Python後,基本很難直接跳到運用,因為就連基礎的課程你也只能略懂略懂,但是如果開始寫leetcode,初學者就會面臨到,for loop, while,indention等的關係、快速的把會使用到的公式寫出法。
練熟的人可能覺得很簡單,但一開始真的是連「看解答都不會寫」、「不知道要怎麼寫出這個觀念」的各種大魔王,也會遇到很多之前課程沒有教過的語法使用(這時候就會請出谷歌大神),但就算是練習最簡單的two sum題型,都能讓你練for loop, dictionary的熟練度。
慢慢增加自信
因為程式語言跟海一樣深,但工程師們共同經歷過的其實就是leetcode,因此在每一題的堆疊都會感覺到“我跟工程師越來越近了!”的心情,就算一天只能練習一題,也是已經寫過的題型,久了以後,再回來寫這一題,就會發現這個觀念自己寫的很快。
工程師找工作必經之路
因為一開始太抗拒寫leetcode了,我問了很多工程師,查詢很多資料,基本上面試一定會遇到leetcode,就是一個考古題,但因為有著FAANG公司的認證,幾乎所有公司都會考leetcode,因此才會有很多工程師說「leetcode刷了沒」或是當你看到有人很認真在刷題,就表示…他要換工作了!
刷30題leetcode的心得
- 明顯看見自己的進步,不管是心態還是對基礎語法的熟練,刷到第10題以後,其實我就沒有那麼抗拒了,一開始真的是連打開網站都需要勇氣。
- 一整天解出一題,已經很厲害了。在medium的題型中,基本上是連看別人的解答都不一定會寫,因此一天能花幾小時,把一題的結構跟概念理解,已經超級了不起。
- 如果不會寫,請立刻看解答。自己想不出來就是想不出來,不需要硬是在網頁前面大眼瞪小眼,去看看有沒有別人寫的code是你看得懂的,還是網路上有什麼教學,這才是讓我們進步的能量。
- 寫完題目後,過幾天就全忘,是正常的!不要讓自己背答案,每次看完題目先想這題的概念是什麼、步驟是什麼,才是重要的!
- Medium超難(不敢想hard),記得直接去網路上找教學影片,不要浪費時間!
我會繼續練習下去,leetcode官網 傳送門分享給你,希望跟我一樣是初學者的你能夠一起練習,找到浮木,一起加油!