反思一次羞愧的阿里面試經歷

YouCii發表於2019-04-09

反思

昨晚去北京大望路阿里面試, 產生了嚴重的挫敗感, 羞愧難當.

比不得從大學就有目標有理想, 一直在為目標努力學習技術的同學, 在大學唯一能拿得出手的就是參加了電子設計大賽, 學了點嵌入式的知識.

畢業後開始做android, 說得好聽點叫做專案, 實際上就是搬程式碼, 真正記到腦子裡的有多少呢? 從百度Google搬到自己的程式碼裡, 同一個問題要遇到好幾次才能記住, 很多問題搬完了還不知道為什麼這麼做. ReactNative都做完一個專案了, 生命週期都記不清楚, 這樣的工作有什麼意義呢?

進步太慢, 畢業後的前兩年自學android, 現在想來基本都是在爬, 兩年之後自認為很厲害, 什麼業務都做得了了, 其實只是井底之蛙, 甚至連hybird都不知道. 面試官問一句"都是原生開發吧", 支支吾吾回答了一句"就是在Eclipse裡寫java和xml...", 真是可笑至極! 一如昨天回答"intent如何突破傳參大小限制": "不太清楚可以突破..". 我可以找藉口說平時做的專案不大, 不需要這些操作, 其實用到intent的時候也應該深入看一下, 不是嗎? 自認為工作這五年, 理論知識還不如BAT招的應屆生, 也許在其內部工作了一年的新手掌握的基礎知識都比我紮實吧?

稍微開點竅是在2018年初, 終於開始不滿足於api呼叫了, 開始學習一些目前小專案中還用不到的東西, 比如JMM/深入點的多執行緒/各類資料結構, 也寫了些部落格, 自認為感覺良好. 殊不知浮於應用之上的深層理論知識只是華而不實的空中樓閣, 連Thread.join()有帶有超時引數的過載方法都不知道, 就算精通了synchronize優化的偏向鎖輕量鎖又有什麼意義呢? 先不說實際專案中毫無作用, 甚至只是用於應付面試都問不到那一步, 只稍微問下基礎的應用就捉襟見肘漏洞百出, 基礎不牢誰還有興趣深入的問.

與前幾年的呆傻相比, 這兩年又太浮躁了, 自知欠的技術債太多, 開始病急亂投醫, 一味為了面試去學習些面試題的星星點點, 或者接受各個技術群/部落格/資訊網站關於技術的/關於人生的狂轟濫炸, 卻積攢不到紮實的深入的技術知識或者應用經驗, 這樣下去只會越來越焦慮而毫無真正意義上的技術提高.

計劃

以人為鏡可以明得失, 看到了自己的不足就要針對性地做一些改變.

以下思路轉變要切記:

  1. 核心思想, 從專案出發, 打牢基礎, 逐步深入, 業務看到哪, 原始碼就要跟到哪, 不要拖, 不要欠;
  2. 上班期間不再惦記其他知識的學習, 專心研究專案上需要的知識/碰見的問題, 否則只會三心二意, 專案上的技術點做不深入, 其他知識點也看不踏實;
  3. 下班後, 除了陪家人朋友/做家務之外的個人時間, 要抽出大半來學習, 比如沒其他事的話可以玩遊戲/逛吃的時間, 這個比較籠統, 沒有具體衡量標準, 所以要時刻提醒自己;
  4. 學習時切忌不要急於求成, 以深入學習/學會應用為目標, 寫部落格是為了總結記錄, 而不是為了花裡胡哨的標榜什麼. 比如寫了一個演算法, 儘量聯絡下應用場景; 看了一段原始碼, 想一下對應用層呼叫有什麼影響, 這樣才能學以致用.

具體的學習目標

  1. 週一到週五晚上只有一個半小時的小段時間, 用來學習小節點的演算法知識, 週末大段的時間用於研究原始碼或者JVM等較深入的知識, 週六周天相加至少要6小時, 其餘時間與媳婦商量來定;
  2. 演算法知識先看完<劍指offer>, 然後刷LeetCode; 原始碼和JVM先看<Android原始碼設計模式解析與實戰>, 然後系統地看下<深入理解Java虛擬機器>, 把之前掌握的知識梳理好, 這三本書是今年的目標.

前瞻

人與人的目標各不相同, 有時候也羨慕可以踏踏實實開開心心養老的人, 可是更多的時候還是想要更進一步, BAT是我的目標. 現在已經老大不小了, 27週歲, 工作五年, 還是條只能混過簡歷篩選的鹹魚, 後面要更加努力了.

相關文章