欢迎来到天天文库
浏览记录
ID:18083503
大小:47.85 KB
页数:43页
时间:2018-09-13
《阿里巴巴技术面试》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、阿里巴巴技术面试 一、String,StringBuffer,StringBuilder的区别是什么?String为什么是不可变的? 答:1、String是字符串常量,StringBuffer和StringBuilder都是字符串变量。后两者的字符内容可变,而前者创建后内容不可变。 2、String不可变是因为在JDK中String类被声明为一个final类。 3、StringBuffer是线程安全的,而StringBuilder是非线程安全的。 ps:线程安全会带来额外的系统开销,所以StringBuilder的效率比StringBuffer高。如果对系统中的线
2、程是否安全很掌握,可用StringBuffer,在线程不安全处加上关键字Synchronize。 二、Vector,ArrayList,LinkedList的区别是什么? 答:1、Vector、ArrayList都是以类似数组的形式存储在内存中,LinkedList则以链表的形式进行存储。 2、List中的元素有序、允许有重复的元素,Set中的元素无序、不允许有重复元素。 3、Vector线程同步,ArrayList、LinkedList线程不同步。 4、LinkedList适合指定位置插入、删除操作,不适合查找;ArrayList、Vector适合查找,不适合指
3、定位置的插入、删除操作。 5、ArrayList在元素填满容器时会自动扩充容器大小的50%,而Vector则是100%,因此ArrayList更节省空间。 详见:http:///mgod/archive/XX/08/05/ 三、HashTable,HashMap,TreeMap区别? 答:1、HashTable线程同步,HashMap非线程同步。 2、HashTable不允许有空值,HashMap允许有空值。 3、HashTable使用Enumeration,HashMap使用Iterator。 4、HashTable中hash数组的默认大小是11,增加方式的
4、old*2+1,HashMap中hash数组的默认大小是16,增长方式一定是2的指数倍。 5、TreeMap能够把它保存的记录根据键排序,默认是按升序排序。 详见:http:///?p=679 五、Tomcat,Apache,JBoss的区别? 答:1、Apache是Http服务器,Tomcat是web服务器,JBoss是应用服务器。 2、Apache解析静态的html文件;Tomcat可解析jsp动态页面、也可充当servlet容器。 详见:http:///blog/1195780 六、GET,POST区别? 答:基础知识:Http的请求格式如下。 主要
5、包含三个信息:1、请求的类型(GET或POST),2、要访问的资源(如),3、Http版本(http/) 用来说明服务器要使用的附加信息 这是Http的规定,必须空一行 请求的内容数据 区别: 1、Get是从服务器端获取数据,Post则是向服务器端发送数据。 2、在客户端,Get方式通过URL提交数据,在URL地址栏可以看到请求消息,该消息被编码过;Post数据则是放在Htmlheader内提交。 3、对于Get方式,服务器端用获取变量的值;对用Post方式,服务器端用获取提交的数据值。 4、Get方式提交的数据最多1024字节,而Post则没有限制。 5
6、、Get方式提交的参数及参数值会在地址栏显示,不安全,而Post不会,比较安全。 详见:http:///wxf0701/archive/XX/08/17/ 七、Session,Cookie区别 答:1、Session由应用服务器维护的一个服务器端的存储空间;Cookie是客户端的存储空间,由浏览器维护。 2、用户可以通过浏览器设置决定是否保存Cookie,而不能决定是否保存Session,因为Session是由服务器端维护的。 3、Session中保存的是对象,Cookie中保存的是字符串。 4、Session和Cookie不能跨窗口使用,每打开一个浏览器系统会
7、赋予一个SessionID,此时的SessionID不同,若要完成跨浏览器访问数据,可以使用Application。 5、Session、Cookie都有失效时间,过期后会自动删除,减少系统开销。 详见:http:///1007/ 八、Servlet的生命周期 答:大致分为4部:Servlet类加载-->实例化-->服务-->销毁 下图是Tomcat中Servlet时序图。 1、WebClient向Servlet容器(Tomcat)发出Http请求。 2、Servlet容器接收Client端的请求。
此文档下载收益归作者所有