2018-08-31 17:08:32 1724瀏覽
我們大家學(xué)習(xí)Android技術(shù)最終的目的就是想要找到一份高薪的好工作,但是有不少的小伙伴技術(shù)學(xué)的不錯,操作有很好,但是往往在面試的時候就折了,怎么都通過不了面試那一關(guān),面試過不了你有再多的才華也無法施展,所以,如何通過Android面試就是一個大問題。本篇文章扣丁學(xué)堂Android培訓(xùn)小編和大家分享一些Android面試的要點,希望對小伙伴們有所幫助。
Android面試題總結(jié)之Android進(jìn)階:
一、Java技術(shù)
1.1Java基礎(chǔ)
1、對抽象、繼承、多態(tài)的理解
2、泛型的作用及使用場景
3、枚舉的特點及使用場景
4、線程sleep和wait的區(qū)別
5、JAVA反射機制
6、weak/soft/strong引用的區(qū)別
7、Object的hashCode()與equals()的區(qū)別和作用
1.2集合類
1、JAVA常用集合類功能、區(qū)別和性能
2、并發(fā)相關(guān)的集合類
3、部分常用集合類的內(nèi)部實現(xiàn)方式
1.3多線程相關(guān)
1、Thread、Runnable、Callable、Futrue類關(guān)系與區(qū)別
2、JDK中默認(rèn)提供了哪些線程池,有何區(qū)別
3、線程同步有幾種方式,分別闡述在項目中的用法
4、在理解默認(rèn)線程池的前提下,自己實現(xiàn)線程池
1.4字符
1、String的不可變性
2、StringBuilder和StringBuffer的區(qū)別
3、字符集的理解:Unicode、UTF-8、GB2312等
4、正則表達(dá)式相關(guān)問題
1.5注解
1、注解的使用
2、注解的級別及意義
3、如何自定義注解
二、Android技術(shù)
2.1Android基礎(chǔ)
1、四大組件的意義及使用,生命周期回調(diào)及意義
2、AsyncTask、Handler的使用
3、Android系統(tǒng)層次框架結(jié)構(gòu)
4、AsyncTask的實現(xiàn)方式
5、AsyncTask使用的時候應(yīng)該注意什么
6、Android常見的存儲方式
7、Looper、Handler和MessageQueue的關(guān)系
8、Activity的啟動流程(考察對Framwork的熟悉程度)
9、多進(jìn)程開發(fā)的注意事項(Application類區(qū)分進(jìn)程,進(jìn)程間內(nèi)存不可見、進(jìn)程間通訊方式)
2.2Resource相關(guān)
1、9圖片的意義
2、style和theme的作用及用法
3、dpi、sp、px的區(qū)別以及轉(zhuǎn)換關(guān)系
4、raw和assets文件夾的作用,二者有何區(qū)別
5、Android系統(tǒng)如何在多個資源文件夾下查找匹配最合適的資源
2.3虛擬機
1、Java內(nèi)存模型
2、Android虛擬機的特點
3、Dalvik和Art的區(qū)別
4、熟悉垃圾回收的實現(xiàn)機制,了解虛擬機的GC類型
2.4View相關(guān)
1、常用組件的使用:ListView、RecyclerView及Adapter的使用
2、View之間的繼承關(guān)系
3、Invalidate與postInvalidate的區(qū)別
4、自定義View的實現(xiàn)方式(根據(jù)項目經(jīng)驗詢問相關(guān)組件)。
5、onMeasure/onLayout/onDraw的作用
6、Paint、Matrix、Shader等繪制相關(guān)類的方法作用
7、詳細(xì)描述事件分發(fā)機制
2.5動畫
1、Android有哪些動畫的實現(xiàn)方式
2、Interpolator類的意義和常用的Interpolator
3、ViewAnimation與屬性動畫有什么區(qū)別
4、如何自定義ViewAnimation
5、屬性動畫的實現(xiàn)原理
2.6圖片處理
1、一般項目中如何加載大圖
2、圖片壓縮的方式
3、如何不壓縮圖片加載高清圖
4、圖片加載過程中,一般會使用緩存,這個緩存的主要作用是什么
5、談?wù)勛约菏煜さ膱D片加載框架
三、項目經(jīng)驗
3.1開發(fā)工具
1、代碼管理工具:SVN、Git
2、常用的調(diào)試工具:HierarchyViewer、DDMS等
3、CI工具:Lint檢查,FindBugs、Jenkins
4、內(nèi)存分析工具:dumpsys、memoinfo、MAT
3.2項目工程
1、APP更新策略:推送或者拉取?
2、如何統(tǒng)一處理錯誤崩潰
3、如何進(jìn)行用戶行為收集
4、日志管理有哪些要點?(Debug包開放,release包關(guān)閉,錯誤日志反饋)
5、打包方式Ant、Maven、Gradle
6、機型適配情況
3.3開放平臺
1、是否使用過第三方平臺
2、常用開放平臺的熟悉度(微信、QQ、微博、支付寶等常用的支付和分享)
3、是否進(jìn)行過對第三方平臺的統(tǒng)一封裝?
4、是否自己開發(fā)過SDK?
3.4設(shè)計相關(guān)
1、有哪些常用的設(shè)計模式、設(shè)計原則
2、設(shè)計模式在Android源碼中的應(yīng)用
3、設(shè)計模式在項目中的應(yīng)用
4、項目中的分包方式
5、MVC在android中的應(yīng)用,利弊
6、android項目中的常見層次結(jié)構(gòu),包劃分
7、有沒有設(shè)計過項目中的層級結(jié)構(gòu)、包劃分
最好要說的一點是,面試的時候千萬不要照搬的要結(jié)合你自己知識點掌握的情況而定的,只要你會,用自己語言總結(jié)一下才是最好的答案,希望大家能找到理想中的工作。
要了解更多關(guān)于Android開發(fā)方面內(nèi)容的小伙伴,請關(guān)注扣丁學(xué)堂Android培訓(xùn)官網(wǎng)、微信等平臺,扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育平臺為您提供權(quán)威的Android開發(fā)環(huán)境搭建視頻,Android培訓(xùn)后的前景無限,行業(yè)薪資和未來的發(fā)展會越來越好的,通過千鋒扣丁學(xué)堂金牌講師在線錄制的Android開發(fā)教程,讓你快速掌握Android從入門到精通開發(fā)實戰(zhàn)技能。
【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“Android開發(fā)技術(shù)”的相關(guān)資訊>>