大公司面试喜欢问的Java问题都有哪些?

进入一线互联网公司是很多程序员的梦想,但是很多人好不容易有机会面试却遗憾以失败告终,大公司的面试题目真的有那么难吗?有没有什么共性呢?

大公司面试喜欢问的Java问题都有哪些?_第1张图片

最近看了一些大公司Java面试的题目,发现确实有不少共性,比方说对于JAVA集合类的使用都比较重视,比方说基础知识都是必考项目,比方说几乎都会有一道测验品行的题目......小编为大家总结了技术层面大公司面试时的一些共性问题,空闲的时候就学起来吧,现在正是跳槽旺季,也是大公司的招聘需求最高的时候,希望能够对大家接下来的面试有所帮助。

大公司面试喜欢问的Java问题都有哪些?_第2张图片

接口:Collection

中所周知,Collection是最基本的集合接口,一个Collection代表一组Object,也就是Collection的元素(Elements)。有的Collection允许相同的元素但有些却做不到,同理于一部分能排序有些部分却不支持。Java SDK提供的类都是继承自Collection的“子接口”,例如List和Set,但是不提供直接继承自Collection的类。

用Iterator模式实现遍历集合

Collection有一个很重要的方法:iterator(),返回一个Iterator(迭代器),用于遍历集合的所有元素。Iterator模式能够把访问逻辑从不同的集合类中抽象出来,以达到避免向客户端暴露集合的内部结构的目的。比较典型的用法就是:

Iterator it = collection.iterator(); // 获得一个迭代器

while(it.hasNext()) {

Object obj = it.next(); // 得到下一个元素

}

另外,由Collection接口衍生出来的两个接口是List和Set。

List接口

List属于有序的Collection,通过这个接口可以精确的控制每个元素插入的位置。用户可以通过索引来访问List中的元素,这就类似于Java的数组。接下来我们还会提及set,二者不一样的地方就在于,List是允许有相同元素的。

除此之外不得不提,List还提供了另外一个listIterator()方法,返回一个ListIterator接口,跟标准的Iterator接口相比,ListIterator多了一些add()之类的方法,并且能够添加、删除、设定元素,并且可以向前或者向后遍历。

另外不得不提的就是,实现List接口的常用类有LinkedList、ArrayList、Vector、Stack等等。

Set接口

Set是一种不包含重复的元素的Collection,也就是说任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素。显然,Set的构造函数是有约束条件的,传入的Collection参数不能包含重复的元素。

另外需要重点强调的就是:一定要小心操作可变对象(Mutable Object)。如果说一个Set中的可变元素改变了自身状态导致Object.equals(Object)=true可能会导致某些问题出现。

关于Java集合类的问题和重要知识点还有很多,不仅仅是理论上的,还有很多实际操作中的经验问题,这些对于面试都是十分重要的。由于时间和篇幅的限制,小编就先为大家总结到这里,接下来小编还会为大家持续推送Java集合类的问题和知识点,助力新年面试新工作拿到心仪offer。

另外大家对于面试或者Java方面的只是还有什么疑问,有哪些点是希望小编进行总结推送的,欢迎留言讨论,小编将尽力满足大家的需求。当然,如果你有更好的想法或建议,也欢迎留言讨论,我们一直坚持独乐乐不如众乐乐,好的idea当然要分享出来才能吧价值最大化。

欢迎关注微信公众号【中软卓越北京EEC】

你可能感兴趣的:(大公司面试喜欢问的Java问题都有哪些?)