动力节点口口相传的Java黄埔军校
大公司的Java面试题有多难?
2018-10-16 来源:动力节点

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


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


  接口:Collection


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


  用Iterator模式实现遍历集合


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


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


  while(it.hasNext()){


  Objectobj=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参数不能包含重复的元素。


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


  关于Java集合类的问题和重要知识点还有很多,不仅仅是理论上的,还有很多实际操作中的经验问题,这些对于面试都是十分重要的,由于时间的限制,小编就先为大家总结到这里,关注“动力节点Java学院”微信公众号,里面为大家持续推送Java集合类的问题和知识点,助力面试新工作拿到心仪offer。

开班信息

同类文章

微信搜索“动力节点Java学院“或扫二维码

关注官方微信免费领学习资料

动力节点Java培训机构,行业口碑最好的Java培训机构。

立即抢名额