360筆試題(3.29)

真是被360弄醉了,這是我第一次見到這麼詳細又複雜的能力基礎題(一堆邏輯思維,找規律的數字題,圖形題,之前還有判斷性格的很多題。。)
除此之外,無論是能力基礎還是技術題都時間不夠用,有1/3的android控件使用,1/3的c/c++的輸出結果,1/4的java輸出和java出錯可能(try,catch和finish的執行順序;實現接口要不要把父類的所有方法都實例化;)
-------------無聊分割線----------
真是被360弄醉了,這是我第一次見到這麼詳細又複雜的能力基礎題(一堆邏輯思維,找規律的數字題,圖形題,之前還有判斷性格的很多題。。)
除此之外,無論是能力基礎還是技術題都時間不夠用,有1/3的android控件使用,1/3的c/c++的輸出結果,1/4的java輸出和java出錯可能(try,catch和finish的執行順序;實現接口要把父類的所有方法都實例化!)

1、android:handler在消息傳遞時的流程,用到looper嗎?(用得到)
這裏寫圖片描述
這裏寫圖片描述
http://blog.csdn.net/coder_pig/article/details/46997945 有handler相關方法和使用實例
2、獲取手機鍵盤按下的時間onkeydown
3、(linux)/etc/fstab文件文件能看到文件系統類型、文件系統名,文件系統大小,被fsck檢查文件順序(除了大小不行,其他都可以)
/etc/fstab存放的是系統中的文件系統信息。當正確的設置了該文件,則可以通過mount /directoryname命令來加載一個文件系統,每種文件系統都對應一個獨立的行,每行中的字段都有空格或tab鍵分開

fs_spec - 加載的文件系統所在的設備或遠程文件系統,
fs_file - 文件系統加載的目錄點
fs_type - 該設備上的文件系統類型
http://www.jb51.net/os/other/73134.html
4、xml解析器:sax和dom(去查原理和基於事件的爲遇到)
SAX解析器(Simple API for XML),其實解析器就是對XML進行處理的一套API,相當於一個模塊。SAX解析器是基於事件處理的,需要從頭到尾把XML文檔掃描一遍,在掃描的過程中,每次遇到一個語法結構時,就會調用這個特定語法結構的事件處理程序,嚮應用程序發送一個事件。

DOM是文檔對象模型解析,構建文檔的分層語法結構,在內存中建立DOM樹,DOM樹的節點以對象的形式來標識,文檔解析文成以後,文檔的整個DOM樹都會放在內存中。
DOM的優點:
1. 當文檔的某一部分被多次的訪問時,非常方便。
2. 需要對文檔進行調整或者一次性的訪問整個文檔。
3. DOM可以隨時的訪問文檔中的某個部分。
4. 可以避免一些無效的操作。
DOM結構是完全的存儲在內存中的,所以如果文檔較大的話,會佔用大量的內存。

因爲XML文檔沒有大小限制,所以一些文檔可能就不能以DOM方式讀取,SAX解析則不存在這樣的問題,並且SAX解析的速度要比DOM快一些。
5、share preference保存目錄:\data\data\\shared_prefs\目錄下面
6、contentprovider和uri詳解;contentprovider的內容;能否通過不同的contentprovider接口訪問某個接口(不能)
ContentProvider作用是對外共享數據,你可以通過ContentProvider把應用中的數據共享給其他應用訪問,其他應用可以通過ContentProvider對你應用中的數據進行添刪改查。數據共享,通過指定文件的操作模式爲Context.MODE_WORLD_READABLE或Context.MODE_WORLD_WRITEABLE同樣也可以對外共享數據
   無論數據的來源是什麼,ContentProvider都會認爲是一種表,然後把數據組織成表格。每個ContentProvider都有一個公共的URI,這個URI用於表示這個ContentProvider所提供的數據。Android所提供的ContentProvider都存放在android.provider包當中ContentProvider爲存儲和獲取數據提供了統一的接口。ContentProvide對數據進行封裝,不用關心數據存儲的細節。使用表的形式來組織數據。
UriMatcher類用於匹配Uri,ContentUris類用於操作Uri路徑後面的ID部分
http://www.2cto.com/kf/201404/296974.html 具體操作
7、android用alarmmanager實現鬧鐘
8、合法實數c語言(e前面是整數,後面是整數,後面不能爲空)
http://zhidao.baidu.com/link?url=IQDSDatknZ2IA6Ua2GFe2Q2aWUWIJ5XRBumoRz2H1GTMJhDPAVHmXRsEyCDmvqxqitwtFHdyJ9nGWbTlm37oW2hN9P6uG_0z31EuN47rwNO
9、在linux下使用命令行加載usb磁盤(mount加載,umount取出)
10、基數排序LSD和MSD
基數排序(radix sort)屬於“分配式排序”(distribution sort),又稱“桶子法”它是透過鍵值的部份資訊,將要排序的元素分配至某些“桶”中,達到排序的作用,基數排序法是屬於穩定性的排序,其時間複雜度爲O (nlog(r)m),其中r爲所採取的基數,而m爲堆數,在某些時候,基數排序法的效率高於其它的穩定性排序法。

LSD:根據個位數的數值,在走訪數值時將它們分配至編號0到9的桶子中;將這些桶子中的數值重新串接起來,接着再進行一次分配,這次是根據十位數來分配;持續進行以上的動作直至最高位數爲止,適用於位數小的數列,如果位數多的話,使用馬上到!的效率會比較好。MSD的方式與LSD相反,是由高位數爲基底開始進行分配,但在分配之後並不馬上合併回一個數組中,而是在每個“桶子”中建立“子桶”,將每個桶子中的數值按照下一數位的值分配到“子桶”中。在進行完最低位數的分配後再合併回單一的數組中。

MSD:(用遞歸實現)比如現在有13,23,12,22,11這五個數。你先爲高位排序,就相當於把十位爲1的分在一個桶1裏(13,12,11),十位爲2的分在一個桶2(22,23)裏。然後在桶1和桶2之中剩下的元素排序((11),(12),(13))和((22),(23))。這樣如果有很多位數,桶就很多。但是從最低位開始排就只需要10個桶,每移動一位,就用針對那一位排序(把元素扔進桶裏)。所以不會佔用大量的桶。所以,低位排序優於高位排序。

11、AVL樹和平衡二叉樹,ll,lr,rr旋轉
http://www.cnblogs.com/biyeymyhjob/archive/2012/07/24/2606718.html
12、貪心法(局部最優解)能解決(除了n皇后問題(回溯法))最小生成樹、揹包問題,最短路徑問題
13、哈希排序,http://blog.sina.com.cn/s/blog_54573df10101qpoz.html
解決衝突的方法:http://www.nowamagic.net/academy/detail/3008050
(另一個面試題:http://blog.csdn.net/tianxiajianling/article/details/7550678
14、public,private,protected,不寫的參數區別
http://blog.chinaunix.net/uid-20554039-id-4831051.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章