弄明白面试官心理,一切面试都不难:面试Java后端开发人员的感受( 九 )

通读一段底层代码 , 作为加分项

如何证明自己对一个知识点非常了解?莫过于能通过底层代码来说明 。 我在和不少工作经验在5年之内的程序员沟通时 , 不少人认为这很难?确实 , 如果要通过阅读底层代码了解分布式组件 , 那难度不小 , 但如果如下部分的底层代码 , 并不难懂 。

1、ArrayListLinkedList的底层代码里 , 包含着基于数组和链表的实现方式 , 如果大家能以此讲清楚扩容 , “通过枚举器遍历“等方式 , 绝对能证明自己 。

2、HashMap直接对应着Hash表这个数据结构 , 在HashMap的底层代码里 , 包含着hashcode的put , get等的操作 , 甚至在ConcurrentHashMap里 , 还包含着Lock的逻辑 。 我相信 , 如果大家在面试中 , 看看而言ConcurrentHashMap , 再结合在纸上边说边画 , 那一定能征服面试官 。

3、可以看下静态代理和动态代理的实现方式 , 再深入一下 , 可以看下Spring AOP里的实现代码 。

4、或许Spirng IOC和MVC的底层实现代码比较难看懂 , 但大家可以说些关键的类 , 根据关键流程说下它们的实现方式 。

推荐阅读