一、前言
只有光頭才能變強
回顧前面:
上一篇寫了自己面試的經歷和一些在面試的時候遇到的題目(筆試題和麵試題)。
我在面試前針對Java基礎也花了不少的時間,期間也將自己寫過的博文粗略地刷了一遍,同時也在網上找了不少比較好的資料(部分是沒看完的)。在這裡給大家分享一下~~~
這是我刷完自己寫過的筆記寫的一篇文章導航,針對於PC端的:zhongfucheng.bitcron.com/post/shou-j…。比較重要的知識點也畫了思維導圖,後面新發的文章也會補充上去的。
可能會感興趣的資料:
二、在學習的時候整理的面試題
之前在學習或者整理知識點的時候也喜歡去找找面試題看,以下是我個人整理的面試題:
2.1集合
- ArrayList和Vector的區別
- HashMap和Hashtable的區別
- List和Map的區別
- Set裡的元素是不能重複的,那麼用什麼方法來區分重複與否呢? 是用==還是equals()?
- Collection和Collections的區別
- 說出ArrayList,LinkedList的儲存效能和特性
- Enumeration和Iterator介面的區別
- ListIterator有什麼特點
- 併發集合類是什麼?
- Java中HashMap的key值要是為類物件則該類需要滿足什麼條件?
- ArrayList集合加入1萬條資料,應該怎麼提高效率
- 與Java集合框架相關的有哪些最好的實踐
答案:
- Java集合總結【面試題+腦圖】,將知識點一網打盡!:https://segmentfault.com/a/1190000014403696
2.2Servlet+Tomcat面試題
- Tomcat的預設埠是多少,怎麼修改
- Tomcat 有哪幾種Connector 執行模式(優化)?
- Tomcat有幾種部署方式
- Servlet生命週期
- get方式和post方式有何區別
- doGet與doPost方法的兩個引數是什麼
- 獲取頁面的元素的值有幾種方式,分別說一下
- request.getAttribute()和request.getParameter()區別
- forward和redirect的區別
- tomcat容器是如何建立servlet類例項?用到了什麼原理
- 什麼是cookie?Session和cookie有什麼區別?
- Servlet安全性問題
答案:
- Tomcat+Servlet面試題都在這裡:https://segmentfault.com/a/1190000013119518
2.3JSP面試題
- jsp靜態包含和動態包含的區別
- jsp有哪些內建物件?作用分別是什麼?
- jsp和servlet的區別、共同點、各自應用的範圍?
- 屬性作用域範圍
- 寫出5種JSTL常用標籤
- 寫一個自定義標籤要繼承什麼類
- JSP是如何被執行的?執行效率比SERVLET低嗎?
- 如何避免jsp頁面自動生成session物件?
- jsp的缺點?
- 說出Servlet和CGI的區別?
- 簡述JSP的設計模式。
答案:
- JSP面試題都在這裡:https://segmentfault.com/a/1190000013185611
2.4JDBC
- JDBC運算元據庫的步驟 ?
- JDBC中的Statement 和PreparedStatement,CallableStatement的區別?
- JDBC中大資料量的分頁解決方法?
- 說說資料庫連線池工作原理和實現方案?
- Java中如何進行事務的處理?
- 寫出一段JDBC連線本機MySQL資料庫的程式碼
- JDBC是如何實現Java程式和JDBC驅動的鬆耦合的?
- execute,executeQuery,executeUpdate的區別是什麼?
- JDBC的髒讀是什麼?哪種資料庫隔離級別能防止髒讀?
- 什麼是幻讀,哪種隔離級別可以防止幻讀?
- JDBC的DriverManager是用來做什麼的?
- JDBC的ResultSet是什麼?
- 有哪些不同的ResultSet?
- JDBC的DataSource是什麼,有什麼好處
- JDBC中存在哪些不同型別的鎖?
- java.util.Date和java.sql.Date有什麼區別?
- 如果java.sql.SQLException: No suitable driver found該怎麼辦?
- JDBC的RowSet是什麼,有哪些不同的RowSet?
- 什麼是JDBC的最佳實踐?
答案:
- JDBC常見面試題:https://segmentfault.com/a/1190000013312766
2.5資料庫
- 什麼是儲存過程?有哪些優缺點?
- 三個正規化是什麼
- 什麼是檢視?以及檢視的使用場景有哪些?
- drop、delete與truncate分別在什麼場景之下使用?
- 索引是什麼?有什麼作用以及優缺點?
- 什麼是事務?
- 資料庫的樂觀鎖和悲觀鎖是什麼?
- 超鍵、候選鍵、主鍵、外來鍵分別是什麼?
- SQL 約束有哪幾種?
- 資料庫執行於哪種狀態下可以防止資料的丟失?
- Mysql儲存引擎
- MyIASM和Innodb兩種引擎所使用的索引的資料結構是什麼?
- varchar和char的區別
- mysql有關許可權的表都有哪幾個
- 資料表損壞的修復方式有哪些?
- MySQL中InnoDB引擎的行鎖是通過加在什麼上完成
- 資料庫優化的思路
- Oracle和Mysql的區別
答案:
- 資料庫面試題(開發者必看):https://segmentfault.com/a/1190000013517914
2.6HTTP
- Http與Https的區別:
- 什麼是Http協議無狀態協議?怎麼解決Http協議無狀態協議?
- URI和URL的區別
- 常用的HTTP方法有哪些?
- HTTP請求報文與響應報文格式
- HTTPS工作原理
- 一次完整的HTTP請求所經歷的步驟
- 常見的HTTP相應狀態碼
- HTTP1.1版本新特性
- HTTP優化方案
答案:
- HTTP面試題都在這裡:https://segmentfault.com/a/1190000013271378
2.7XML+JSON
- 什麼是JSON和XML
- JSON與XML區別是什麼? 有什麼共同點
- JSON、XML解析有那些方式?
- XML和JSON優缺點
- XPath 是什麼
- XML 名稱空間是什麼?它為什麼很重要
- DOM 和 和 SAX 解析器有什麼區別
- XSLT 是什麼?
答案:
- XML+JSON面試題都在這裡:https://segmentfault.com/a/1190000013285207
2.8過濾器和監聽器面試題
- 監聽器有哪些作用和用法?
- 過濾器有哪些作用和用法?
- web.xml 的作用?
- Servlet 3中的非同步處理指的是什麼?
答案:
- 過濾器監聽器面試題都在這裡:https://segmentfault.com/a/1190000013263161
2.9AJAX
- 什麼是AJAX,為什麼要使用Ajax
- AJAX應用和傳統Web應用有什麼不同?
- 請介紹一下XMLhttprequest物件
- 介紹一下XMLHttpRequest物件的常用方法和屬性
- Ajax的實現流程是怎樣的?
- AJAX請求總共有多少種CALLBACK
- XMLHttpRequest物件在IE和Firefox中建立方式有沒有不同。
- AJAX有哪些有點和缺點?
- 請解釋一下 JavaScript 的同源策略。
- 闡述一下非同步載入JS。
- 如何解決跨域問題?
- Ajax 解決瀏覽器快取問題?
答案:
- AJAX面試題都在這裡:https://segmentfault.com/a/1190000013291898
2.10Hibernate
- Hibernate工作原理及為什麼要用?
- Hibernate是如何延遲載入(懶載入)?
- Hibernate中怎樣實現類之間的關係?(如:一對多、多對多的關係)
- hibernate的三種狀態之間如何轉換
- 比較hibernate的三種檢索策略優缺點
- hibernate都支援哪些快取策略
- hibernate裡面的sorted collection 和ordered collection有什麼區別
- 說下Hibernate的快取機制
- Hibernate的查詢方式有幾種
- 如何優化Hibernate?
- 談談Hibernate中inverse的作用
- JDBC hibernate 和 ibatis 的區別
- 在資料庫中條件查詢速度很慢的時候,如何優化?
- 什麼是SessionFactory,她是執行緒安全麼
- get和load區別
- persist和save的區別
- merge的含義
- 主鍵生成策略有哪些
- 簡述hibernate中getCurrentSession和openSession區別
- Hibernate中的命名SQL查詢指的是什麼?
- 可不可以將Hibernate的實體類定義為final類?
答案:
- Hibernate最全面試題:https://segmentfault.com/a/1190000013635882
2.11Mybatis
- #{}和${}的區別是什麼?
- 當實體類中的屬性名和表中的欄位名不一樣 ,怎麼辦 ?
- 如何獲取自動生成的(主)鍵值?
- 在mapper中如何傳遞多個引數?
- Mybatis動態sql是做什麼的?都有哪些動態sql?能簡述一下動態sql的執行原理不?
- Mybatis的Xml對映檔案中,不同的Xml對映檔案,id是否可以重複?
- 為什麼說Mybatis是半自動ORM對映工具?它與全自動的區別在哪裡?
- 通常一個Xml對映檔案,都會寫一個Dao介面與之對應,請問,這個Dao介面的工作原理是什麼?Dao介面裡的方法,引數不同時,方法能過載嗎?
- Mybatis比IBatis比較大的幾個改進是什麼
- 介面繫結有幾種實現方式,分別是怎麼實現的?
- Mybatis是如何進行分頁的?分頁外掛的原理是什麼?
- 簡述Mybatis的外掛執行原理,以及如何編寫一個外掛
- Mybatis是否支援延遲載入?如果支援,它的實現原理是什麼?
- Mybatis都有哪些Executor執行器?它們之間的區別是什麼?
- MyBatis與Hibernate有哪些不同?
答案:
- Mybatis常見面試題:https://segmentfault.com/a/1190000013678579
三、網上優質的面試題
以下基本都是我看過,或者沒看完的優質面試題博文(也有部分沒有看,但覺得不錯的面試題)~~~
3.1有答案的面試題
一、優質面試題整理---1:
二、優質面試題整理---2(裡邊有7個部分的):
三、優質面試題整理---3:
四、優質面試題整理---4:
五、優質面試題整理---5:
六、優質面試題整理---6(牛客網120題):
七、優質面試題整理---7:
3.2沒有答案的面試題
此部分大多數沒有答案的,但都是比較優質的面試題
推薦一:
推薦二:
推薦三:
四、除面試題之外還要了解的地方
網際網路校招指南:
程式設計師簡歷:
三方協議究竟是什麼?(我之前看完,個人簡單總結一下:如果你不是非常確定畢業前留在某間公司,就不要著急籤第三方!【我是非專業人員,這方面得多自己考慮,以上是我的個人對三方協議的理解】)
- zhuanlan.zhihu.com/p/27812661
- zhuanlan.zhihu.com/p/27251453
- www.zhihu.com/question/55…
- www.zhihu.com/question/26…
簡歷投遞平臺(我投遞過的):
- BOSS直聘
- 前程無憂
- 實習憎
優質的面經+資料:
五、總結
網上的資源還是多呀,上面基本都是我在逛部落格,找資料的時候積累收藏起來的。當然了,網上的資源很多很多,如果你也收藏了自認為比較好的資源,不妨在評論區分享出來一起學習學習~~
這些網上這麼多的面試題也不可能全部看完,根據自己的情況來看吧。看面試題也是校驗自己是否真正理解了這個知識點,也很有可能會有新的收穫。
最後,祝在找工作的朋友們能找到一份心儀的工作,在工作的朋友們能夠加薪,在讀書的朋友們學業進步哈~~
如果文章有錯的地方歡迎指正,大家互相交流。習慣在微信看技術文章,想要獲取更多的Java資源的同學,可以關注微信公眾號:Java3y。
文章的目錄導航: