中午直接来的电话,对方人事明知道我在职还强烈要求过去。


直到跟面试官交流才知道原来多米音乐是他们集团的。表示我的准备工作也太渣渣了。


进去的笔试题汇总:

考的特别基础,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推送功能。

第五种解决方案:使用第三方平台。

第六种解决方案:自己搭建一个推送平台。



好了,编程道路继续加油。