Java 杂谈互联网科技

工作五年难道必须要读源码吗?

2019-06-05  本文已影响16人  风平浪静如码

今天,无意中看到一篇帖子,虽然有点老了,但还是挺有感触的,我相信很多工作多年的读者都有类似的经历。

文中的作者在互联网行业摸爬滚打了五年,原以为自己「凭已有的项目经验和工作经历」怎么着也应该算得上是一个业内比较资历的人士了,但在换工作的过程中被面试官深入问 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点击立即加入 找管理小姐姐免费获取!

合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!



上一篇下一篇

猜你喜欢

热点阅读