編輯:關於Android編程
本文來自http://blog.csdn.net/liuxian13183/ ,引用必須注明出處!
經過大大小小的面試,同事說你出一份面試題總結吧,我說好;但一直由於各種原因沒有總結,今天想起,先慢慢總結,給大家作為參考。這裡面的問題有大公司,也有小公司,不具體指定。大家看的時候各自定位,不指明具體公司面試內容。
一般情況下,首先會讓你做個自我介紹,畢業時間、學校、專業,工作年限,做安卓的時間簡單說一下,然後說幾個做過的項目,最後揀一個自己最熟悉的項目講下業務流程。接著面試官就會問你一些用過的技術,原則:懂就說,不懂就說沒研究過,忘記就說記不清楚了(當然面試前要做好精心准備,不打無准備之仗)。
下面不懂的你必須背下來,既是知識點,又是面試必備。
筆記題:
1、簡要說明下列代碼的運行結果
final int age = 19;
public void changeABC(String abc) {
abc += "def";
System.out.println(abc);
}
public void changeAge() {
age += 7;
}
public static void main(String[] args) throws InstantiationException,
IllegalAccessException {
FinalSet finalSet = FinalSet.class.newInstance();
String abc =new String();
abc="abc";
finalSet.changeABC(abc);
}
這個題是來測試你對final的理解;首先String是個對象,其次它也是個基本數據類型,final值不能再改變,因此age+=7這句是要報錯的;另外String對象被運算時,已經生成新的對象,所以值為abcdef,原來值並不改變,只是引用指向了新的值。
2、代碼見第1題,問代碼執行完,age是否被回收,abc是否被回收?類的執行要經過三個階段,ClassLoader的裝載、鏈接即解析類成可執行文件、初始化即常量和方法體,執行完之後變量和方法體隨著類的存在而存在、消亡而消亡,但所引用的值和對象會被回收。總之age和abc都不會被回收。
面試題:
1、手機中應用的初始內存是多少?限制內存是多少?虛擬機可分配最大內存是多少?
回答,拿出自己root過的手機,打開cmd命令行,adb shell getprop
[dalvik.vm.dexopt-flags]: [m=y]
[dalvik.vm.heapgrowthlimit]: [48m] //進程最大可分配內存
[dalvik.vm.heapsize]: [128m] //虛擬機最大可分配內存
[dalvik.vm.heapstartsize]: [5m] //進程初始分配的內存
[dalvik.vm.stack-trace-file]: [/data/anr/traces.txt]
2、手機系統的內存是如何進行自我管理的?
詳見:Android統就如何管理自己內存的?
軟件工程:
1、快速原型法,快速給出一個初級版本,然後根據客戶需求開發人員不斷完善原型,直到客戶滿意再完善系統。這種開發方式經常在需求不明確的情況下進行。
2、瀑布式,明確需求,按部就班的從需求分析、軟件設計、編碼、測試、維護這個流程來走,並且重復這個過程,直到客戶滿意。這種開發方式一種用於一期、二期、三期這樣長期大型項目的開發。
保護代碼
代碼重用。
C運行速度快
可手動分配內存,如視頻
首先我們發現現在我們所用的android智能手機大部分都有當你在打電話時按power鍵來掛斷電話,一般都是在設置中。 我主要是在原生源碼中添加這一功能,主要用於學習。。。
本文實例講解了通知Notification使用方法,此知識點就是用作通知的顯示,包括振動、燈光、聲音等效果,分享給大家供大家參考,具體內容如下效果圖:MainActivi
總結: asset目錄下文件: 稱為原生文件,這類文件在被打包成apk文件時是不會進行壓縮的,不會自動生成R文件的ID 訪問: 獲取路徑: f
第二十二章、享元模式 享元模式是結構型設計模式之一,是對對象池的一種實現。就像它的名字一樣,共享對象,避免重復的創建。我們常用的String 就是使用了共享模式,所以St