阿里騰訊-常問的面試題總結

面試伪冰,一個老生常談的話題揍堰,相信新手去面試都會灰常的緊張,怎么辦吶诗轻?緊張的原因基本都是沒有準備好钳宪,所以今天代碼君打算結合以往自己的經歷,給大家總結下Android面試中常問的問題扳炬,希望對你們有幫助吏颖。

Java部分總結

  1. 靜態(tài)內部類、內部類恨樟、匿名內部類區(qū)別

    • 靜態(tài)內部類:使用static修飾的內部類
    • 內部類:就是在某個類的內部又定義了一個類半醉,內部類所嵌入的類稱為外部類
    • 匿名內部類:使用new生成的內部類
  2. String、StringBuffer與StringBuilder的區(qū)別

    • String 類型和 StringBuffer 類型的主要性能區(qū)別其實在于 String 是不可變的對象
    • StringBuffer和StringBuilder底層是 char[]數(shù)組實現(xiàn)的
    • StringBuffer是線程安全的劝术,而StringBuilder是線程不安全的
  3. Java有哪幾種引用

    • 強引用:如果一個對象具有強引用缩多,它就不會被垃圾回收器回收。即使當前內存空間不足养晋,JVM 也不會回收它衬吆,而是拋出 OutOfMemoryError 錯誤,使程序異常終止绳泉。如果想中斷強引用和某個對象之間的關聯(lián)逊抡,可以顯式地將引用賦值為null,這樣一來的話零酪,JVM在合適的時間就會回收該對象
    • 軟引用:在使用軟引用時冒嫡,如果內存的空間足夠,軟引用就能繼續(xù)被使用四苇,而不會被垃圾回收器回收孝凌,只有在內存不足時,軟引用才會被垃圾回收器回收蛔琅。
    • 弱引用:具有弱引用的對象擁有的生命周期更短暫。因為當 JVM 進行垃圾回收,一旦發(fā)現(xiàn)弱引用對象罗售,無論當前內存空間是否充足辜窑,都會將弱引用回收。不過由于垃圾回收器是一個優(yōu)先級較低的線程寨躁,所以并不一定能迅速發(fā)現(xiàn)弱引用對象
    • 虛引用:顧名思義穆碎,就是形同虛設,如果一個對象僅持有虛引用职恳,那么它相當于沒有引用所禀,在任何時候都可能被垃圾回收器回收。
  4. Java回收機制是怎么樣的放钦?
    Java的垃圾回收機制是Java虛擬機提供的能力色徘,用于在空閑時間以不定時的方式動態(tài)回收無任何引用的對象占據(jù)的內存空間。

  5. ArrayList與LinkedList的區(qū)別

    • ArrayList是實現(xiàn)了基于動態(tài)數(shù)組的數(shù)據(jù)結構操禀,LinkedList基于鏈表的數(shù)據(jù)結構褂策。
    • 對于隨機訪問get和set,ArrayList覺得優(yōu)于LinkedList颓屑,因為LinkedList要移動指針斤寂。
    • 對于新增和刪除操作add和remove,LinedList比較占優(yōu)勢揪惦,因為ArrayList要移動數(shù)據(jù)遍搞。

