java招聘面试常见问题
2023-08-11
我们招聘面试时面试官通常会向我们提问的,那么,下面是小编给大家整理收集的java招聘面试常见问题,供大家阅读参考。
java招聘面试常见问题:
1、Java集合框架是什么?说出一些集合框架的优点?
每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。
随着集合的广泛使用,Java1、2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。
集合框架的部分优点如下:
(1)使用核心集合类降低开发成本,而非实现我们自己的集合类。
(2)随着使用经过严格测试的集合框架类,代码质量会得到提高。
(3)通过使用JDK附带的集合类,可以降低代码维护成本。
(4)复用性和可操作性。
2、集合框架中的泛型有什么优点?
Java1、5引入了泛型,所有的集合接口和实现都大量地使用它。泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。
泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。它也给运行时带来好处,因为不会产生类型检查的字节码指令。
3、Java集合框架的基础接口有哪些?
Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java平台不提供这个接口任何直接的实现。
Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。
List是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List更像长度动态变换的数组。
Map是一个将key映射到value的对象、一个Map不能包含重复的key:每个key最多只能映射一个value。
一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。
4、为何Collection不从Cloneable和Serializable接口继承?
Collection接口指定一组对象,对象即为它的元素。如何维护这些元素由Collection的具体实现决定。
例如,一些如List的Collection实现允许重复的元素,而其它的如Set就不允许。很多Collection实现有一个公有的clone方法。然而,把它放到集合的所有实现中也是没有意义的。这是因为Collection是一个抽象表现。重要的是实现。
当与具体实现打交道的时候,克隆或序列化的语义和含义才发挥作用。所以,具体实现应该决定如何对它进行克隆或序列化,或它是否可以被克隆或序列化。
在所有的实现中授权克隆和序列化,最终导致更少的灵活性和更多的限制。特定的实现应该决定它是否可以被克隆和序列化。
5、为何Map接口不继承Collection接口?
尽管Map接口和它的实现也是集合框架的一部分,但Map不是集合,集合也不是Map。因此,Map继承Collection毫无意义,反之亦然。
如果Map继承Collection接口,那么元素去哪儿?Map包含key-value对,它提供抽取key或value列表集合的方法,但是它不适合“一组对象”规范。
6、Iterator是什么?
Iterator接口提供遍历任何Collection的接口。我们可以从一个Collection中使用迭代器方法来获取迭代器实例。迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者在迭代过程中移除元素。
7、Enumeration和Iterator接口的区别?
Enumeration的速度是Iterator的两倍,也使用更少的内存。Enumeration是非常基础的,也满足了基础的需要。但是,与Enumeration相比,Iterator更加安全,因为当一个集合正在被遍历的时候,它会阻止其它线程去修改集合。
迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者从集合中移除元素,而Enumeration不能做到。为了使它的功能更加清晰,迭代器方法名已经经过改善。
8、为何没有像Iterator、add()这样的方法,向集合中添加元素?
语义不明,已知的是,Iterator的协议不能确保迭代的次序。然而要注意,ListIterator没有提供一个add操作,它要确保迭代的顺序。
9、为何迭代器没有一个方法可以直接获取下一个元素,而不需要移动游标?
它可以在当前Iterator的顶层实现,但是它用得很少,如果将它加到接口中,每个继承都要去实现它,这没有意义。
10、Iterater和ListIterator之间有什么区别?
(1)我们可以使用Iterator来遍历Set和List集合,而ListIterator只能遍历List。
(2)Iterator只可以向前遍历,而LIstIterator可以双向遍历。
(3)ListIterator从Iterator接口继承,然后添加了一些额外的功能,比如添加一个元素、替换一个元素、获取前面或后面元素的索引位置。
面试界最经典的十道问题
1请你介绍一下自己
自我介绍并不是简单地介绍自己的姓名、年龄、专业和兴趣爱好,其实面试官对“你是否能够胜任这份工作”更感兴趣,所以大家在面试时更需要将自己的最擅长的技能,最熟悉的领域,工作方面的主要成就讲出来,突显出自己的能力。
2说说你最大的缺点
一般面试都会提到的问题,但是请注意:不能直接把自己的缺点全盘说出。建议大家回答问题从讲述自己的优点说起,中间加一些自己的小缺点,最后再把重点放在讲述自己的优点上,表明即使自身并不完美,但是小确定并不会妨碍你在工作中的出色发挥。
3谈谈你对加班的看法
很多公司都会问到这个问题,到不是企业一定会经常加班,只是看看你对企业奉献的意愿程度。当然不排除有些初创、互联网、创意公司会有加班的问题,所以最好事先有个判断再回答是否能够接受加班的情况。
4谈谈你对薪资的要求
工资要的\\\'太低,显然是在贬低自己的能力,而工资太高又显得分量过重。通常企业问这个问题只是看他们的招聘预算是否可以将你的薪资cover住,偏高可能还需要再谈,偏低并且其他方面合适就会尽快通知入职。
5你对我们公司了解多少
有一些非常在意企业文化的公司,在面试时还喜欢问求职者对于面试公司的了解情况,一来考验面试者对待这次面试是否认真,二来查看人才是否是企业的菜。
6你希望和什么样的上级共事?
从面试者对未来上级的“希望”,可以看到面试者的自我要求意识,这个问题既是陷阱,也是一次机会。建议大家最好的回答方式是:少说对未来上级的期望,多说对自己的要求。
7说一个你的成功案例
举一个自己全面参与,或者是自己负责的成功案例,能够清楚地将这件项目的来龙去脉讲出来,并且体现出自己在项目中的领导或重要作用。切记不要说太多,不要把项目结果夸大其词,这些会形成漏洞引人怀疑。
8谈谈你未来五年的职业规划
大家在五年的职业规划中,大概都会给自己设定一个“管理者”的规划,但是大家需要事先了解自己的职位的发展方向和发展通道,比如一个初级销售的发展路径可看作“初级销售 - 高级销售 - 大客户销售 - 销售经理”等,把自己的职业发展搞清楚,也能让用人单位更加放心你不会三分钟热度。
9你喜欢这份工作的哪一点?
每个人的价值观不同,自然回答也不尽相同。但是,在面试官面前不能将自己心底最真实的“工资高”“离家近”“事情少”当做理由说出来,要更多的提出“对自己的能力有所挑战”、“对职业发展有帮助”和“平台好锻炼人”等。
10如果被录用,你将如何开展工作?
这个问题主要是想了解面试者的工作能力及计划性、条理性,而且重点想要了解细节。如果说空话的迂回战术,会让面试官觉得你其实对这份工作没有任何实操性,只是夸夸奇谭不落地。如果是就其一点展开,会让面试官觉得你对待工作思考地不够全面,所以一定要在回答之前在心中想好1、2、3、4等方面,然后再分别展开来讲。