腾讯面试题
1.int a = 1;
int result = a+++3<<2;
2.int a = 2;
int result = (a++ > 2)?(++a):(a+=3);
3.int a = 1234567;
int b = 0x06;
int result = a&b;
4.Integer a = 34556;
Integer b = 34556;
boolean result = a==b;
5.String func(string s ){
return s.length() > 0 ? func(s.subString(1))+ s.charAt(0):"";
}
String result = func("Tencent");
6.byte result = (byte) oxffeffefe;
7.int result = [(oxfe2baf&oxf)|oxff] >> 2/(4<<1);
8.判断两个String的交集
比如 A = "Marginle",B = Valaienie", 交集为aie,写个算法。
9.什么是状态机?项目中什么时候用到状态机,举例说明。
10.写出两种单例模式
Android基础
1.Activity和BroadCast Receiver的生命周期
2.写出几种service和Activity的交互方式
3.UI线程和非UI线程的交互方式,写出几种各自的耗时。
4.requestLayout, invalidate和postInvalidate的异同
5.写出三种常用layout布局并进行解释
6.http怎么加入超时和代理
7.view的绘制过程,讲讲draw/onDraw和drawChild这个可以口述。
8.以下是Android sdk的英文文档请细读。
9.100盏灯,全部关闭,第一人全部打开(亮),第二个人隔一个按开关,第三个人隔2个按开关,以此类推,第100人路过时有几盏灯亮着?(写出结果就行)