Android 部分總結

  1. Android 線程間通信有哪幾種方式

    • 共享內存(變量);
    • 文件,數(shù)據(jù)庫;
    • Handler;
    • Java 里的 wait()器腋,notify()溪猿,notifyAll()
  2. Activity和Fragment生命周期有哪些?

    • Activity——onCreate->onStart->onResume->onPause->onStop->onDestroy
    • Fragment——onAttach->onCreate->onCreateView->onActivityCreated->onStart->onResume->onPause->onStop->onDestroyView->onDestroy->onDetach
  3. Activity的幾種LaunchMode及使用場景

    • standard 模式:這是默認模式,每次激活Activity時都會創(chuàng)建Activity實例蒂培,并放入任務棧中再愈。使用場景:大多數(shù)Activity。
    • singleTop 模式:如果在任務的棧頂正好存在該Activity的實例护戳,就重用該實例( 會調用實例的 onNewIntent() )翎冲,否則就會創(chuàng)建新的實例并放入棧頂,即使棧中已經存在該Activity的實例媳荒,只要不在棧頂抗悍,都會創(chuàng)建新的實例。使用場景如新聞類或者閱讀類App的內容頁面钳枕。
    • singleTask 模式:如果在棧中已經有該Activity的實例缴渊,就重用該實例(會調用實例的 onNewIntent() )。重用時鱼炒,會讓該實例回到棧頂衔沼,因此在它上面的實例將會被移出棧。如果棧中不存在該實例,將會創(chuàng)建新的實例放入棧中指蚁。使用場景如瀏覽器的主界面菩佑。不管從多少個應用啟動瀏覽器,只會啟動主界面一次凝化,其余情況都會走onNewIntent稍坯,并且會清空主界面上面的其他頁面。
    • singleInstance 模式:一個新棧中創(chuàng)建該Activity的實例搓劫,并讓多個應用共享該棧中的該Activity實例瞧哟。一旦該模式的Activity實例已經存在于某個棧中,任何應用再激活該Activity時都會重用該棧中的實例( 會調用實例的 onNewIntent() )枪向。其效果相當于多個應用共享一個應用勤揩,不管誰激活該 Activity 都會進入同一個應用中。使用場景如鬧鈴提醒遣疯,將鬧鈴提醒與鬧鈴設置分離雄可。singleInstance不要用于中間頁面,如果用于中間頁面缠犀,跳轉會有問題数苫,比如:A -> B (singleInstance) -> C,完全退出后辨液,在此啟動虐急,首先打開的是B。
  4. View的繪制過程
    一個View要顯示在界面上滔迈,需要經歷一個View樹的遍歷過程止吁,這個過程又可以分為三個過程,也就是自定義View中的三要素:大小燎悍,位置敬惦,畫什么,即onMesure()谈山,onLayout(),onDraw()俄删。

  5. Touch事件的傳遞機制

    • dispatchTouchEvent(MotionEventev); //用來分派event
    • onInterceptTouchEvent(MotionEventev);//用來攔截event
    • onTouchEvent(MotionEventev);//用來處理event
  6. ListView卡頓的原因,如何進行性能優(yōu)化奏路?

    • 重用converView: 通過復用converview來減少不必要的view的創(chuàng)建畴椰,另外Infalte操作會把xml文件實例化成相應的View實例,屬于IO操作鸽粉,是耗時操作斜脂。
    • 使用 RecycleView 代替listview: 每個item內容的變動,listview都需要去調用notifyDataSetChanged來更新全部的item触机,太浪費性能了帚戳。RecycleView可以實現(xiàn)當個item的局部刷新玷或,并且引入了增加和刪除的動態(tài)效果,在性能上和定制上都有很大的改善
  7. 如何避免內存泄漏片任?

    • 適配器里的Item復用
    • 廣播注冊后不用及時關閉
    • 長時間持有垃圾對象庐椒,導致回收不了
    • 盡量使用application里的context
  8. 常用的設計模式有幾種?

    • 單例模式
    • 建造者模式
    • 裝飾模式
    • 動態(tài)代理
    • 適配器模式
    • 策略模式
    • 工廠模式
  9. 圖片加載框架有幾種蚂踊,各自的優(yōu)缺點?

  • Glide的優(yōu)點
    • Glide默認bitmap格式是GB565笔宿,內存占用小
    • Glide更易用除了傳遞context犁钟,還可以傳遞activity和fragment
    • Glide存儲的是imageview的大小,就省了重新調整圖片大小的步驟泼橘,加載速度會變快
    • glide是基于Picasso的涝动,進行大量的優(yōu)化改進
  • Fresco
    • 優(yōu)點:圖片漸進式呈現(xiàn) ,通過在Native做處理大大減少OOM
    • 缺點:功能強大但是相比于其他體積過大炬灭,除非需要圖片社交醋粟,不然大材小用,使用比較復雜
  • Picasso 圖片過期采用LRU淘汰算法 glide完勝他

總結

找工作是每個人都會遇到的難題重归,代碼君前幾天出了一篇如何寫簡歷的文章米愿,今天又寫了一篇面試問題總結,相信結合著兩篇文章鼻吮,應該會對職場新人找工作有很大幫助的育苟,最后祝大家找到理想的工作。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末椎木,一起剝皮案震驚了整個濱河市违柏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌香椎,老刑警劉巖漱竖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異畜伐,居然都是意外死亡馍惹,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門烤礁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來讼积,“玉大人,你說我怎么就攤上這事脚仔∏谥冢” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵鲤脏,是天一觀的道長们颜。 經常有香客問我吕朵,道長,這世上最難降的妖魔是什么窥突? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任努溃,我火速辦了婚禮,結果婚禮上阻问,老公的妹妹穿的比我還像新娘梧税。我一直安慰自己,他們只是感情好称近,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布第队。 她就那樣靜靜地躺著,像睡著了一般刨秆。 火紅的嫁衣襯著肌膚如雪凳谦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天衡未,我揣著相機與錄音尸执,去河邊找鬼。 笑死缓醋,一個胖子當著我的面吹牛如失,可吹牛的內容都是我干的。 我是一名探鬼主播送粱,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼岖常,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了葫督?” 一聲冷哼從身側響起竭鞍,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎橄镜,沒想到半個月后偎快,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡洽胶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年晒夹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姊氓。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡丐怯,死狀恐怖,靈堂內的尸體忽然破棺而出翔横,到底是詐尸還是另有隱情读跷,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布禾唁,位于F島的核電站效览,受9級特大地震影響无切,放射性物質發(fā)生泄漏。R本人自食惡果不足惜丐枉,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一哆键、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瘦锹,春花似錦籍嘹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至抽兆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間族淮,已是汗流浹背辫红。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留祝辣,地道東北人贴妻。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像蝙斜,于是被迫代替她去往敵國和親名惩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,499評論 25 707
  • 整理一些常見的Android面試題(針對于2~3年開發(fā)經驗中所遇到的問題) synchronized鎖靜態(tài)方法和非...
    appzy閱讀 2,271評論 4 18
  • 前幾天整理了Java面試題集合,今天再來整理下Android相關的面試題集合.如果你希望能得到最新的消息,可以關注...
    Boyko閱讀 3,621評論 8 135
  • 1. Java基礎部分 基礎部分的順序:基本語法孕荠,類相關的語法娩鹉,內部類的語法,繼承相關的語法稚伍,異常的語法弯予,線程的語...
    子非魚_t_閱讀 31,581評論 18 399
  • 事件回顧:兩個女孩在北京地鐵上作創(chuàng)業(yè)推廣,請乘客掃二維碼个曙,一男子粗暴拒絕后锈嫩,連續(xù)爆粗口辱罵女孩,見對方電話報警垦搬,男...
    學習項閱讀 323評論 0 3