中午直接来的电话,对方人事明知道我在职还强烈要求过去。
直到跟面试官交流才知道原来多米音乐是他们集团的。表示我的准备工作也太渣渣了。
进去的笔试题汇总:
考的特别基础,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推送功能。
第五种解决方案:使用第三方平台。
第六种解决方案:自己搭建一个推送平台。
好了,编程道路继续加油。
转载于:https://blog.51cto.com/liumin/1333523