华为java面试题3篇
华为java面试题1
1.Error与Exception有什么区别?
error表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
2.statement和preparestatement区别
1)创建时的区别:
Statement ateStatement();
PreparedStatement pstm=con.prepareStatement(sql);
执行的时候:
2)pstm一旦绑定了SQL,此pstm就不能执行其他的Sql,即只能执行一条SQL命令。stm可以执行多条SQL命令。
3)对于执行同构的sql(只有值不同,其他结构都相同),用pstm的执行效
率比较的`高,对于异构的SQL语句,Statement的执行效率要高。
4)当需要外部变量的时候,pstm的执行效率更高.
华为java面试题2
1.short s1=1;s1=s1+1;有什么错?short s1=1;s1+=1;有什么错?
short s1=1;s1=s1+1;(s1+1运算结果是int型,需要**转换类型) short s1=1;s1+=1;(可以正确编译)
2.float型float f=
3.4是否正确?
不正确。精度不准确,应该用**类型转换,如下所示:float f=(float)3.4或float f= 3.4f在java里面,没小数点的默认是int,有小数点的默认是double;
3.ArrayList和Vector的区别,HashMap和Hashtable的区别。
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector 由于使用了synchronized方法(线程安全),通常性能上较ArrayList差。
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
华为java面试题3篇扩展阅读
华为java面试题3篇(扩展1)
——java面试题3篇
java面试题1
1、&和&&的区别?
答:&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是null而且不是空字符串,应当写为:username!=null
&&!username.equals(""),二者的顺序不能交换,更不能用&运算符,因为第一个条件如果不成立,根本不能进行字符串的equals比较,否则会产生NullPointerException异常。注意:逻辑或运算符(|)和短路或运算符(||)的差别也是如此。
补充:如果你熟悉JavaScript,那你可能更能感受到短路运算的强大,想成为JavaScript的高手就先从玩转短路运算开始吧。
2、解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。
答:通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用内存中的栈空间;而通过new关键字和构造器创建的对象放在堆空间;程序中的字面量(literal)如直接书写的100、"hello"和常量都是放在静态区中。栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,理论上整个内存没有被其他进程使用的空间甚至硬盘上的虚拟内存都可以被当成堆空间来使用。
String str=new String("hello");
上面的语句中变量str放在栈上,用new创建出来的字符串对象放在堆上,而"hello"这个字面量放在静态区。
补充:较新版本的Java(从Java6的某个更新开始)中使用了一项叫"逃逸分析"的技术,可以将一些局部对象放在栈上以提升对象的操作性能。
3、und(11.5)等于多少?und(-11.5)等于多少?
答:und(11.5)的返回值是12,und(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。
4、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
答:在Java5以前,switch(expr)中,expr只能是byte、short、char、int。从Java5开始,Java中引入了枚举类型,expr也可以是enum类型,从Java7开始,expr还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。
java面试题2
1、数组有没有length()方法?String有没有length()方法?
答:数组没有length()方法,有length的属性。String有length()方法。JavaScript中,获得字符串的长度是通过length属性得到的,这一点容易和Java混淆。
2、在Java中,如何跳出当前的多重嵌套循环?
答:在最外层循环前加一个标记如A,然后用break A;可以跳出多重循环。(Java中**带标签的break和continue语句,作用有点类似于C和C++中的goto语句,但是就像要避免使用goto一样,应该避免使用带
标签的break 和continue,因为它不会让你的程序变得更优雅,很多时候甚至有相反的作用,所以这种语法其实不知道更好)
3、构造器(constructor)是否可被重写(override)?
答:构造器不能被继承,因此不能被重写,但可以被重载。
4、两个对象值相同(x.equals(y)==true),但却可有不同的hash code,这句话对不对?
答:不对,如果两个对象x和y满足x.equals(y)==true,它们的哈希码(hash code)应当相同。Java对于eqauls方法和hashCode方法是这样规定的:(1)如果两个对象相同(equals方法返回true),那么它们的.hashCode值一定要相同;(2)如果两个对象的hashCode相同,它们并不一定相同。当然,你未必要按照要求去做,但是如果你违背了上述原则就会发现在使用容器时,相同的对象可以出现在Set集合中,同时增加新元素的效率会**下降(对于使用哈希存储的系统,如果哈希码频繁的冲突将会造成存取性能急剧下降)。
java面试题3
问题1:GregorianCalendar类是什么东西?
答案:GregorianCalendar提供了**传统日历的**。
问题2:ResourceBundle类是什么?
答案:ResourceBundle用来存储指定语言环境的资源,应用程序可以根据运行时的语言环境来加载这些资源,从而提供不同语言的展示。
问题3:为什么Java里没有全局变量?
答案:全局变量是全局可见的',Java不**全局可见的变量,因为:全局变量破坏了引用透明性原则。全局变量导致了命名空间的冲突。
问题4:SimpleTimeZone类是什么?
答案:SimpleTimeZone提供公历日期**。
问题5:while循环和do循环有什么不同?
答案:while结构在循环的开始判断下一个迭代是否应该继续。do/while 结构在循环的结尾来判断是否将继续下一轮迭代。do结构至少会执行一次循环体。
问题6:Locale类是什么?
答案:Locale类用来根据语言环境来动态调整程序的输出。
问题7:面向对象编程的原则是什么?
答案:主要有三点,多态,继承和封装。
问题8:介绍下继承的原则
答案:继承使得一个对象可以获取另一个对象的属性。使用继承可以让已经测试完备的功能得以复用,并且可以一次修改,所有继承的地方都同时生效。
华为java面试题3篇(扩展2)
——华为面试题3篇
华为面试题1
Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?
Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用?TCP与UDP呢?
Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?
Q4:请问C++的类和C里面的struct有什么区别?
Q5:请讲一讲析构函数和虚函数的用法和作用?
Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?
Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。
Q8:8086是多少尉的系统?在数据总线上是怎么实现的?
“华为面试题”版权归作者所有;转载请注明出处!
华为java面试题3篇(扩展3)sql中round函数怎么使用
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论