Java研發(fā)方向如何準(zhǔn)備BAT技術(shù)面試答案(中)

抱歉來晚了!由于最近事比較多,拖了一段時(shí)間,答案本想自己寫的,但是時(shí)間不允許,擠時(shí)間整理了部分答案,后面我會(huì)繼續(xù)更新,更多精彩內(nèi)容請(qǐng)關(guān)注我的微信公眾號(hào):JavaQ,謝謝關(guān)注。
51.servlet生命周期及各個(gè)方法
參考文章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的區(qū)別
(1)JSP經(jīng)編譯后就變成了“類servlet”。
(2)JSP由HTML代碼和JSP標(biāo)簽構(gòu)成,更擅長頁面顯示;Servlet更擅長流程控制。
(3)JSP中嵌入JAVA代碼,而Servlet中嵌入HTML代碼。

55.JSP的動(dòng)態(tài)include和靜態(tài)include
(1)動(dòng)態(tài)include用jsp:include動(dòng)作實(shí)現(xiàn),如<jsp:include page="abc.jsp" flush="true" />,它總是會(huì)檢查所含文件中的變化,適合用于包含動(dòng)態(tài)頁面,并且可以帶參數(shù)。會(huì)先解析所要包含的頁面,解析后和主頁面合并一起顯示,即先編譯后包含。
(2)靜態(tài)include用include偽碼實(shí)現(xiàn),不會(huì)檢查所含文件的變化,適用于包含靜態(tài)頁面,如<%@ include file="qq.htm" %>,不會(huì)提前解析所要包含的頁面,先把要顯示的頁面包含進(jìn)來,然后統(tǒng)一編譯,即先包含后編譯。

56.Struts中請(qǐng)求處理過程
參考文章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區(qū)別
參考文章http://blog.csdn.net/tch918/article/details/38305395
參考文章http://blog.csdn.net/chenleixing/article/details/44570681

59.Hibernate/Ibatis兩者的區(qū)別
參考文章http://blog.csdn.net/firejuly/article/details/8190229

60.Hibernate一級(jí)和二級(jí)緩存
參考文章http://blog.csdn.net/windrui/article/details/23165845

61.簡述Hibernate常見優(yōu)化策略
參考文章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的實(shí)例化(推薦看Spring的源碼)
參考文章http://geeekr.com/read-spring-source-two-beans-initialization/

64.Spring如何實(shí)現(xiàn)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的事務(wù)管理
這個(gè)主題的參考文章沒找到特別好的,http://blog.csdn.net/trigl/article/details/50968079這個(gè)還可以。

67.Spring事務(wù)的傳播特性
參考文章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有幾種請(qǐng)求
參考文章,http://www.infoq.com/cn/articles/designing-restful-http-apps-roth,該篇寫的比較全。

71.Restful好處
(1)客戶-服務(wù)器:客戶-服務(wù)器約束背后的原則是分離關(guān)注點(diǎn)。通過分離用戶接口和數(shù)據(jù)存儲(chǔ)這兩個(gè)關(guān)注點(diǎn),改善了用戶接口跨多個(gè)平臺(tái)的可移植性;同時(shí)通過簡化服務(wù)器組件,改善了系統(tǒng)的可伸縮性。
(2)無狀態(tài):通信在本質(zhì)上是無狀態(tài)的,改善了可見性、可靠性、可伸縮性.
(3)緩存:改善了網(wǎng)絡(luò)效率減少一系列交互的平均延遲時(shí)間,來提高效率、可伸縮性和用戶可覺察的性能。
(4)統(tǒng)一接口:REST架構(gòu)風(fēng)格區(qū)別于其他基于網(wǎng)絡(luò)的架構(gòu)風(fēng)格的核心特征是,它強(qiáng)調(diào)組件之間要有一個(gè)統(tǒng)一的接口。

72.Tomcat,Apache,JBoss的區(qū)別
Apache:HTTP服務(wù)器(WEB服務(wù)器),類似IIS,可以用于建立虛擬站點(diǎn),編譯處理靜態(tài)頁面,可以支持SSL技術(shù),支持多個(gè)虛擬主機(jī)等功能。
Tomcat:Servlet容器,用于解析jsp,Servlet的Servlet容器,是高效,輕量級(jí)的容器。缺點(diǎn)是不支持EJB,只能用于java應(yīng)用。
Jboss:應(yīng)用服務(wù)器,運(yùn)行EJB的J2EE應(yīng)用服務(wù)器,遵循J2EE規(guī)范,能夠提供更多平臺(tái)的支持和更多集成功能,如數(shù)據(jù)庫連接,JCA等,其對(duì)Servlet的支持是通過集成其他Servlet容器來實(shí)現(xiàn)的,如tomcat和jetty。

