程序員挑戰高薪,你必須會的十大面試題《一》

程序員挑戰高薪,你必須會的十大面試題《一》 android

IT藍豹                  程序員

                       

1:Android中五種數據存儲方式分別是什麼?他們的特色?面試

    (1)SharedPreference,存放較少的五種類型的數據,只能在同一個包內使
            用,生成XML的格式存放在設備中
    (2) SQLite數據庫,存放各類數據,是一個輕量級的嵌入式數據庫
    (3) File文件,經過讀取寫入方式生成文件存放數據
    (4) ContentProvider,主要用於讓其餘應用程序使用保存的數據
    (5) 經過網絡獲取數據和寫入數據到網絡存儲空間數據庫

        答:Android提供了五種存取數據的方式網絡

 

2:說說 android 中 mvc 的具體體現架構

mvc是model,view,controller的縮寫,mvc包含三個部分:
模型(model)對象:是應用程序的主體部分,全部的業務邏輯都應該寫在該層。
視圖(view)對象:是應用程序中負責生成用戶界面的部分。也是在整個mvc架構中用戶惟一能夠看到的一層,接收用戶的輸入,顯示處理結果。
控制器(control)對象:是根據用戶的輸入,控制用戶界面數據顯示及更新model對象狀態的部分,控制器更重要的一種導航功能,響應用戶出發的相關事件,交給m層處理。
android鼓勵弱耦合和組件的重用,在android中mvc的具體體現以下:
1)視圖(view):通常採用xml文件進行界面的描述,使用的時候能夠很是方便的引入。
2)控制層(controller):android的控制層的重任一般落在了衆多的acitvity的肩上,這句話也就暗含了不要在acitivity 中寫過多的代碼,要經過activity交割model業務邏輯層處理,這樣作的另一個緣由是android中的acitivity的響應時間是5s, 若是耗時的操做放在這裏,程序就很容易被回收掉。
3)模型層(model):對數據庫的操做、對網絡等的操做都應該在model裏面處理,固然對業務計算等操做也是必須放在的該層的。mvc

 


3: 簡述SharedPreferences存儲方式以及SharedPreferences與SQLite數據庫的區別ide

     SharedPreferences也是一種輕型的數據存儲方式,它的本質是基於XML文件存儲key-value鍵值對數據,一般用來存儲一些簡單的配 置信息。其存儲位置在/data/data/<包名>/shared_prefs目錄下。SharedPreferences對象自己只能讀 取數據而不支持寫入數據,存儲修改是經過Editor對象實現。SharedPreferences對象與SQLite數據庫相比,免去了建立數據庫,創 建表,寫SQL語句等諸多操做,相對而言更加方便,簡潔。可是SharedPreferences也有其自身缺陷,好比其職能存儲 boolean,int,float,long和String五種簡單的數據類型,好比其沒法進行條件查詢等。因此不論 SharedPreferences的數據存儲操做是如何簡單,它也只能是存儲方式的一種補充,而沒法徹底替代如SQLite數據庫這樣的其餘數據存儲方 式。oop

 

4:描述handler 機制的原理spa

andriod提供了 Handler 和 Looper 來知足線程間的通訊。
Handler 先進先出原則。
Looper類用來管理特定線程內對象之間的消息交換(Message Exchange)。
1)Looper: 一個線程能夠產生一個Looper對象,由它來管理此線程裏的Message Queue(消息隊列)。
2)Handler: 你能夠構造Handler對象來與Looper溝通,以便push新消息到Message Queue裏;或者接收Looper從Message Queue取出)所送來的消息。
3) Message Queue(消息隊列):用來存放線程放入的消息。
4)線程:UI thread 一般就是main thread,而Android啓動程序時會替它創建一個Message Queue。
 

 
5:顯式intent和隱式intent的區別是什麼(android)

  答:Intent定義:Intent是一種在不一樣組件之間傳遞的請求消息,是應用程序發出的請求和意圖。做爲一個完整的消息傳遞機制,Intent不只須要發送端,還須要接收端。
顯式Intent定義:對於明確指出了目標組件名稱的Intent,咱們稱之爲顯式Intent。
隱式Intent定義:對於沒有明確指出目標組件名稱的Intent,則稱之爲隱式Intent。
說明:Android系統使用IntentFilter 來尋找與隱式Intent相關的對象。

 

原文來自IT藍豹,轉發必須標明出處:http://www.itlanbao.com/news.aspx

相關文章
相關標籤/搜索