Android社招最全面試題

2021-02-13 終端研發部

點擊上方的終端研發部,右上角選擇「設為星標

每日早10點半,技術文章準時送上

公眾號後臺回復「學習」,獲取作者獨家秘制精品資料

往期文章

記五月的一個Android面試經

今日頭條屏幕適配方案落地研究

APK瘦身-是時候給App進行減負了

漫畫:App 防止 Fiddler 抓包小技巧!

淺談final、finally、finalize有什麼不同?

來源:BlueManlove

原文連結:http://www.apkbus.com/blog-985982-80737.html

Activity基礎相關

說下Activity生命周期 ?

Activity A 啟動另一個Activity B 會調用哪些方法?如果B是透明主題的又或則是個DialogActivity呢 ?

說下onSaveInstanceState()方法的作用 ? 何時會被調用?

說下 Activity的四種啟動模式、應用場景 ?

了解哪些Activity常用的標記位Flags?

說下 Activity跟window,view之間的關係?

橫豎屏切換的Activity生命周期變化?

如何啟動其他應用的Activity?

Activity的啟動過程?(重點)

Fragment基礎相關

談一談Fragment的生命周期 ?與Activity生命周期的不同 ?

談談Activity和Fragment的區別?

Fragment中add與replace的區別(Fragment重疊)

getFragmentManager、getSupportFragmentManager 、getChildFragmentManager之間的區別?

FragmentPagerAdapter與FragmentStatePagerAdapter的區別與使用場景

Service基礎相關Broadcast Receiver基礎相關ContentProvider基礎相關數據存儲相關IPC(重點)

Android中進程和線程的關係?區別?

如何開啟多進程 ?應用是否可以開啟N個進程 ?

為何需要IPC?多進程通信可能會出現的問題?

Android中IPC方式、各種方式優缺點,為什麼選擇Binder?

Binder機制的作用和原理?

Binder框架中ServiceManager的作用?

Bundle傳遞對象為什麼需要序列化?Serialzable和Parcelable的區別?

講講AIDL?原理是什麼?如何優化多模塊都使用AIDL的情況?

View相關

講下View的繪製流程?

MotionEvent是什麼?包含幾種事件?什麼條件下會產生?

描述一下View事件傳遞分發機制?

如何解決View的事件衝突 ?舉個開發中遇到的例子 ?

scrollTo()和scollBy()的區別?

Scroller是怎麼實現View的彈性滑動?

invalidate()和postInvalidate()的區別 ?

SurfaceView和View的區別?

自定義View如何考慮機型適配 ?

Handler相關

談談消息機制Handler ? 作用 ?有哪些要素 ?流程是怎樣的 ?

一個線程能否創建多個Handler,Handler跟Looper之間的對應關係 ?

軟引用跟弱引用的區別

Handler 引起的內存洩露原因以及最佳解決方案

為什麼系統不建議在子線程訪問UI

Looper死循環為什麼不會導致應用卡死

使用Handler的postDealy後消息隊列會有什麼變化 ?

可以在子線程直接new一個Handler嗎 ?怎麼做 ?

Message可以如何創建 ?哪種效果更好 ?為什麼 ?

線程(重點)相關

線程池的好處?線程池的幾個參數的理解,四種線程池的使用場景

Android中還了解哪些方便線程切換的類?

講講AsyncTask的原理

IntentService有什麼用 ?

直接在Activity中創建一個thread跟在service中創建一個thread之間的區別

ThreadPoolExecutor的工作策略 ?

Handler、Thread和HandlerThread的差別?

ThreadLocal的原理

多線程是否一定會高效(優缺點)

多線程中,讓你做一個單例,你會怎麼做

除了notify還有什麼方式可以喚醒線程

什麼是ANR ? 什麼情況會出現ANR ?如何避免 ?在不看代碼的情況下如何快速定位出現ANR問題所在 ?

