黑马程序员技术交流社区

标题: 创新工厂android面试题 [打印本页]

作者: 职业规划-苏小粉老师    时间: 2011-8-22 10:53
标题: 创新工厂android面试题
1.String s=new String("abc");  new了几个对象
2.Overload和Override的区别
3.try{ return} catch{} finally{};  return还是finally先执行。
4.5种运行时异常。
6.abstract和interface的区别
7.Hashtable和Hashset

android题:

1.Handle的关系looper,请说明?
2.内存溢出的三种原因
3.AsnTask 异步任务

算法题:

二叉树遍历

脚本或宏获得系统版本。


感谢黑马一期学员的精心提供的面试题,希望对黑马二期学员找工作有所帮助~
作者: 梁锡伟    时间: 2011-8-22 18:47
有时候面试题不一定非要答对,因为有些东西你不一定会记住。
1.String s=new String("abc");  new了几个对象
    new了两个对象,我之前看过String的源代码,String里面的字段还有一个对象。

2.Overload和Override的区别
前者重载,可以写多个同名的参数类型不同,但返回值必须相同的方法,也可以写多个同名的参数个数不同,有无返回值亦可的方法。
后者重写,指的是子类覆盖父类的方法,一般多态就是这么用的,子类指向父类引用,在调用方法的时候用父类引用调用,实际调用的是子类的方法。
需要注意的是,重写需要条件,父类的方法不能是final的,finaly修饰的方法不能被重写。

3.try{ return} catch{} finally{};  return还是finally先执行。
这个还真不知道,平时写项目的时候很少用这种用法,如果给我测试的话,我会打一个断点,单步跟踪来看看实际的运行顺序,如果因为需求必须知道原理所在,我会去翻一下《深入了解虚拟机》这本书,然后得到确切答案,以目前我的水平来看,应该是return先执行。

4.5种运行时异常。
NullPiontException
ClassCastException
BoundArrayException
IOException
FileNotFoundException
(不知道有没有记错= =)

6.abstract和interface的区别
简单点说,后者是前者的一个子集。
abstract可以修饰抽象方法,而一个类只要有一个抽象方法,就必须用abstract定义该类,即抽象类。
用interface修饰的类,里面的方法都是抽象方法,因此在定义接口的时候,可以直接不加那些修饰,系统会默认的添上去。接口里面的字段都是公有常量,即public static final修饰的字段。

7.Hashtable和Hashset
两者都是用了哈希值把数据存放在集合里。
前者可以添加多个相同的对象,后者只能添加的对象不能相同,也就是equals不能为true。
需要注意的是把对象存放进这两个集合里面后,不要更改其equals判定需要的字段,否则在get的时候取不出来,因为哈希值改变,get的位置也会改变,但存放位置没变,不对应,所以可能会造成内存泄露。

后面的安桌,培训完再回答
作者: 匿名    时间: 2011-8-23 08:02
梁锡伟同学好样的~
作者: lvwenwen88    时间: 2012-1-4 21:34

感谢黑马一期学员的精心提供的面试题,希望对黑马二期学员找工作有所帮助~
作者: 谭景宾    时间: 2012-5-6 03:13
我也提前看下。。
作者: 卜小斌    时间: 2012-6-4 12:26
观摩下。。
作者: Taste苦咖啡    时间: 2013-9-30 20:16
梁锡伟 发表于 2011-8-22 18:47
有时候面试题不一定非要答对,因为有些东西你不一定会记住。
1.String s=new String("abc");  new了几个对 ...

感谢前辈的指点!但是第一个问题为什么是new了两个对象呢?本人还是菜鸟,很多细节不是很懂,请前辈详细指点一下!

作者: 梁锡伟    时间: 2013-10-21 22:48
Taste苦咖啡 发表于 2013-9-30 20:16
感谢前辈的指点!但是第一个问题为什么是new了两个对象呢?本人还是菜鸟,很多细节不是很懂,请前辈详细 ...

我的解析有点问题,其实是"abc"是一个对象,new string又是一个对象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2