这段代码有没有优化空间?

作为一名程序员,求职面试时,关于源码问题得到了不少面试官的青睐。

张工是一名java程序员,最近到某知名互联网公司面试,做了一份笔试题后,

面谈时,面试官问了这样的一个问题:

下面这段代码有没有优化空间?要是有?如何优化?

这段代码有没有优化空间?_第1张图片

张工仔细看了一下程序,觉得有点眼熟。

于是说,“这不就是LinkedHashMap源码,暂看不出需要优化的地方。”

听张工这么一说,面试官楞了下,面试这么多人,这样回答如此干脆的还是第一次遇到。

对于这道题目,前几位求职者要么说是if else 代码过多,要不就说变量命名不规范。都没有看出是LinkedHashMap源码。

张工能在第一眼就判断出来,确实很棒。对此面试官很满意,表示当场录用张工。

个人觉得,平时在学习时,多留意下阅读源码。

为什么要阅读源码,古语云:“读破万卷书,下笔如有神”。

通过阅读源码进行积累,有利于我们把一些零碎的知识点整合起来,知其然知其所以然。

就拿kafka消息队列来说,它是如何实现高性能、高可用的

不仅如此,我们还可以通过阅读源码借鉴,它山之石可以攻玉,如果有需要重新开始自己造轮子,那么参考目前优秀的项目肯定是有所帮助的。

那么如何有效阅读源码?

梳理代码组织层次

当需要看代码的时候,不要找到一个文件就开始,先看看代码组织层次。

比如LinkedHashMap就很好理解,继承HashMap,而HashMap实现Map接口。层次很清晰。

阅读代码,建议先关注主干,忽略掉一些细枝末节,步步深入,直达目标。

以上只是个人看法,不知对此你是怎么看待的,欢迎交流!

技术交流、媒体合作、品牌宣传,请加小爱微信: iyiyouyou

往期推荐

程序员:耐得住寂寞,禁得住诱惑

更多精彩,请扫二维码关注小爱

你可能感兴趣的:(面试,java,jvm,软件开发,sms)