专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 常见问题 大公司的Java面试题有多难?

大公司的Java面试题有多难?

更新时间:2018-10-16 08:48:03 来源:动力节点 浏览3009次

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

  最近看了一些大公司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。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>