73.memcached和redis的區(qū)別
(1)性能對(duì)比:由于Redis只使用單核,而Memcached可以使用多核,所以平均每一個(gè)核上Redis在存儲(chǔ)小數(shù)據(jù)時(shí)比Memcached性能更高。而在100k以上的數(shù)據(jù)中,Memcached性能要高于Redis,雖然Redis最近也在存儲(chǔ)大數(shù)據(jù)的性能上進(jìn)行優(yōu)化,但是比起Memcached,還是稍有遜色。
(2)內(nèi)存使用效率對(duì)比:使用簡單的key-value存儲(chǔ)的話,Memcached的內(nèi)存利用率更高,而如果Redis采用hash結(jié)構(gòu)來做key-value存儲(chǔ),由于其組合式的壓縮,其內(nèi)存利用率會(huì)高于Memcached。
(3)Redis支持服務(wù)器端的數(shù)據(jù)操作:Redis相比Memcached來說,擁有更多的數(shù)據(jù)結(jié)構(gòu)和并支持更豐富的數(shù)據(jù)操作,通常在Memcached里,你需要將數(shù)據(jù)拿到客戶端來進(jìn)行類似的修改再set回去。這大大增加了網(wǎng)絡(luò)IO的次數(shù)和數(shù)據(jù)體積。在Redis中,這些復(fù)雜的操作通常和一般的GET/SET一樣高效。所以,如果需要緩存能夠支持更復(fù)雜的結(jié)構(gòu)和操作,那么Redis會(huì)是不錯(cuò)的選擇。

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

75.你知道的開源協(xié)議有哪些
常見的開源協(xié)議有GPL、LGPL、BSD、Apache Licence vesion 2.0、MIT,詳細(xì)內(nèi)容參考文章http://blog.jobbole.com/44175/http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html

76.json和xml區(qū)別
XML:
(1)應(yīng)用廣泛,可擴(kuò)展性強(qiáng),被廣泛應(yīng)用各種場合;
(2)讀取、解析沒有JSON快;
(3)可讀性強(qiáng),可描述復(fù)雜結(jié)構(gòu)。
JSON:
(1)結(jié)構(gòu)簡單,都是鍵值對(duì);
(2)讀取、解析速度快,很多語言支持;
(3)傳輸數(shù)據(jù)量小,傳輸速率大大提高;
(4)描述復(fù)雜結(jié)構(gòu)能力較弱。

77.設(shè)計(jì)模式
參考文章http://www.cnblogs.com/beijiguangyong/archive/2010/11/15/2302807.html#_Toc281750445

78.設(shè)計(jì)模式的六大原則
參考文章http://www.uml.org.cn/sjms/201211023.asp

79.用一個(gè)設(shè)計(jì)模式寫一段代碼或畫出一個(gè)設(shè)計(jì)模式的UML
參考文章http://www.cnblogs.com/beijiguangyong/archive/2010/11/15/2302807.html#_Toc281750445

80.高內(nèi)聚,低耦合方面的理解
參考文章http://my.oschina.net/heweipo/blog/423235

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這個(gè)主題的內(nèi)容之前分三個(gè)篇幅分享過,導(dǎo)致網(wǎng)絡(luò)上傳播的比較分散,所以本篇做了一個(gè)匯總,同時(shí)對(duì)部分內(nèi)容及答案做了修改,...
    JavaQ閱讀 23,888評(píng)論 9 264
  • 這部分內(nèi)容比較深入,整理了一些網(wǎng)絡(luò)文章可參考,推薦看書籍的方式去復(fù)習(xí)。更多精彩內(nèi)容請(qǐng)關(guān)注我的微信公眾號(hào):JavaQ...
    JavaQ閱讀 1,632評(píng)論 10 38
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,261評(píng)論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評(píng)論 19 139
  • 與生活扎實(shí)擁抱后,就很難再輕信營銷號(hào)里講的神乎其神的東西,狗血的不是雞湯是雞精太齁嗓兒。當(dāng)然也很難共鳴到那些用名人...
    未來醬紫閱讀 724評(píng)論 0 0

友情鏈接更多精彩內(nèi)容