Java研发方向如何准备BAT技术面试答案(中)

抱歉来晚了!由于最近事比较多,拖了一段时间,答案本想自己写的,但是时间不允许,挤时间整理了部分答案,后面我会继续更新,谢谢关注。

原文链接:http://www.jianshu.com/p/30135dbdb7d6
51.servlet生命周期及各个方法
参考文章http://www.cnblogs.com/xuekyo/archive/2013/02/24/2924072.html

52.servlet中如何自定义filter
参考文章http://www.cnblogs.com/javawebsoa/archive/2013/07/31/3228858.html

53.JSP原理
参考文章http://blog.csdn.net/hanxuemin12345/article/details/23831645

54.JSP和Servlet的区别
(1)JSP经编译后就变成了“类servlet”。
(2)JSP由HTML代码和JSP标签构成,更擅长页面显示;Servlet更擅长流程控制。
(3)JSP中嵌入JAVA代码,而Servlet中嵌入HTML代码。

55.JSP的动态include和静态include
(1)动态include用jsp:include动作实现,如,它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。会先解析所要包含的页面,解析后和主页面合并一起显示,即先编译后包含。
(2)静态include用include伪码实现,不会检查所含文件的变化,适用于包含静态页面,如<%@ include file="qq.htm" %>,不会提前解析所要包含的页面,先把要显示的页面包含进来,然后统一编译,即先包含后编译。

56.Struts中请求处理过程
参考文章http://www.cnblogs.com/liuling/p/2013-8-10-01.html

57.MVC概念
参考文章http://www.cnblogs.com/scwyh/articles/1436802.html

58.Spring mvc与Struts区别
参考文章http://blog.csdn.net/tch918/article/details/38305395
参考文章http://blog.csdn.net/chenleixing/article/details/44570681

59.Hibernate/Ibatis两者的区别
参考文章http://blog.csdn.net/firejuly/article/details/8190229

60.Hibernate一级和二级缓存
参考文章http://blog.csdn.net/windrui/article/details/23165845

61.简述Hibernate常见优化策略
参考文章http://blog.csdn.net/shimiso/article/details/8819114

62.Spring bean的加载过程(推荐看Spring的源码)
参考文章http://geeekr.com/read-spring-source-1-how-to-load-bean/

63.Spring bean的实例化(推荐看Spring的源码)
参考文章http://geeekr.com/read-spring-source-two-beans-initialization/

64.Spring如何实现AOP和IOC(推荐看Spring的源码)
参考文章http://www.360doc.com/content/15/0116/21/12385684_441408260.shtml

65.Spring bean注入方式
参考文章http://blessht.iteye.com/blog/1162131

66.Spring的事务管理
这个主题的参考文章没找到特别好的,http://blog.csdn.net/trigl/article/details/50968079这个还可以。

67.Spring事务的传播特性
参考文章http://blog.csdn.net/lfsf802/article/details/9417095

68.springmvc原理
参考文章http://blog.sina.com.cn/s/blog_7ef0a3fb0101po57.html

69.springmvc用过哪些注解
参考文章http://aijuans.iteye.com/blog/2160141

70.Restful有几种请求
参考文章,http://www.infoq.com/cn/articles/designing-restful-http-apps-roth,该篇写的比较全。

71.Restful好处
(1)客户-服务器:客户-服务器约束背后的原则是分离关注点。通过分离用户接口和数据存储这两个关注点,改善了用户接口跨多个平台的可移植性;同时通过简化服务器组件,改善了系统的可伸缩性。
(2)无状态:通信在本质上是无状态的,改善了可见性、可靠性、可伸缩性.
(3)缓存:改善了网络效率减少一系列交互的平均延迟时间,来提高效率、可伸缩性和用户可觉察的性能。
(4)统一接口:REST架构风格区别于其他基于网络的架构风格的核心特征是,它强调组件之间要有一个统一的接口。

72.Tomcat,Apache,JBoss的区别
Apache:HTTP服务器(WEB服务器),类似IIS,可以用于建立虚拟站点,编译处理静态页面,可以支持SSL技术,支持多个虚拟主机等功能。
Tomcat:Servlet容器,用于解析jsp,Servlet的Servlet容器,是高效,轻量级的容器。缺点是不支持EJB,只能用于java应用。
Jboss:应用服务器,运行EJB的J2EE应用服务器,遵循J2EE规范,能够提供更多平台的支持和更多集成功能,如数据库连接,JCA等,其对Servlet的支持是通过集成其他Servlet容器来实现的,如tomcat和jetty。

73.memcached和redis的区别
(1)性能对比:由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。
(2)内存使用效率对比:使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。
(3)Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。

74.如何理解分布式锁
参考文章http://blog.csdn.net/zheng0518/article/details/51607063和http://blog.csdn.net/nicewuranran/article/details/51730131

75.你知道的开源协议有哪些
常见的开源协议有GPL、LGPL、BSD、Apache Licence vesion 2.0、MIT,详细内容参考文章http://blog.jobbole.com/44175/和http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html

76.json和xml区别
XML:
(1)应用广泛,可扩展性强,被广泛应用各种场合;
(2)读取、解析没有JSON快;
(3)可读性强,可描述复杂结构。
JSON:
(1)结构简单,都是键值对;
(2)读取、解析速度快,很多语言支持;
(3)传输数据量小,传输速率大大提高;
(4)描述复杂结构能力较弱。

77.设计模式
参考文章http://www.cnblogs.com/beijiguangyong/archive/2010/11/15/2302807.html#_Toc281750445

78.设计模式的六大原则
参考文章http://www.uml.org.cn/sjms/201211023.asp

79.用一个设计模式写一段代码或画出一个设计模式的UML
参考文章http://www.cnblogs.com/beijiguangyong/archive/2010/11/15/2302807.html#_Toc281750445

80.高内聚,低耦合方面的理解

参考文章http://my.oschina.net/heweipo/blog/423235

Java技术分享微信公众号:JavaQ,公众号最新文章第一时间同步更新!欢迎围观!


你可能感兴趣的:(JavaEE开发P计划)