騰訊面試題
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.判斷兩個(gè)String的交集
比如 A = "Marginle",B = Valaienie", 交集為aie,寫個(gè)算法。
9.什么是狀態(tài)機(jī)?項(xiàng)目中什么時(shí)候用到狀態(tài)機(jī),舉例說明。
10.寫出兩種單例模式
Android基礎(chǔ)
1.Activity和BroadCast Receiver的生命周期
2.寫出幾種service和Activity的交互方式
3.UI線程和非UI線程的交互方式,寫出幾種各自的耗時(shí)。
4.requestLayout, invalidate和postInvalidate的異同
5.寫出三種常用layout布局并進(jìn)行解釋
6.http怎么加入超時(shí)和代理
7.view的繪制過程,講講draw/onDraw和drawChild這個(gè)可以口述。
8.以下是Android sdk的英文文檔請(qǐng)細(xì)讀。
9.100盞燈,全部關(guān)閉,第一人全部打開(亮),第二個(gè)人隔一個(gè)按開關(guān),第三個(gè)人隔2個(gè)按開關(guān),以此類推,第100人路過時(shí)有幾盞燈亮著?(寫出結(jié)果就行)