面試問(wèn)題
Android基礎(chǔ)
- activity之間數(shù)據(jù)傳輸,類(lèi)型如果是類(lèi)實(shí)例,需要實(shí)現(xiàn)序列化,以及序列化的原理
基本數(shù)據(jù)類(lèi)型和復(fù)合類(lèi)型,復(fù)合類(lèi)型中的類(lèi)實(shí)例--對(duì)象需要序列化傳輸,后面引出了序列化的原理(對(duì)象轉(zhuǎn)化成可存儲(chǔ)的或者客傳輸?shù)倪^(guò)程,對(duì)象=>字節(jié)流),兩種方式:java自帶實(shí)現(xiàn)Serializable以及Android的Parcelable(應(yīng)用內(nèi)傳遞高效內(nèi)存)
- 有哪幾種圖片緩存框架?
Fresco,Glide,Volley,簡(jiǎn)單使用過(guò)沒(méi)看過(guò)源碼,很虛
- 使用過(guò)okhttp沒(méi)?okhttp的優(yōu)勢(shì)?
我答:用過(guò),看過(guò)知識(shí)點(diǎn)了,想不起來(lái),答了個(gè)定時(shí)重傳,說(shuō)Xutils網(wǎng)絡(luò)模塊沒(méi)有嗎(簡(jiǎn)歷上寫(xiě)了),回答是有的,尷尬哈。
去看知識(shí)點(diǎn)后:
1.支持SPDY,共享同一個(gè)Socket來(lái)處理同一個(gè)請(qǐng)求
2.如果SPDY不可用,則使用連接池提高效率并減少請(qǐng)求延時(shí)
3.默認(rèn)支持GZIP,提高傳輸效率
4.網(wǎng)絡(luò)請(qǐng)求緩存響應(yīng)的數(shù)據(jù)來(lái)減少重復(fù)的網(wǎng)絡(luò)請(qǐng)求
- 一般軟件開(kāi)發(fā)的流程?
不說(shuō)了
- 一組動(dòng)畫(huà)循環(huán)播放的代碼?
我答:原生動(dòng)畫(huà)基本沒(méi)有使用,說(shuō)一直在進(jìn)行RN開(kāi)發(fā)
后面查了下:
1.使用屬性動(dòng)畫(huà) 代碼如下
List<Animator> animators = new ArrayList<>();
animators.add(new ObjectAnimator...);
...
AnimatorSet btnSexAnimatorSet = new AnimatorSet();
btnSexAnimatorSet.playTogether(animators);
btnSexAnimatorSet.setStartDelay(delay);
btnSexAnimatorSet.start();
- 線程與進(jìn)程的區(qū)別
記得好像是線程是任務(wù)最小調(diào)度單位,看我愣了會(huì),就問(wèn)了下哪個(gè)大,然后順便說(shuō)了下進(jìn)程是有一個(gè)或者多個(gè)線程的構(gòu)成的
- 五種基本布局?有沒(méi)有接觸過(guò)約束布局,說(shuō)一下它的主要作用?
五種布局就不說(shuō)了,約束布局可以拖拽式布局,作用的話(huà)減少嵌套視圖,提高頁(yè)面加載效率
- 有哪些動(dòng)畫(huà)類(lèi)型?
屬性動(dòng)畫(huà),View動(dòng)畫(huà),幀動(dòng)畫(huà)
- handler中的取消消息發(fā)送的?
removeMessage和sendEmptyMessageDelayed
- 舉例一款app的項(xiàng)目結(jié)構(gòu)和遇到的疑難問(wèn)題以及如何解決的?
設(shè)計(jì)模式
- 單例模式有哪幾種以及單例模式的作用?
- 熟悉哪幾種設(shè)計(jì)模式?
- MVP與MVC開(kāi)發(fā)模式的優(yōu)勢(shì)?
項(xiàng)目
- 講了下2015年的兩個(gè)Android項(xiàng)目做了什么東西?
- 簡(jiǎn)歷上寫(xiě)了布局優(yōu)化?
使用merge減少層次和使用ViewStub提高資源利用,講了下ListView優(yōu)化
- 沒(méi)問(wèn)到算法