Bitmap相關圖片的三級緩存中,圖片加載到內存中,如果內存快爆了,會發生什麼?怎麼處理?內存中如果加載一張500*500的png高清圖片.應該是佔用多少的內存?Bitmap如何處理大圖,如一張30M的大圖,如何預防OOM內存回收機制與GC算法(各種算法的優缺點以及應用場景);GC原理時機以及GC對象內存洩露和內存溢出的區別 ?AS有什麼工具可以檢測內存洩露性能優化,怎麼保證應用啟動不卡頓? 黑白屏怎麼處理?ListView的adapter是什麼adapter ?LinearLayout、FrameLayout、RelativeLayout性能對比,為什麼?JNI相關如何加載NDK庫 ?如何在JNI中註冊Native函數,有幾種註冊方法 ?你用JNI來實現過什麼功能 ?怎麼實現的 ?(加密處理、影音方面、圖形圖像處理)設計模式相關談談MVC、MVP和MVVM,好在哪裡,不好在哪裡 ?是否能從Android中舉幾個例子說說用到了什麼設計模式 ?實現單例模式有幾種方法 ?懶漢式中雙層鎖的目的是什麼 ?兩次判空的目的又是什麼?用到的一些開源框架,介紹一個看過源碼的,內部實現過程。Fragment如果在Adapter中使用應該如何解耦?Android進階延伸點請例舉Android中常用布局類型,並簡述其用法以及排版效率區別Animation和Animator的用法,概述其原理使用過什麼圖片加載庫 ?Glide的源碼設計哪裡很微妙 ?用過哪些網絡加載庫 ?OkHttp、Retrofit實現原理 ?對於應用更新這塊是如何做的 ?(灰度,強制更新、分區域更新)會用Kotlin、Fultter嗎 ?談談你的理解答篇1、說下Activity生命周期 ?參考解答:在正常情況下,Activity的常用生命周期就只有如下7個onCreate():表示Activity正在被創建,常用來初始化工作,比如調用setContentView加載界面布局資源,初始化Activity所需數據等;onRestart():表示Activity正在重新啟動,一般情況下,當前Acitivty從不可見重新變為可見時,OnRestart就會被調用;onStart():表示Activity正在被啟動,此時Activity可見但不在前臺,還處於後臺,無法與用戶交互;onResume():表示Activity獲得焦點,此時Activity可見且在前臺並開始活動,這是與onStart的區別所在;onPause():表示Activity正在停止,此時可做一些存儲數據、停止動畫等工作,但是不能太耗時,因為這會影響到新Activity的顯示,onPause必須先執行完,新Activity的onResume才會執行;onStop():表示Activity即將停止,可以做一些稍微重量級的回收工作,比如註銷廣播接收器、關閉網絡連接等,同樣不能太耗時;onDestroy():表示Activity即將被銷毀,這是Activity生命周期中的最後一個回調,常做回收工作、資源釋放;延伸:從整個生命周期來看,onCreate和onDestroy是配對的,分別標識著Activity的創建和銷毀,並且只可能有一次調用;從Activity是否可見來說,onStart和onStop是配對的,這兩個方法可能被調用多次;從Activity是否在前臺來說,onResume和onPause是配對的,這兩個方法可能被調用多次;2、談一談Fragment的生命周期?Fragment從創建到銷毀整個生命周期中涉及到的方法依次為:onAttach()→onCreate()→ onCreateView()→onActivityCreated()→onStart()→onResume()→onPause()→onStop()→onDestroyView()→onDestroy()→onDetach(),其中和Activity有不少名稱相同作用相似的方法,而不同的方法有:onAttach():當Fragment和Activity建立關聯時調用;onCreateView():當fragment創建視圖調用,在onCreate之後;onActivityCreated():當與Fragment相關聯的Activity完成onCreate()之後調用;onDestroyView():在Fragment中的布局被移除時調用;onDetach():當Fragment和Activity解除關聯時調用;3、談一談Service的生命周期?onCreate():如果service沒被創建過,調用startService()後會執行onCreate()回調;如果service已處於運行中,調用startService()不會執行onCreate()方法。也就是說,onCreate()只會在第一次創建service時候調用,多次執行startService()不會重複調用onCreate(),此方法適合完成一些初始化工作;onStartComand():服務啟動時調用,此方法適合完成一些數據加載工作,比如會在此處創建一個線程用於下載數據或播放音樂;4、廣播有幾種形式 ? 都有什麼特點 ?普通廣播:開發者自身定義 intent的廣播(最常用),所有的廣播接收器幾乎會在同一時刻接受到此廣播信息,接受的先後順序隨機;有序廣播:發送出去的廣播被廣播接收者按照先後順序接收,同一時刻只會有一個廣播接收器能夠收到這條廣播消息,當這個廣播接收器中的邏輯執行完畢後,廣播才會繼續傳遞,且優先級(priority)高的廣播接收器會先收到廣播消息。有序廣播可以被接收器截斷使得後面的接收器無法收到它;本地廣播:僅在自己的應用內發送接收廣播,也就是只有自己的應用能收到,數據更加安全,效率更高,但只能採用動態註冊的方式;粘性廣播:這種廣播會一直滯留,當有匹配該廣播的接收器被註冊後,該接收器就會收到此條廣播;5、ContentProvider了解多少?ContentProvider作為四大組件之一,其主要負責存儲和共享數據。與文件存儲、SharedPreferences存儲、SQLite資料庫存儲這幾種數據存儲方法不同的是,後者保存下的數據只能被該應用程式使用,而前者可以讓不同應用程式之間進行數據共享,它還可以選擇只對哪一部分數據進行共享,從而保證程序中的隱私數據不會有洩漏風險。說說最近Android的行情最近時不時看到一些風涼話,動不動就說Android涼了,給大家幾個建議哈,首先要耐得住寂寞,不要被外界所幹擾;其次要制定長期系統的學習計劃並持之以恆;最後,注意學習方式,不要休閒式學習,很多人只看書看博客,但是從來不去動手實踐一下,那理解肯定不會太深刻,時間久了就容易忘。

