国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

安卓高級面試題

2019-11-09 17:25:08
字體:
供稿:網(wǎng)友
x1 說說RecyclerView和ListView的異同點(diǎn),RecyclerView優(yōu)越在什么地方?·ListView、GridView也是對ITEM的復(fù)用,但因?yàn)椴季址绞讲煌瑥亩纬闪瞬煌目丶弧ざ鳵ecyclerView的出現(xiàn),實(shí)現(xiàn)了對相同的復(fù)用數(shù)據(jù)以多種不同布局方式來呈現(xiàn)(布局管理器);·即RecyclerView只專注于數(shù)據(jù)復(fù)用本身,而將以何種布局展示,完全交由布局管理器來做;·自帶線性布局、宮格、流式布局管理器,不但完美替代ListView/GridView/流式布局,還支持橫向、縱向、逆序等;x2 如果沒有協(xié)調(diào)者布局,你如何實(shí)現(xiàn)【類似協(xié)調(diào)者布局+CollapsingToolbarLayout的效果】?·從靜態(tài)布局、事件派發(fā)、視圖刷新(屬性動畫)角度回答;x3 如何實(shí)現(xiàn)一個類似SnackBar的效果?

·靜態(tài)布局、事件派發(fā)、視圖刷新(屬性動畫)

x4 你熟練掌握的導(dǎo)航方式都有哪些?·兩種不同方式的側(cè)滑菜單(SlidingMenu、DrawerLayout、NavigationView);·ViewPager + Fragment + 標(biāo)簽切換;·標(biāo)簽切換可以是RadioGroup/RadioButton,可以是TabLayout,可以是HorizontalScrollView嵌套線性布局,等等;·ActionBar/Toolbar搭配選項(xiàng)菜單(OptionsMenu);·其它;x7 說說你都用過哪些第三方框架?為什么要使用第三方框架?·框架的優(yōu)勢包括:強(qiáng)大、便捷、健壯;·強(qiáng)大即框架有豐富的拓展功能;·便捷即調(diào)用簡單;·健壯指考慮周全、例如線程管理、緩存管理、異常處理等等;x8 網(wǎng)絡(luò)通信框架的好處是什么?·便捷:調(diào)用起來比HttpUrlConnectiony要容易;·強(qiáng)大:get、post、上傳、下載、通知回調(diào)等等;·健壯:線程管理、緩存管理、異常處理等;xA 圖片加載框架究竟選用哪一款,你是如何取舍的?·綜合考慮效果和易用性;·例如要求使用動畫效果,優(yōu)選Glide或Fresco;·側(cè)重效率,則Glide優(yōu)于Picasso,側(cè)重效果,則PiCSSo略優(yōu);·側(cè)重易用性,可能就不會選擇Fresco;·等等;xB 使用圖片加載框架的好處有哪些?·便捷:往往一兩行代碼就實(shí)現(xiàn)了圖片的加載;·強(qiáng)大:豐富的配置如占位圖、風(fēng)格化顯示、加工裁剪、動畫效果等;·健壯:線程管理、緩存管理、異常處理等;xC 事件總線的好處是什么?·進(jìn)程內(nèi)的無障礙輕松通信:跨線程、跨組件;·事件類型可以是任意Object;·支持延時處理;xD 像黃油刀這類注解式框架,在混淆時要注意什么?·保留注解類;·保留注解類作用對象的名稱,否則運(yùn)行時找不到;xE ORM數(shù)據(jù)庫框架的好處是什么?·直接將實(shí)體類映射為數(shù)據(jù)表;·直接以對象的方式操作增刪改查,無需寫SQL語句;xF 你有沒有接觸過藍(lán)牙開發(fā)?其連接和通信的原理是什么?跟Socket有何異同?·配置權(quán)限;·搜索設(shè)備:【找到設(shè)備】和【搜索結(jié)束】都是以系統(tǒng)廣播的形式接收和處理的;·準(zhǔn)備連接:找到設(shè)備時,廣播Intent會攜帶有設(shè)備的信息,包括其地址和名稱等,記錄下來;·連接設(shè)備:又稱配對,通過遠(yuǎn)程設(shè)備的地址(類似ip),和約定的UUID(類似端口)進(jìn)行連接;·連接設(shè)備使用的API類為BluetoothSocket/BluetoothServerSocket;·互傳信息:一旦與遠(yuǎn)程BluetoothSocket連接建立后,就能夠從中獲取輸入輸出流,實(shí)現(xiàn)通信;------------------------------·相同點(diǎn):基于IP和端口(僅僅只是類比),基于長連接,從連接中獲取流實(shí)現(xiàn)數(shù)據(jù)傳遞;·不同點(diǎn):設(shè)備不同,協(xié)議不同(Socket基于TCP/IP),也沒有父子類關(guān)系,編碼思路相似而已;xH 你都集成過哪些第三方的服務(wù)?·極光推送、ShareSDK分享、支付寶、百度地圖、Bmob后端云;xI 對稱加密和非對稱加密的原理分別是什么?·對稱加密:加密和解密的秘鑰相同;·非對稱加密:加密和解密的秘鑰不同,公鑰加密,私鑰解密;·非對稱的原理是:兩個大素數(shù)的乘積很難被因式分解;xJ 你在集成百度地圖的時候遇到過哪些坑?·在配置AppKey時,要明白AppKey是由包名和簽名共同決定的;·因此該AppKey當(dāng)且僅當(dāng)【工程的包名和簽名文件】都與申請時所使用的一致時,才是有效的;xK 混淆的目的是什么?·使你的代碼難以被反編譯;xL 為什么要給APK簽名?·簽名和包名功能決定應(yīng)用的唯一身份;·在應(yīng)用升級時,只有簽名和包名都相同時,高版本才能覆蓋低版本,否則會報簽名沖突;·簽名文件相當(dāng)于開發(fā)者的身份證(因?yàn)橛形ㄒ坏南⒄?指紋),因此要妥善保管;xM 你有在github上發(fā)布過代碼嗎?該代碼有何亮點(diǎn)?·開放式問題,預(yù)則立,請有所準(zhǔn)備;xN WebView中java和JS如何實(shí)現(xiàn)互調(diào)?·Java調(diào)JS:通過webView.loadUrl("Javascript:methodName()")的方式,前提是承載這一JS方法的頁面已經(jīng)加載好;·JS調(diào)Java:通過window.javaObject.showToast()方式調(diào)用;·javaObject為Java代碼中聲明的實(shí)例;·該實(shí)例有公共的showToast()方法可供調(diào)用;·showToast()方法有@JavaScriptInterface注解;xO NDK開發(fā)中JAVA和C是如何實(shí)現(xiàn)互調(diào)的?其原理是什么?·Java調(diào)C:聲明native方法,在C代碼文件中對native方法做具體實(shí)現(xiàn);·C代碼中方法的名稱須遵從Java_包名_類名_方法名的規(guī)范;·C回調(diào)Java:通過JNIEnv指針變量,以反射的方式獲取到要調(diào)用的Java類名和方法名,動態(tài)該類的實(shí)例并調(diào)用方法;·如果要回調(diào)的Java類正好是C方法的主調(diào)類,則無須創(chuàng)建Java類實(shí)例,直接以jinnstance參數(shù)作為回調(diào)實(shí)例即可;xP 一個帶有so庫的APK容易反編譯并調(diào)用so中的方法嗎?·理論上是可以的,因?yàn)镴ava代碼中的JNI類和方法聲明是不能混淆的;·那么我們可以通過new這個JNI類的對象來調(diào)用其中的方法;xQ Retrofit的好處是什么?·將所有網(wǎng)絡(luò)通信接口統(tǒng)一管理在一起,分層清晰;·以注解的方式區(qū)分GET,POST,上傳和下載;·以注解的方式實(shí)現(xiàn)地址和參數(shù)的注入,代碼的可讀性和可維護(hù)性都得以提升;·配合ConverterFactory可以將返回結(jié)果輕松轉(zhuǎn)化為實(shí)體類;·配合RxJavaCallAdapterFactory可以直接返回Observalbe對象,引爆響應(yīng)式編程;xR 你有用過RxJava嗎?響應(yīng)式編程有何好處?·鏈?zhǔn)骄幊蹋a簡潔易讀;·順序邏輯:在一條響應(yīng)鏈中,執(zhí)行順序是完全從上到下的,比之無邊無際的回調(diào)(callback hell),要更好讀好理解;·豐富的操作符:可以將原始事件進(jìn)行近乎任意的轉(zhuǎn)化;·便捷的異常處理:有訂閱者的onError方法統(tǒng)一處理所有異常,代碼得到極大簡化;·便捷的線程調(diào)度:使用線程調(diào)度器可以方便地在線程間來回切換,避免了無盡的handler傳遞,代碼得到極大簡化;·調(diào)用鏈的注銷:可以在任意時間終止一整條正在執(zhí)行中的響應(yīng)鏈;xS 說說你對MVP設(shè)計(jì)模式的理解;它與MVC模式有何異同?·數(shù)據(jù)Model,視圖View,調(diào)度器PResenter;·傳統(tǒng)的MVC模式中,Activity職責(zé)重合,即同時扮演V和C的角色,代碼很混亂、耦合、難以管理;·MVP模式是將M和V徹底分層,Activity專注扮演View的角色,而將調(diào)度整合的工作交由Presenter;·Presenter在執(zhí)行調(diào)度整合之前,須預(yù)先獲取M和V的實(shí)例;·Presenter的創(chuàng)建和初始化工作仍由Activity來做;------------------------------·如果實(shí)際界面存在于Fragment中,則Fragment充當(dāng)View;

·此時Activity負(fù)責(zé)裝配Fragment和初始化Presenter;


上一篇:Yii redirect方法

下一篇:APP更新

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 怀仁县| 沅江市| 平安县| 汪清县| 吴旗县| 五大连池市| 河津市| 濉溪县| 东乌珠穆沁旗| 玉山县| 时尚| 金门县| 佛山市| 黄大仙区| 健康| 西城区| 赣榆县| 鄱阳县| 巴彦淖尔市| 郓城县| 大田县| 锡林浩特市| 唐海县| 香港 | 广河县| 上栗县| 志丹县| 永顺县| 肇源县| 福泉市| 扬中市| 仲巴县| 北宁市| 宣城市| 洛南县| 红桥区| 安龙县| 阳江市| 同德县| 福州市| 定安县|