A8音樂集團面試小結.

   中午直接來的電話,對方人事明知道我在職還強烈要求過去。


直到跟面試官交流才知道原來多米音樂是他們集團的。表示我的準備工作也太渣渣了。


進去的筆試題彙總:

考的特別基礎,10頁紙,估計都是百度的。


稍微做點記錄,爲以後的編程道路鋪點基礎:


String、StringBuffer與StringBuilder之間區別

201301210845234.png

1.三者在執行速度方面的比較:StringBuilder >  StringBuffer  >  String


      String <(StringBufferStringBuilder)的原因


    String:字符串常量


    StringBuffer:字符串變量 (StringBuffer對比StringBuilder區別在於線程安全程度)


    StringBuilder:字符串變量



String的值是不可變的,這就導致每次對String的操作都會生成新的String對象,不僅效率低下,而且大量浪費有限的內存空間。


StringBuffer是可變類,和線程安全的字符串操作類,任何對它指向的字符串的操作都不會產生新的對象。


StringBuffer和StringBuilder類功能基本相似,主要區別在於StringBuffer類的方法是多線程、安全的,而StringBuilder不是線程安全的,相比而言,StringBuilder類會略微快一點。對於經常要改變值的字符串應該使用StringBuffer和StringBuilder類。



詳細出處參考:http://www.jb51.net/article/33398.htm


1.如果要操作少量的數據用 = String


2.單線程操作字符串緩衝區 下操作大量數據 = StringBuilder


3.多線程操作字符串緩衝區 下操作大量數據 = StringBuffer



ArrayList、LinkedList與Vector,Map用法比較

1.ArrayListVector是採用數組方式存儲數據,此數組元素總數大於實際存儲的數據個數以便增加和插入元素,二者都允許直接序號索引元素,但是插入數據要移動數組元素等內存操作,所以它們索引數據快、插入數據慢


2.Vector由於使用了synchronized同步方法(如add、insert、remove、set、equals、hashcode等操作),因此是線程安全,性能上比ArrayList要差。Vector數組存儲方式:


3.LinkedList使用雙向鏈表實現存儲,按序號索引數據需要進行向前或向後遍歷,但是插入數據時只需要記錄本項的前後項即可,所以插入數度較快!LinkedList雙向鏈表,是指可以從first依次遍歷至last(從頭到尾),也可以從last遍歷至first(從尾到頭),但首尾沒有構成環,不同於雙向循環鏈表(注意區分):


4.Map接口

Map沒有繼承Collection接口,Map提供key到value的映射。一個Map中不能包含相同的key,每個key只能映射一個value。Map接口提供3種集合的視圖,Map的內容可以被當作一組key集合,一組value集合,或者一組key-value映射。

Map接口定義



SAX、DOM協議解析比較

SAX:只能讀,不能修改,只能順序訪問,適合對大型的XML的解析,解析速度快!
DOM:不僅能讀,還能修改,而且能夠實現隨機訪問,缺點是解析速度慢,只適合解析小型文檔

解析速度慢(要在內存中生成節點樹,而生成樹是比較費時的)
SAX:應用於保存大量數據的XML(爲什麼要用XML保存大量的數據類容?答:可以實現異構系統
的數據訪問,實現跨平臺!)

DOM:一般應用與小型的配置XML,方便我們操作!

SAX解析器採用了基於事件的模型,它在解析XML文檔的時候可以觸發一系列的事件,當發現給定的tag的時候,它可以激活一個回調方法,告訴該方法制定的標籤已經找到。SAX對內存的要求通常會比較低,因爲它讓開發人員自己來決定所要處理的 tag.特別是當開發人員只需要處理文檔中所包含的部分數據時,SAX這種擴展能力得到了更好的體現。但用SAX解析器的時候編碼工作會比較困難,而且很難同時訪問同一個文檔中的多處不同數據。
     選擇DOM還是選擇SAX? 對於需要自己編寫代碼來處理XML文檔的開發人員來說, 選擇DOM還是SAX 解析模型是一個非常重要的設計 決策。 DOM採用建立樹形結構的方式訪問XML文檔,而SAX採用的事件模型。
     SAX 處理的優點非常類似於流媒體的優點。分析能夠立即開始,而不是等待所有的數據被處理。而且,由於應用程序只是在讀取數據時檢查數據,因此不需要將數據存儲在內存中。這對於大型文檔來說是個巨大的優點。事實上,應用程序甚至不必解析整個文檔;它可以在某個條件得到滿足時停止解析。一般來說,SAX還比它的替代者DOM快許多。
      DOM是用與平臺和語言無關的方式表示XML文檔的官方W3C標準。DOM是以層次結構組織的節點或信息片斷的集合。這個層次結構允許開發人員在樹中尋找特定信息。分析該結構通常需要加載整個文檔和構造層次結構,然後才能做任何工作。由於 它是基於信息層次的,因而DOM被認爲是基於樹或基於對象的。 DOM 以及廣義的基於樹的處理具有幾個優點。首先,由於樹在內存中是持久的,因此可以 修改它以便應用程序能對數據和結構作出更改。它還可以在任何時候在樹中上下導航,而不是像SAX那樣是一次性的處理。DOM使用起來 也要簡單得多。



android如何實現推送

http://www.cnblogs.com/hanyonglu/archive/2012/03/04/2378971.html 請參考詳細地址

第一種解決方案:C2DM雲端推送功能。

第二種解決方案:MQTT協議實現Android推送功能。

第三種解決方案:RSMB實現推送功能。

第四種解決方案:XMPP協議實現Android推送功能。

第五種解決方案:使用第三方平臺。

第六種解決方案:自己搭建一個推送平臺。



好了,編程道路繼續加油。







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