金山網(wǎng)絡(luò)現(xiàn)獵豹移動(dòng)公司( Cheetah Mobile Inc. NYSE:CMCM ),成立于2010年10月,由金山安全和可牛影像公司合并而成,繼承了金山15年的安全技術(shù)積累和可牛影像的互聯(lián)網(wǎng)基因。是全球最大的移動(dòng)工具開發(fā)商、中國第二大互聯(lián)網(wǎng)及移動(dòng)互聯(lián)網(wǎng)安全公司。致力于為全球用戶提供快捷、簡單、安全的互聯(lián)網(wǎng)及移動(dòng)上網(wǎng)體驗(yàn)。
以下是金山網(wǎng)絡(luò)2014實(shí)習(xí)生筆試題,大家敬請了解:
一、請用偽代碼描述,在Android系統(tǒng)上啟動(dòng)和停止Service有哪些方法,并說明這些方法導(dǎo)致Service的生命周期有何不同?
二、輸入一個(gè)正整數(shù) X,以2*X,4*X,8*X的方式遞增,當(dāng)大于10000時(shí),再倒敘輸出已經(jīng)輸出的整數(shù)!疽螅翰坏檬褂醚h(huán)和其他任何變量(包含局部變量)輔助】
比如 X= 2468,輸出結(jié)果為:
2468,4936,9872,19744,19744,9872,4936,2468
三、有兩個(gè)字符串由不同的字母組成,一長一短,長的為A,短的為B。設(shè)計(jì)一個(gè)算法,如果所有在B中出現(xiàn)的字符都在A中出現(xiàn),則返回true,否則返回false。假設(shè)A的長度為m,B的長度為n,要求算法時(shí)間復(fù)雜度不能大于O(m+n)。
四、實(shí)現(xiàn)如下工作者類IKWorker,調(diào)用者通過調(diào)用AddJob將Runnable類型的job提交給IKWorker,IKWorker負(fù)責(zé)異步執(zhí)行所有提交過來的job!疽螅罕M量高效,不得使用系統(tǒng)的線程池】
public interface IKWorker{
public boolean Start();
public void AddJob(Runnable job);
public boolean Stop();
}
五、在Android手機(jī)中實(shí)現(xiàn)一個(gè)App,用來做文件下載,可在App界面新增,暫停和取消下載文件及展示下載過程中的進(jìn)度,同時(shí)要保證Activity退出時(shí)后臺(tái)仍然能再下載。當(dāng)界面啟動(dòng)時(shí)還可以顯示正在下載的文件及進(jìn)度!疽螅簩懗鰧(shí)現(xiàn)此App的設(shè)計(jì)思想,盡量易懂,簡潔】
六、系統(tǒng)/sdcard/目錄下有很多張圖片,現(xiàn)需要一activity通過縮略圖的方式瀏覽所有圖片,在設(shè)計(jì)中體現(xiàn)對一下三點(diǎn)的處理:
A.不能分頁顯示,所有圖片顯示在一頁
B.要體現(xiàn)對ANR的處理
C.要體現(xiàn)對OOM的處理
請寫出此Activity的設(shè)計(jì)思路
七、在Android中兩個(gè)進(jìn)程之間傳輸大數(shù)據(jù),可以使用什么方式實(shí)現(xiàn)?這些方式中哪種方式最高效?說明原因。