无码人妻一区二区三区免费不卡_日韩AV无码综合久久五月_国产成人aⅴ片在线观看_欧美成人片高清在线观看

蜜蜂職場(chǎng)文庫(kù) > 面試技巧 >

android面試題

時(shí)間: 小龍 面試技巧

  android面試者如何才能在面試中又出色的表現(xiàn)呢?面試前做好準(zhǔn)備很有必要,那么你了解相關(guān)面試題目了嗎?以下是小編幫你們整理的android面試題大全,一起來(lái)學(xué)習(xí)啦。

  android面試題大全篇一

  1. Android dvm的進(jìn)程和Linux的進(jìn)程, 應(yīng)用程序的進(jìn)程是否為同一個(gè)概念

  DVM 執(zhí)行時(shí),在linux看來(lái)就是一應(yīng)用程序進(jìn)程,所以說(shuō)是同一概念

  2. sim卡的EF 文件有何作用

  sim卡的文件系統(tǒng)有自己規(guī)范,主要是為了和手機(jī)通訊,sim本 身可以有自己的操作系統(tǒng),EF就是作存儲(chǔ)并和手機(jī)通訊用的

  3.嵌入式操作系統(tǒng)內(nèi)存管理有哪幾種, 各有何特性

  頁(yè)式,段式,段頁(yè),用到了MMU,虛擬空間等技術(shù)

  4. 什么是嵌入式實(shí)時(shí)操作系統(tǒng), Android 操作系統(tǒng)屬于實(shí)時(shí)操作系統(tǒng)嗎?

  分硬實(shí)時(shí)和軟實(shí)時(shí),android屬于linux內(nèi)核,linux在用戶(hù)空間可搶占,內(nèi)核空間在2.4以后可局部搶占,嚴(yán)格來(lái)講 Android屬于軟實(shí)時(shí)系統(tǒng)

  5、 Android dvm的進(jìn)程和Linux的進(jìn)程, 應(yīng)用程序的進(jìn)程是否為同一個(gè)概念

  DVM指dalivk的虛擬機(jī)。每一個(gè)Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例。而每一個(gè)DVM都是在Linux 中的一個(gè)進(jìn)程,所以說(shuō)可以認(rèn)為是同一個(gè)概念。

  6、sim卡的EF 文件有何作用

  sim卡的文件系統(tǒng)有自己規(guī)范,主要是為了和手機(jī)通訊,sim本 身可以有自己的操作系統(tǒng),EF就是作存儲(chǔ)并和手機(jī)通訊用的

  7、嵌入式操作系統(tǒng)內(nèi)存管理有哪幾種, 各有何特性

  頁(yè)式,段式,段頁(yè),用到了MMU,虛擬空間等技術(shù)

  8、 什么是嵌入式實(shí)時(shí)操作系統(tǒng), Android 操作系統(tǒng)屬于實(shí)時(shí)操作系統(tǒng)嗎?

  嵌入式實(shí)時(shí)操作系統(tǒng)是指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時(shí),能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時(shí)間之內(nèi)來(lái)控制生產(chǎn)過(guò)程或?qū)μ幚硐到y(tǒng)作出快速響應(yīng),并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致運(yùn)行的嵌入式操作系統(tǒng)。主要用于工業(yè)控制、軍事設(shè)備、航空航天等領(lǐng)域?qū)ο到y(tǒng)的響應(yīng)時(shí)間有苛刻的要求,這就需要使用實(shí)時(shí)系統(tǒng)。又可分為軟實(shí)時(shí)和硬實(shí)時(shí)兩種,而android是基于linux內(nèi)核的,因此屬于軟實(shí)時(shí)。

  9、一條最長(zhǎng)的短信息約占多少byte?

  中文70(包括標(biāo)點(diǎn)),英文160,160個(gè)字節(jié)

  10、 android中的動(dòng)畫(huà)有哪幾類(lèi),它們的特點(diǎn)和區(qū)別是什么?

  兩種,一種是Tween動(dòng)畫(huà)、還有一種是Frame動(dòng)畫(huà)。Tween動(dòng)畫(huà),這種實(shí)現(xiàn)方式可以使視圖組件移動(dòng)、放大、縮小以及產(chǎn)生透明度的變化;另一種Frame動(dòng)畫(huà),傳統(tǒng)的動(dòng)畫(huà)方法,通過(guò)順序的播放排列好的圖片來(lái)實(shí)現(xiàn),類(lèi)似電影。

  11、handler機(jī)制的原理

  andriod提供了 Handler 和 Looper 來(lái)滿(mǎn)足線程間的通信。Handler 先進(jìn)先出原則。Looper類(lèi)用來(lái)管理特定線程內(nèi)對(duì)象之間的消息交換(Message Exchange)。

  1)Looper: 一個(gè)線程可以產(chǎn)生一個(gè)Looper對(duì)象,由它來(lái)管理此線程里的Message Queue(消息隊(duì)列)。

  2)Handler: 你可以構(gòu)造Handler對(duì)象來(lái)與Looper溝通,以便push新消息到Message Queue里;或者接收Looper從Message Queue取出)所送來(lái)的消息。

  3) Message Queue(消息隊(duì)列):用來(lái)存放線程放入的消息。

  4)線程:UI thread 通常就是main thread,而Android啟動(dòng)程序時(shí)會(huì)替它建立一個(gè)Message Queue。

  android面試題大全篇二

  1、Android中五種數(shù)據(jù)存儲(chǔ)方式分別是什么?他們的特點(diǎn)?

  Android提供了五種存取數(shù)據(jù)的方式

  1)SharedPreference,存放較少的五種類(lèi)型的數(shù)據(jù),只能在同一個(gè)包內(nèi)使用,生成XML的格式存放在設(shè)備中;

  2)SQLite數(shù)據(jù)庫(kù),存放各種數(shù)據(jù),是一個(gè)輕量級(jí)的嵌入式數(shù)據(jù)庫(kù);

  3)File文件,通過(guò)讀取寫(xiě)入方式生成文件存放數(shù)據(jù);

  4)ContentProvider,主要用于讓其他應(yīng)用程序使用保存的數(shù)據(jù);

  5)通過(guò)網(wǎng)絡(luò)獲取數(shù)據(jù)和寫(xiě)入數(shù)據(jù)到網(wǎng)絡(luò)存儲(chǔ)空間。

  2、說(shuō)說(shuō) android 中 mvc 的具體體現(xiàn)

  mvc是model,view,controller的縮寫(xiě),mvc包含三個(gè)部分:

  模型(model)對(duì)象:是應(yīng)用程序的主體部分,所有的業(yè)務(wù)邏輯都應(yīng)該寫(xiě)在該層。 視圖(view)對(duì)象:是應(yīng)用程序中負(fù)責(zé)生成用戶(hù)界面的部分。也是在整個(gè)mvc架構(gòu)中用戶(hù)唯一可以看到的一層,接收用戶(hù)的輸入,顯示處理結(jié)果。

  控制器(control)對(duì)象:是根據(jù)用戶(hù)的輸入,控制用戶(hù)界面數(shù)據(jù)顯示及更新model對(duì)象狀態(tài)的部分,控制器更重要的一種導(dǎo)航功能,響應(yīng)用戶(hù)出發(fā)的相關(guān)事件,交給m層處理。

  android鼓勵(lì)弱耦合和組件的重用,在android中mvc的具體體現(xiàn)如下:

  1)視圖(view):一般采用xml文件進(jìn)行界面的描述,使用的時(shí)候可以非常方便的引入。

  2)控制層(controller):android的控制層的重任通常落在了眾多的acitvity的肩上,這句話也就暗含了不要在activity中寫(xiě)過(guò)多的代碼,要通過(guò)activity交割model業(yè)務(wù)邏輯層處理,這樣做的另外一個(gè)原因是android中的activity的響應(yīng)時(shí)間是5s,如果耗時(shí)的操作放在這里,程序就很容易被回收掉。

  3)模型層(model):對(duì)數(shù)據(jù)庫(kù)的操作、對(duì)網(wǎng)絡(luò)等的操作都應(yīng)該在model里面處理,當(dāng)然對(duì)業(yè)務(wù)計(jì)算等操作也是必須放在的該層的。

  3、簡(jiǎn)述SharedPreferences存儲(chǔ)方式以及SharedPreferences與SQLite數(shù)據(jù)庫(kù)的區(qū)別。

  SharedPreferences也是一種輕型的數(shù)據(jù)存儲(chǔ)方式,它的本質(zhì)是基于XML文件存儲(chǔ)key-value鍵值對(duì)數(shù)據(jù),通常用來(lái)存儲(chǔ)一些簡(jiǎn)單的配置信息。其存儲(chǔ)位置在/data/data/<包名>/shared_prefs目錄下。SharedPreferences對(duì)象本身只能讀取數(shù)據(jù)而不支持寫(xiě)入數(shù)據(jù),存儲(chǔ)修改是通過(guò)Editor對(duì)象實(shí)現(xiàn)。SharedPreferences對(duì)象與SQLite數(shù)據(jù)庫(kù)相比,免去了創(chuàng)建數(shù)據(jù)庫(kù),創(chuàng)建表,寫(xiě)SQL語(yǔ)句等諸多操作,相對(duì)而言更加方便,簡(jiǎn)潔。但是SharedPreferences也有其自身缺陷,比如其職能存儲(chǔ)boolean,int,float,long和String五種簡(jiǎn)單的數(shù)據(jù)類(lèi)型,比如其無(wú)法進(jìn)行條件查詢(xún)等。所以不論SharedPreferences的數(shù)據(jù)存儲(chǔ)操作是如何簡(jiǎn)單,它也只能是存儲(chǔ)方式的一種補(bǔ)充,而無(wú)法完全替代如SQLite數(shù)據(jù)庫(kù)這樣的其他數(shù)據(jù)存儲(chǔ)方式。

  4、描述handler 機(jī)制的原理

  andriod提供了 Handler 和 Looper 來(lái)滿(mǎn)足線程間的通信。

  Handler 先進(jìn)先出原則。Looper類(lèi)用來(lái)管理特定線程內(nèi)對(duì)象之間的消息交換(Message Exchange)。

  1)Looper: 一個(gè)線程可以產(chǎn)生一個(gè)Looper對(duì)象,由它來(lái)管理此線程里的Message Queue(消息隊(duì)列)。

  2)Handler: 你可以構(gòu)造Handler對(duì)象來(lái)與Looper溝通,以便push新消息到Message Queue里;或者接收Looper從Message Queue取出)所送來(lái)的消息。

  3)Message Queue(消息隊(duì)列):用來(lái)存放線程放入的消息。

  4)線程:UI thread 通常就是main thread,而Android啟動(dòng)程序時(shí)會(huì)替它建立一個(gè)Message Queue。

  android面試題大全篇三

  1、顯式intent和隱式intent的區(qū)別是什么(Android)

  Intent定義:Intent是一種在不同組件之間傳遞的請(qǐng)求消息,是應(yīng)用程序發(fā)出的請(qǐng)求和意圖。作為一個(gè)完整的消息傳遞機(jī)制,Intent不僅需要發(fā)送端,還需要接收端。

  顯式Intent定義:對(duì)于明確指出了目標(biāo)組件名稱(chēng)的Intent,我們稱(chēng)之為顯式Intent; 隱式Intent定義:對(duì)于沒(méi)有明確指出目標(biāo)組件名稱(chēng)的Intent,則稱(chēng)之為隱式Intent。 說(shuō)明:Android系統(tǒng)使用IntentFilter 來(lái)尋找與隱式Intent相關(guān)的對(duì)象。

  2、如何優(yōu)化ListView

  1)如果自定義適配器,那么在getView方法中要考慮方法傳進(jìn)來(lái)的參數(shù)contentView是否為null,如果為null就創(chuàng)建contentView并返回,如果不為null則直接使用。在這個(gè)方法中盡可能少創(chuàng)建view;

  2)給contentView設(shè)置tag(setTag()),傳入一個(gè)viewHolder對(duì)象,用于緩存要顯示的數(shù)據(jù),可以達(dá)到圖像數(shù)據(jù)異步加載的效果;

  3)如果listview需要顯示的item很多,就要考慮分頁(yè)加載。比如一共要顯示100條或者更多的時(shí)候,我們可以考慮先加載20條,等用戶(hù)拉到列表底部的時(shí)候再去加載接下來(lái)的20條。

  3、簡(jiǎn)述通過(guò)contentResolver獲取ContentProvider內(nèi)容的基本步驟

  1)得到ContentResolver類(lèi)對(duì)象:ContentResolver cr = getContentResolver();

  2)定義要查詢(xún)的字段String數(shù)組;

  3)使用cr.query();返回一個(gè)Cursor對(duì)象;

  4)使用while循環(huán)得到Cursor里面的內(nèi)容。

  4、描述4 種 activity 的啟動(dòng)模式

  1)standard :系統(tǒng)的默認(rèn)模式,一次跳轉(zhuǎn)即會(huì)生成一個(gè)新的實(shí)例。假設(shè)有一個(gè)activity命名為MainActivity,執(zhí)行語(yǔ)句:

  startActivity(new Intent(MainActivity.this, MainActivity.class))后,MainActivity將跳轉(zhuǎn)到另外一個(gè)MainActivity,也就是現(xiàn)在的Task棧里面有MainActivity的兩個(gè)實(shí)例。按返回鍵后你會(huì)發(fā)現(xiàn)仍然是在MainActivity(第一個(gè))里面。

  2)singleTop:singleTop 跟standard 模式比較類(lèi)似。如果已經(jīng)有一個(gè)實(shí)例位于Activity棧的頂部時(shí),就不產(chǎn)生新的實(shí)例,而只是調(diào)用Activity中的newInstance()方法。如果不位于棧頂,會(huì)產(chǎn)生一個(gè)新的實(shí)例。例:當(dāng)MainActivity為 singleTop 模式時(shí),執(zhí)行跳轉(zhuǎn)后棧里面依舊只有一個(gè)實(shí)例,如果現(xiàn)在按返回鍵程序?qū)⒅苯油顺觥?/p>

  3)singleTask: singleTask模式和后面的singleInstance模式都是只創(chuàng)建一個(gè)實(shí)例的。在這種模式下,無(wú)論跳轉(zhuǎn)的對(duì)象是不是位于棧頂?shù)腶ctivity,程序都不會(huì)生成一個(gè)新的實(shí)例(當(dāng)然前提是棧里面已經(jīng)有這個(gè)實(shí)例)。這種模式相當(dāng)有用,在以后的多activity開(kāi)發(fā)中,經(jīng)常會(huì)因?yàn)樘D(zhuǎn)的關(guān)系導(dǎo)致同個(gè)頁(yè)面生成多個(gè)實(shí)例,這個(gè)在用戶(hù)體驗(yàn)上始終有點(diǎn)不好,而如果你將對(duì)應(yīng)的activity聲明為 singleTask 模式,這種問(wèn)題將不復(fù)存在。

  4)singleInstance: 設(shè)置為 singleInstance 模式的 activity 將獨(dú)占一個(gè)task(感覺(jué)task可以理解為進(jìn)程),獨(dú)占一個(gè)task的activity與其說(shuō)是activity,倒不如說(shuō)是一個(gè)應(yīng)用,這個(gè)應(yīng)用與其他activity是獨(dú)立的,它有自己的上下文activity。

  
看了“android面試題大全”的人還看過(guò):

1.

2.

3.

4.

5.

50354