閱讀更多

相信自己,沒有做不到的,只有想不到的

在這裡獲得的不僅僅是技術!

喜歡就給個「在看」 

相關焦點

  • 可能是目前最全的《Android面試題及解析》(379頁)
    趁著這段時間,小夥伴們可以參考這份可能是市面上最全面的安卓面試題解析大全!從基礎到架構進階,包含了騰訊、百度、小米、阿里、樂視、美團、58、獵豹、360、新浪、搜狐等一線網際網路公司面試被問到的題目,涵蓋了初中高級安卓技術點。文章中所列主要為大綱部分,詳細內容可以在文末自行獲取哈!
  • 熬夜整理了一份Android高頻面試題集錦+開源框架實戰PDF
    2、 你寫過的最複雜的view 是怎樣的?都遇到了哪些複雜地方?3、 Android是如何通過Activity進行交互的?……3. Android性能優化(★★★★★)1、 進行Android app性能優化的方向是怎樣的?
  • Android開發必備的「80」個開源庫
    //www.androiddevtools.cn/Android 開源項目分類匯總 —— 史上最全的Android開源項目匯總https://github.com/Trinea/android-open-projectAndroid 資源庫列表 —— 超級棒的安卓資源庫列表http://app.memect.com/doc/android.html
  • 騰訊社招面試流程
    騰訊招聘員工主要分為社會招聘(簡稱「社招」)和校園招聘(簡稱「校招」)兩種渠道,今天我們來了解一下社會招聘。在社招時,騰訊HR人員對於有意向的求職者,會通知對方前來面試。為了安排好面試,騰訊制定了一套面試流程,大致如下:部門秘書(接待應聘者)→初試官(專業初試)→複試官(專業複試)→部門GM(GeneralManager,總經理)面試→通道分會(通道分會面試)→HR面試官(HR資格面試)→EVP/VP(Executive Vice President,執行副總裁)面試→背景調查→HR面試溝通→GM錄用審批→審核並確定是否錄用→
  • 2019 前端秋季社招面試經歷總結(二年多經驗)
    前言本文內容講筆者在 2019 的秋季社招時期,去大廠面試的問題和經驗總結。居安思危,安逸久了,都要試著知道自己目前的市場價,而最好的方法就是去外面面試幾場,受受打擊,知道自己的不足,以後加強。」筆者入坑前端 3 年多了,有 2 年多的前端工作經驗,面試坐標:廣州。本文的面試問題只寫了些開放性的問題,其公司要求保密的試題就不寫出來了。2.
  • 一次Android面試心得及面試題總結
    作者:huison_ma來源:blog.csdn.net/qq_27053103/article/details/79564062從16年畢業至今,就職過兩家公司,大大小小項目做了幾個,非常感謝我的兩位老大,在我的android成長路上給予我很多指導,亦師亦友的關係。
  • Android面試題-終極解決ViewPager.setCurrentItem切換頁面閃瞎我的雙眼
    android面試題-okhttp內核剖析android面試題- Volley源碼剖析
  • 華為回應停止社招 華為員工:這幾天一直在面試新人,新人都是社招的
    但奇怪的是,《每日經濟新聞》記者注意到,華為一位員工今日早間剛在朋友圈更新了兩則「華為中國媒體事務部社招崗位描述」的社招消息,那麼,華為到底有沒有停止社招呢?對此,記者聯繫了華為方面核實並了解情況。此外,一位華為員工還對記者透露:他們這幾天一直在面試新人,新人都是社招的。延伸閱讀華為因何穩了?網友:這跟蘋果秋季新品發布會還有關係?2018年蘋果秋季新品發布會落下帷幕,如果硬要用一個詞來形容,小編的想法是:無感。
  • Android 面試:用廣播 BroadcastReceiver 更新 UI 界面真的好嗎?
    往期內容傳遞:Android 面試:說說 Android 的四種啟動模式Android 面試:如何理解 Activity 的生命周期前言BroadcastReceiver 作為 Android 四大組件之一,應用場景可謂非常之多。所以我相信任何一個有一定 Android 開發經驗的工程師都不會在這個題上栽跟鬥。但,某些細節,或許我們可以注意一下。
  • 空乘社招和校招的區別?
    很多同學都在問小編,空乘的社招和校招有哪些區別?到底是校招好還是社招好?社招和校招區別1、招聘對象不同校招招的是應屆生,最主要關注的是學生的綜合素質和培養潛力(對於碩博要求會更高一些);社招主要招的是往屆的有工作經驗的人群,比較關注的是應聘者所具備的專業技能,與所需求職位的匹配度
  • 常見面試第四題之requestLayout, invalidate和postInvalidate的異同
    今天我們來講講在面試當中最常見的,最常常被問到的第四題,近期由於小編工作比較忙碌,更新的比較緩慢還請大家見諒。我相信大家在面試當中肯定會經常被問題view的重繪的問題,比如說:怎樣重新自定義一個控制項了?
  • 字節面試也考原題,難度堪比FB
    此次招聘不僅面向社招,還包括了校招和實習崗,僅Tik Tok業務線的研發崗就有200+坑位。從之前的多位學員面經來看,字節的面試風格通常都是這樣的👇全職3輪面試,實習2~3輪面試每輪2道算法,難度與FB接近基本都是高頻題,容易碰原題所以,如果想要短期衝刺上岸字節的話,我們應該重點備戰高頻題
  • 面試分享:一年經驗初探阿里巴巴前端社招
    由於面了四輪,所以最開始的面試記憶有點模糊了,細細回想,又感覺記憶猶新。(web前端學習交流群:328058344 禁止閒聊,非喜勿進!)1.電話初探1.說一下你了解CSS盒模型。我就說了一下IE的怪異盒模型和標註瀏覽器的盒模型,然後可以通過box-sizing屬性控制兩種盒模型的變換。2.說一下box-sizing的應用場景。
  • Android統一風格 —— 主題
    123個微信小程序源碼分享(附下載)[乾貨]2017已來,最全面試總結——這些Android面試題你一定需要原文連結:http://frodoking.github.io/2015/07/01/android-theme/?
  • [每日一題]面試官問:for in和for of 的區別和原理?
    關注「松寶寫代碼」,精選好文,每日一題時間永遠是自己的每分每秒也都是為自己的將來鋪墊和增值作者:saucxs
  • 從一道面試題談談一線大廠碼農應該具備的基本能力
    其實這個題目是就是 leetcode 上原題稍加變化得到,做過的肯定覺得 leetcode 其他題目來說相對比較簡單。但沒做過也沒關係,如果在面試官的提示下能夠最終把這道題目解出來,在我看來也 OK 的,甚至有可能比刷過題記住解題答案的更好(當然刷過題目本身的肯定會圍繞這個題目穿插其他小問題的)。
  • 一道面試題,看一線碼農應該具備的基本素質
    面試官出一道題目,候選人 A 可能曾經做過或見過, 所以比較輕鬆地回答出這個問題,而候選人 B 沒有做過,雖然不能給出讓面試官滿意的答案,但 B 提供了一些解題的思路。雖然最終並沒有答出這道題目, 但並不能說 B 的能力就比 A 差。額, 發現編不下去了,直接上本文 title 裡所指的題目吧, 這道題目是我經常出的一道面試題。
  • 700個面試題(MBA最全的面試訓練)
    也有的院校乾脆讓你從桌子上的一堆紙 條中抽題。抽的紙條中有三道題,任選兩道回答,你可以選擇迴避你最不熟悉的問題。如果第一次抽的紙條  請集中精力於學習及思維的鍛鍊。考上後你會發現,大家準備考試時都有些nervous,實際上,北大、清華等學校的招生還是可以信賴的。  至於暗箱操作,我認為不用去考慮。只要你成績好,素質高,管他多暗箱也不能暗了你。
  • 2020年最全面試題合集,趕緊看看你能答出多少
    2020年疫情影響,金三銀四延後的許多,但也讓很多人利用這個時間差狂刷面試題找到了一份不錯的工作你是否還在備戰金九銀十?金三銀四錯過了,金九銀十可不能再錯過了!不論是校招還是社招都避免不了各種面試、筆試,如何去準備這些東西就顯得格外重要。不論是筆試還是面試都是有章可循的,我這個「有章可循」說的意思只是說應對技術面試是可以提前準備。
  • 從一道面試題談談一線碼農應該具備的基本素質
    能夠到達這一個步驟的人已經較少了, 如果你有較全測試用例和邊界條件的判斷, 再加上後面的結束條件能夠正確, 基本上這道題目就算滿意了.哪些邊界條件可以考察呢?答: 還真沒有理由, double 也無所謂, 可能僅僅是因為 leetcode 上原題計算的數是 int 吧.問: 我能正確答對這道題目就一定能通過這次面試嗎?