java程序员面试经验(北京)- 北京华旗资讯科技有限公司
2017-03-24 | 来源:职朋网友分享
面试过程:

、说说&和&&的区别。
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用 数&1来判断一个数是奇数还是偶数 如果结果为0为偶数,结果为1为奇数,如4&1 –> 0偶数。
备注:这道题先说两者的共同点,再说出&&和&的特殊之处,并列举一些经典的例子来表明自己理解透彻深入、实际经验丰富。

面试官问的面试题:

北京华旗资讯科技有限公司java程序员面试题

说出ArrayList,Vector, LinkedList的存储性能和特性
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

LinkedList也是线程不安全的,LinkedList提供了一些方法,使得LinkedList可以被当作堆栈和队列来使用。

查看面试题参考答案>>

面试相关细节:

你是通过何种渠道获得这次面试机会的?
答:招聘会
整个面试花费了多长时间?(从接到面试消息到得到结果)
答:3天
面试形式包括哪些?
答:1对1面试
你觉得这次面试的难度如何?
答:难度一般
你对这次面试的整体感觉怎么样?
答:一般
这次面试的结果如何?
答:面试成功且工作

以上信息仅代表发布者自己的观点,由于在职时间、职位以及个体本身的影响,和公司整体情况可能会有偏差,仅供参考!