iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0
Mobile Development

30 天從麻瓜變 Android 工程師系列 第 27

Day 27:刷題

前言


刷題是應徵流程的一環,但並不是每一家公司都要,通常小公司比較不會有刷題的環節,可以把刷題想成是考大學,越多人想去的地方分數就要越高,大公司收到的履歷很多,通常會先由人事直接寄刷題連結,工程部門的主管從後台看到分數跟解題過程再請人事發面試邀請,以節省時間以及鑒別出基本功。

但也就像考大學的時候唸的書,刷這些題對我們 client 端的工作沒什麼幫助,就算真的有用,需要用到的時候也忘得差不多了。但,這是 client 端的狀況,因為每一個裝置都是獨立且分散的,即使有用到演算法也只要算一次就好,但後端、資料科學等領域,需要大量運算,那就比較重要了,如果寫的好,就能剩下設備成本。

這裡有 HiSKIO 做的 LeetCode 經驗調查 可以了解刷題的輪廓。

刷題網站


  • LeetCode
  • Codility
    但不是只有這兩家,只寫這兩家的原因是:
  • 大部分公司都用這兩家,所以先熟悉工具。
  • 題目刷不完的。
  • 網路上能找到的刷題學習資源主要都是 LeetCode。

學習資源


GitHub 上搜尋 LeetCode 就有一堆解題的 repo,有解釋題目、說明思路、甚至還有動畫教學的,這邊推薦:Leetcode 题解,因為他的分類很清晰,雖然不是講解的最詳細,但可以參考其他 repo 的講解。

學習方法


GitBook

刷題這種東西,刷一題忘一題,刷多就亂了,我們可以用 GitBook 來做自己的理解筆記。

直接看答案

你可能會覺得這個方法很糟糕,但就我的例子來說,我的記憶力比較差,經常會忘記解題邏輯跟結論,比方說一個題目我想了幾種解法且都試過,但下次遇到的時候,忘記結論是什麼,所以我會直接看別人的解題,參考的是思路,而不是該題的步驟,這樣未來才能類推。

另外,題目不是只要解開就好,還有要求正確性跟效率,我們並沒有那麼多時間完整建構自己的思路,還是先接受正規教育吧。

難度、數量

主要都是刷 easy、medium 就夠了。
另外,刷題數量不是很重要,重點是熱門題型一定要熟悉。

唸出來

平常練習的時候就一邊把自己的思路給說出來,可以做到幾個效果:

  • 保持專注。
  • 小黃鴨除錯法 的效果。
  • 正式面試的時候,寫白板題時同時唸出自己的思路是加分的,可以提早練習。

上一篇
Day 26:書單
下一篇
Day 28:面試
系列文
30 天從麻瓜變 Android 工程師30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言