心情 - Java面试的一个月

207 阅读2分钟

Java程序员面试的一个月

面了接近有四五十家公司,每天朝九晚五,搞得和上班似的,最终有两个比较满意的offer。

求职目标从Java高级开发先是改成了中级,最后老老实实的写成初级。哈哈哈。

不少面试官的反馈是:虽然你的知识面挺广,但深度还差不少,目前需要多注重基础。很扎心,但是也很实在。所以下定决心,提高自己的Java基础。因为Java还是很多很杂的一门语言,学好它啊还是需要长期的积累和沉淀。

在面试过程中,学习了很多的东西。所以分享一下经验。

在工作或是学习中,无论使用了什么技术,可能只是要简单的试用一下,那么最好是在闲暇之余,仔细的探究这些东西的原理,去思考这些东西为什么要这个样子设计。举个例子。

面试官:聊一下你理解的HashMap。

我:HashMap是基于数组+链表这样一个桶式的数据结构来实现的。当我要把一个键值对放到map中时,先使用hashcode()函数获取一个key的hash值,然后根据hash值去把键值对放到数组的确定的索引下,如果该数组中已经有一个键值对,那么首先使用equals()方法判断key是否相同,如果相同则覆盖原来的键值对,如果不同则将新的键值对放到下面去,形成一个链表,当链表的长度>8时,则链表结构变为红黑树

面试官:为什么是8?

面试官:为什么是红黑树?不是二叉树?

面试官:红黑树和二叉树有什么区别?

三连问把我问懵了,因为确实

因为有的东西你可以看一遍博客就能记住,但是有的东西没有自己的思考,只是简单的接受,那么所理解的知识是很表面的。很表面的理解就是没有

最近很喜欢的两位博主:

www.cnblogs.com/JavaArchite…

blog.csdn.net/chenssy?t=1