2027766963 发表于 2017-5-23 14:58:40

大企业最喜欢问的Java编程问题

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

  动力节点Java培训机构的老师针对面试问题,凭借着多年的工作经验总结了以下几点:比方说对于Java集合类的使用都比较重视,比方说基础知识都是必考项目,比方说几乎都会有一道测验品行的题目......那么由动力节点的老师为大家总结一下技术层面大公司面试时的一些共性问题,空闲的时候就学起来吧,现在正是跳槽旺季,也是大公司的招聘需求最高的时候,希望能够对大家接下来的面试有所帮助。

  接口: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方面的知识还有什么疑问,可以关注“动力节点Java学院”微信公众号,留言咨询,另外如果你想学习Java,想加入Java行业,那么动力节点Java零基础班现已开启免费学习,对于想学习Java编程的同学无疑是好消息,亲自考察教学质量,机会就在眼前,快来报名吧,座位紧张,先到先得。

页: [1]
查看完整版本: 大企业最喜欢问的Java编程问题