昨天面试了一家200人规模的IT公司,去面试的岗位是安卓开发实习生,问得问题很基础
- java的三种特性
- 封装,继承,多态
- java有几种基本数据类型
- 8种,int,double,float,boolean,char,short,byte,long
- 接口和抽象类的的区别
- 不同:
1.抽象类可以提供成员方法的实现细节,接口只能存在public abstract方法
2.抽象类的成员变量可以是各种类型,接口成员变量必须用public static final
3.抽象类中可以有静态代码块和静态方法,接口中不能有
4.一个类只能继承一个抽象类,却可以实现多个接口
相同:
1.不能被实例化
2.抽象方法都必须被子类实现
场景:
接口是对动作的抽象,抽象类是对事物本质的抽象
- 不同:
- 安卓四大组件
- activity,service,contentprovider,broadcastReceiver
- fragment的懒加载
- 安卓四种启动模式,各自的特点以及应用场景
- standard
- singleTop
- singleTask
- singleInstance
- 有36匹马,6个赛道,没有计时器,要选出前三名,要经过几轮?
- 解答:先比六次,选出每轮比赛的前三名,比如是A1,A2,A3,B1,B2,B3.......F3
- 再让每一轮的第一名比一场,选出前三名,比如是A1,B1,C1,因为要选前三名,所以D1,E1,F1就没有机会了,相应的,D,E,F组的也全部淘汰,而且因为C1是第三名,所以C2,C3也被淘汰,又因为A1是第一名,所以A1已经提前夺冠了,就只需要考虑第二三名就行,所以剩下的就是
- A2,A3,B1,B2,B3,C1这六匹马再比一次,选出前两名
- 综上:一共需要比赛6+1+1=8轮