一、前言
只有光頭才能變強
回顧前面:
上一篇寫了自己面試的經歷和一些在面試的時候遇到的題目(筆試題和面試題)。
我在面試前針對Java基礎也花了不少的時間,期間也將自己寫過的博文粗略地刷了一遍,同時也在網上找了不少比較好的資料(部分是沒看完的)。在這里給大家分享一下~~~
這是我刷完自己寫過的筆記寫的一篇文章導航,針對于PC端的:https://zhongfucheng.bitcron.com/post/shou-ji/pcduan-wen-zhang-dao-hang。比較重要的知識點也畫了思維導圖,后面新發的文章也會補充上去的。
可能會感興趣的資料:
- 思維導圖原圖:https://zhongfucheng.bitcron.com/post/shou-ji/nao-tu-da-quan
- 視頻網盤:https://zhongfucheng.bitcron.com/post/shou-ji/shi-pin-wang-pan
二、在學習的時候整理的面試題
之前在學習或者整理知識點的時候也喜歡去找找面試題看,以下是我個人整理的面試題:
2.1集合
- ArrayList和Vector的區別
- HashMap和Hashtable的區別
- List和Map的區別
- Set里的元素是不能重復的,那么用什么方法來區分重復與否呢? 是用==還是equals()?
- Collection和Collections的區別
- 說出ArrayList,LinkedList的存儲性能和特性
- Enumeration和Iterator接口的區別
- ListIterator有什么特點
- 并發集合類是什么?
- Java中HashMap的key值要是為類對象則該類需要滿足什么條件?
- ArrayList集合加入1萬條數據,應該怎么提高效率
- 與Java集合框架相關的有哪些最好的實踐
答案:
2.2Servlet+Tomcat面試題
- Tomcat的缺省端口是多少,怎么修改
- Tomcat 有哪幾種Connector 運行模式(優化)?
- Tomcat有幾種部署方式
- Servlet生命周期
- get方式和post方式有何區別
- doGet與doPost方法的兩個參數是什么
- 獲取頁面的元素的值有幾種方式,分別說一下
- request.getAttribute()和request.getParameter()區別
- forward和redirect的區別
- tomcat容器是如何創建servlet類實例?用到了什么原理
- 什么是cookie?Session和cookie有什么區別?
- Servlet安全性問題
答案:
2.3JSP面試題
- jsp靜態包含和動態包含的區別
- jsp有哪些內置對象?作用分別是什么?
- jsp和servlet的區別、共同點、各自應用的范圍?
- 屬性作用域范圍
- 寫出5種JSTL常用標簽
- 寫一個自定義標簽要繼承什么類
- JSP是如何被執行的?執行效率比SERVLET低嗎?
- 如何避免jsp頁面自動生成session對象?
- jsp的缺點?
- 說出Servlet和CGI的區別?
- 簡述JSP的設計模式。
答案:
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的最佳實踐?
答案:
2.5數據庫
- 什么是存儲過程?有哪些優缺點?
- 三個范式是什么
- 什么是視圖?以及視圖的使用場景有哪些?
- drop、delete與truncate分別在什么場景之下使用?
- 索引是什么?有什么作用以及優缺點?
- 什么是事務?
- 數據庫的樂觀鎖和悲觀鎖是什么?
- 超鍵、候選鍵、主鍵、外鍵分別是什么?
- SQL 約束有哪幾種?
- 數據庫運行于哪種狀態下可以防止數據的丟失?
- Mysql存儲引擎
- MyIASM和Innodb兩種引擎所使用的索引的數據結構是什么?
- varchar和char的區別
- mysql有關權限的表都有哪幾個
- 數據表損壞的修復方式有哪些?
- MySQL中InnoDB引擎的行鎖是通過加在什么上完成
- 數據庫優化的思路
- Oracle和Mysql的區別
答案:
2.6HTTP
- Http與Https的區別:
- 什么是Http協議無狀態協議?怎么解決Http協議無狀態協議?
- URI和URL的區別
- 常用的HTTP方法有哪些?
- HTTP請求報文與響應報文格式
- HTTPS工作原理
- 一次完整的HTTP請求所經歷的步驟
- 常見的HTTP相應狀態碼
- HTTP1.1版本新特性
- HTTP優化方案
答案:
2.7XML+JSON
- 什么是JSON和XML
- JSON與XML區別是什么? 有什么共同點
- JSON、XML解析有那些方式?
- XML和JSON優缺點
- XPath 是什么
- XML 命名空間是什么?它為什么很重要
- DOM 和 和 SAX 解析器有什么區別
- XSLT 是什么?
答案:
2.8過濾器和監聽器面試題
- 監聽器有哪些作用和用法?
- 過濾器有哪些作用和用法?
- web.xml 的作用?
- Servlet 3中的異步處理指的是什么?
答案:
2.9AJAX
- 什么是AJAX,為什么要使用Ajax
- AJAX應用和傳統Web應用有什么不同?
- 請介紹一下XMLhttprequest對象
- 介紹一下XMLHttpRequest對象的常用方法和屬性
- Ajax的實現流程是怎樣的?
- AJAX請求總共有多少種CALLBACK
- XMLHttpRequest對象在IE和Firefox中創建方式有沒有不同。
- AJAX有哪些有點和缺點?
- 請解釋一下 JavaScript 的同源策略。
- 闡述一下異步加載JS。
- 如何解決跨域問題?
- Ajax 解決瀏覽器緩存問題?
答案:
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類?
答案:
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有哪些不同?
答案:
三、網上優質的面試題
以下基本都是我看過,或者沒看完的優質面試題博文(也有部分沒有看,但覺得不錯的面試題)~~~
3.1有答案的面試題
一、優質面試題整理---1:
二、優質面試題整理---2(里邊有7個部分的):
三、優質面試題整理---3:
四、優質面試題整理---4:
五、優質面試題整理---5:
六、優質面試題整理---6(牛客網120題):
七、優質面試題整理---7:
3.2沒有答案的面試題
此部分大多數沒有答案的,但都是比較優質的面試題
推薦一:
推薦二:
推薦三:
四、除面試題之外還要了解的地方
互聯網校招指南:
程序員簡歷:
三方協議究竟是什么?(我之前看完,個人簡單總結一下:如果你不是非常確定畢業前留在某間公司,就不要著急簽第三方!【我是非專業人員,這方面得多自己考慮,以上是我的個人對三方協議的理解】)
- https://zhuanlan.zhihu.com/p/27812661
- https://zhuanlan.zhihu.com/p/27251453
- https://www.zhihu.com/question/55830264/answer/150124081
- https://www.zhihu.com/question/264144015/answer/277539104
簡歷投遞平臺(我投遞過的):
- BOSS直聘
- 前程無憂
- 實習憎
優質的面經+資料:
五、總結
網上的資源還是多呀,上面基本都是我在逛博客,找資料的時候積累收藏起來的。當然了,網上的資源很多很多,如果你也收藏了自認為比較好的資源,不妨在評論區分享出來一起學習學習~~
這些網上這么多的面試題也不可能全部看完,根據自己的情況來看吧。看面試題也是校驗自己是否真正理解了這個知識點,也很有可能會有新的收獲。
最后,祝在找工作的朋友們能找到一份心儀的工作,在工作的朋友們能夠加薪,在讀書的朋友們學業進步哈~~
如果文章有錯的地方歡迎指正,大家互相交流。習慣在微信看技術文章,想要獲取更多的Java資源的同學,可以關注微信公眾號:Java3y。為了大家方便,剛新建了一下qq群:742919422,大家也可以去交流交流。謝謝支持了!希望能多介紹給其他有需要的朋友
文章的目錄導航: