1. 程式人生 > >工作五年難道必須要讀原始碼嗎?

工作五年難道必須要讀原始碼嗎?

今天,無意中看到一篇帖子,雖然有點老了,但還是挺有感觸的,我相信很多工作多年的讀者都有類似的經歷。

文中的作者在網際網路行業摸爬滾打了五年,原以為自己「憑已有的專案經驗和工作經歷」怎麼著也應該算得上是一個業內比較資歷的人士了,但在換工作的過程中被面試官深入問 Tomcat 原始碼,因瞭解初淺而遭受挫折,決定深入研究Tomcat 原始碼「見下圖」。

讀完了上面的文字,我對面試官的那句話還是挺有感觸的。

我們不需要熟練工,我們需要在某領域擁有超過常人的積累認知,和擁有整套完整思維模式和優秀認知事物能力的人。

我看了一些讀者留言持有不同的觀點,我比較贊同 @jdon007 的部分觀點「見下圖」。

工作 3 ~ 5 年的程式設計師「也包括我」,其實大家都處於一個比較浮躁的階段,容易眼高手低、好高騖遠。。。

這個時間點,我覺得更需要著眼於現實「讀框架原始碼對你的意義到底有多大?」,理智的看待問題,學會取捨,合理安排時間,排好優先順序。比如你連平時的工作都完成不了,連自己負責的業務都不熟悉,在哪裡花費大量的時間死摳框架原始碼,意義又在哪裡呢?

也不是說你不能讀原始碼,是要在你有充足精力的前提下。也並非你沒有閱讀過原始碼,就一定面試不成功,如果你對自己的業務領域有獨特的見解,或者其它的一技之長,面試也挺容易的。

為什麼面試官喜歡問原始碼?

我在知乎上看到一個網友的回答挺形象的,供大家參考。

跟面試工作幾年的司機差不多,大部分司機的駕駛水平都差不多「常用框架」,司機最重要的駕駛技術「工具熟練程度」和安全意識「不寫出低階bug」,但在面試中很難衡量,那就聊聊修車吧「原始碼」,最起碼要根據現象能看到問題的原因「定位bug」,雖然有的故障「bug」不是司機能解決的,但懂車「看過原始碼」的知道是哪的問題,去哪修「請教專業人員」,小問題可以自己動手解決「修改原始碼」,自己改裝過汽車「寫底層框架」的肯定是專業人員了。

如何堅持下去呢?

我覺得帶著目的性最好,比如,你可以把自己讀原始碼的所得進行變現「在一些知識付費平臺開通專欄」,這樣你便能一直讀下去。如果沒有目的性,你多半會「三天打魚,兩天晒網」。

怎麼閱讀原始碼呢?

對於閱讀原始碼,我雖然不是大牛,但多少還是有點經驗。大家都知道「打蛇要打三寸」,讀原始碼也一樣,要抓住要害。就以那篇貼子所提到的 Tomcat 為例,這隻三隻腳的貓,說到底也就是一個滿足 Servlet 規範的容器,對於這種容器而言,它無非就是提供 Socket 服務、URL 請求分發、封裝 Request / Response,只是 Tomcat 在此基礎上做了更細化的處理,如利用了一些設計模式,JMX,Session處理,類載入機制,相關元件等,我覺得最有意思的是這些元件「見下圖」。

總的來說,如果時間充足,建議多讀讀原始碼,畢竟技多不壓身!

讀者福利

針對於上面的文章我總結出了網際網路公司java程式設計師面試涉及到的絕大部分面試題及答案做成了文件和架構視訊資料免費分享給大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分散式、高併發等架構技術資料),希望能幫助到您面試前的複習且找到一個好的工作,也節省大家在網上搜索資料的時間來學習。

資料獲取方式:加qun群:956011797點選立即加入 找管理小姐姐免費獲取!

合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!

相關推薦

工作難道必須原始碼

今天,無意中看到一篇帖子,雖然有點老了,但還是挺有感觸的,我相信很多工作多年的讀者都有類似的經歷。 文中的作者在網際網路行業摸爬滾

工作以上的 UI 設計師都在幹什麽?

隨著 思維方式 品牌 gem 這場 文案 資源 環境 感受 30 歲,現在坐標北京,從畢業至今都一直在做設計。目前從業超過了五年,也沒打算離開設計這個行業。即便有一天不再從事設計專職的崗位,也仍然會在生活中,或者一些份外的工作中做「設計師」的角色,因為設計已成為我的一種習慣

在網際網路創業公司工作是一種怎樣的體驗?

——在網際網路創業公司工作五年是一種怎樣的體驗? ——微信有上千個前同事,相簿裡滿是他們的表情包,每個人的黑歷史一清二楚。 經歷的比在大公司工作十年的還要多:一人身兼多職的忙碌通宵工作,和同事的創業革命情誼,見證公司的榮耀時刻,也經歷過動盪黑暗時分,遭受過boss的更替和被大公司收購的前途未

工作總結——以及兩年前曾提出問題的回答

前言 好久沒來部落格園了,上次來部落格園還是寫這篇帖子: 那還是兩年前,當時工作經驗三年,處於人生迷茫期,人生有過多次抉擇,到如今,工作五年,距離當時已然兩載。 如今再度翻開之前部落格,體味到當時那懵懂、衝動、浮躁和迷茫的自己,心裡不由有感而發。 兩年前最後的詢問是,路在何方? 這件事,在兩年後的今天,

工作以上的UI設計師都在幹什麼?

入行兩三年,繼續深造、轉行還是回家鄉?何去何從,不妨聽前輩們聊聊他們的現狀吧。今天這篇問答,既有奮戰一線的華為、騰訊資深設計師,也有圖安逸在三線城市工作的,既有設計科班生,也有26歲才入行的非科班生,內附不少前輩的經驗心得供借鑑,來收吧。 使用者體驗設計是一個相對新的行業,好處是行業新、發展快、年輕人機

未來兩我們即將的Python書!

學好Python,能讓你成為一個更好的程式設計師。那麼我們為什麼要學Python呢? 跟C/C++/Java相比: Python能讓你用少的多的多的程式碼寫出相同的程式。 跟VB/PHP比

阿裏員工吐槽:我在阿裏工作,面試一個小公司竟然掛了

講解 不用 面試 orien 即使 我沒 互聯網創業 ans https 一名阿裏員工在互聯網社區吐槽,稱自己工作經驗豐富,在阿裏工作了五年,去面試一個小互聯網創業公司竟然掛了,真是無力吐槽:我就郁悶了,在阿裏工作五年,去面試某公司,上來啥都不問,就兩道算法題我沒有第一時間

工作,決定你一生的財富》讀後感

一、整體感覺:        這本書沒有什麼拐彎抹角的道理,語言很普通,適合一個普通工薪階級的攢錢辦法,總體一個道理,開源節流,擁有一定基數的資金,然後通過投資基金,股票去實現10-20%的複利,實現資產增值。 二、我的想法:       1、一窮二白的時候只能通過開源

畢業工作的總結和感悟(中)-公有PAAS平臺

上一篇文章介紹到雲端儲存專案,下一個做的專案就是統一日誌。這一個專案前前後後做了一年多,版本迭代更新了很多版本,架構升級都做了3次以上。做這一個專案是收穫最大的,我在這一個專案中鍛鍊了大型分散式系統的架構設計能力,也從0開始完全自主研發和設計的一個分散式系統。裡面涉及到了很多

為什麼原始碼,如何閱讀原始碼

由於專案的需求,最近花了較多的時間來看開源專案的程式碼,在本文中,簡單總結一下對為什麼要看原始碼、如何看原始碼這兩個問題的思考。 本文地址:https://www.cnblogs.com/xybaby/p/10794700.html 看原始碼的意義 看原始碼只是一種方法、手段,而不是目的。我也曾經給自己制

工作的.neter的一些經歷感想和對未來的一些疑惑

  本次疫情在家辦公快一個月了,節省了上下班的時間,外出活動時間,感覺有好多時間可以利用。人一閒下來就容易想事情,很多事情想不通心裡堵的厲害,做事都提不起興趣。至於想些什麼呢,我給大家擺一下。 我的經歷   本人2014年畢業於二本大學,從大二那會兒開始學Java,學了一年多的基礎。後來由於專業的老師帶我到學

我的技術之路 - 工作的一次總結

![](https://img2020.cnblogs.com/blog/575322/202003/575322-20200308000956710-1801317885.jpg) >衣帶漸寬終不悔,為伊消得人憔悴。 > >王國維《人間詞話》人生三境界之二 從12年接觸

職場 | 工作之後,對技術和業務的思考

> 苦海無邊,回頭無岸。 01 晃晃悠悠的,在網際網路行業工作了五年,默然回首,你看哪裡像燈火闌珊處? 初入職場,大部分程式設計師會覺得苦學技術,以後會順風順水升職加薪,這樣的想法沒有錯,但是不算全面,五年後你會不會繼續做技術寫程式碼這是核心問題。 初入職場,會覺得努力加班可以不斷提升能力,可以

重刷資料結構,小題大做,——難道頭結點

由於開始結點的位置被存放在頭結點的指標域中,所以在連結串列的第一個位置上的操作和在表的其他位置上的操作一致,無須進行特殊處理。無論連結串列是否為空,其頭指標是指向頭結點的非空指標,因此空表和非空表的處理也就一致了。上面的兩點的意思是:1.不管是在第一個位置還是其它位置插入一個新的結點,都是在一個結點之後插入

工作4多才學會怎麼去原始碼,可悲麼?

國內的資訊產業環境不成熟,舉個最明顯的例子,目前程式設計領域的從業人員超過半數都是通過培訓機構出來的,甚至那些計算機專業畢業的學生,也不得不通過幾個月的技能培訓,才能找到工作,那我上了四年的計算機專業學了有什麼用?通過剖析計算機從業人員接受的基礎教育結構,市場環境,還有企業需求,最終得到的結

中芯國際趙海軍:擠進全球前三

com nload 每一個 集成電路設計 主體 他也 blank 同時 占比 中芯國際CEO趙海軍22日在中國半導體封測年會上指出,中國集成電路設計對先進晶圓代工制造的需求還將增加一倍,中芯國際發展是巨大的。他稱,如果中芯國際未來要進入全球前三大,營業額至少60億美元,若以

工作一到的Java程序員遇到瓶頸應該如何提升自己突破

壓測 nginx反向代理 bat mongodb 了解 lua腳本 feign gpo pri 具有一到五年開發經驗 需要學習內容很多 JVM/分布式/高並發/性能優化/Spring MVC/Spring Boot/Spring Cloud/MyBatis/Netty源碼分

2011過的書及2012即將的書

mys 商業智能 click 產品 ima style canvas shell wrox 2011年讀過的書 浪潮之巔?[薦]?- 講述了科技工業史,包含AT&T公司、IBM公司、蘋果公司、英特爾公司、微軟公司

快魚吃慢魚:浪潮服務器未來爭全球第一的背後

浪潮 服務器 雲計算 2015年的時候,浪潮給自己提出一個五年規劃目標,希望浪潮服務器在2020年的時候做到中國第一、全球前三,然而經過這幾年的快速努力,很快在2017年就達成了這一目標。根據Gartner數據,2017年浪潮服務器出貨量上升至全球第三,成為全球主要的服務器方案供應商,而在過去的1