中午直接來的電話,對方人事明知道我在職還強烈要求過去。
直到跟面試官交流才知道原來多米音樂是他們集團的。表示我的準備工作也太渣渣了。
進去的筆試題彙總:
考的特別基礎,10頁紙,估計都是百度的。
稍微做點記錄,爲以後的編程道路鋪點基礎:
一String、StringBuffer與StringBuilder之間區別
1.三者在執行速度方面的比較:StringBuilder > StringBuffer > String
String <(StringBuffer,StringBuilder)的原因
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.ArrayList和Vector是採用數組方式存儲數據,此數組元素總數大於實際存儲的數據個數以便增加和插入元素,二者都允許直接序號索引元素,但是插入數據要移動數組元素等內存操作,所以它們索引數據快、插入數據慢
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:只能讀,不能修改,只能順序訪問,適合對大型的XML的解析,解析速度快!
DOM:不僅能讀,還能修改,而且能夠實現隨機訪問,缺點是解析速度慢,只適合解析小型文檔
解析速度慢(要在內存中生成節點樹,而生成樹是比較費時的)
SAX:應用於保存大量數據的XML(爲什麼要用XML保存大量的數據類容?答:可以實現異構系統
的數據訪問,實現跨平臺!)
DOM:一般應用與小型的配置XML,方便我們操作!
http://www.cnblogs.com/hanyonglu/archive/2012/03/04/2378971.html 請參考詳細地址
第一種解決方案:C2DM雲端推送功能。
第二種解決方案:MQTT協議實現Android推送功能。
第三種解決方案:RSMB實現推送功能。
第四種解決方案:XMPP協議實現Android推送功能。
第五種解決方案:使用第三方平臺。
第六種解決方案:自己搭建一個推送平臺。
好了,編程道路繼續加油。