Java面試前需要了解的東西

Java3y發表於2018-06-24

一、前言

只有光頭才能變強

回顧前面:

上一篇寫了自己面試的經歷和一些在面試的時候遇到的題目(筆試題和麵試題)。

我在面試前針對Java基礎也花了不少的時間,期間也將自己寫過的博文粗略地刷了一遍,同時也在網上找了不少比較好的資料(部分是沒看完的)。在這裡給大家分享一下~~~

這是我刷完自己寫過的筆記寫的一篇文章導航,針對於PC端的:zhongfucheng.bitcron.com/post/shou-j…比較重要的知識點也畫了思維導圖,後面新發的文章也會補充上去的。

可能會感興趣的資料:

二、在學習的時候整理的面試題

之前在學習或者整理知識點的時候也喜歡去找找面試題看,以下是我個人整理的面試題:

2.1集合

  1. ArrayList和Vector的區別
  2. HashMap和Hashtable的區別
  3. List和Map的區別
  4. Set裡的元素是不能重複的,那麼用什麼方法來區分重複與否呢? 是用==還是equals()?
  5. Collection和Collections的區別
  6. 說出ArrayList,LinkedList的儲存效能和特性
  7. Enumeration和Iterator介面的區別
  8. ListIterator有什麼特點
  9. 併發集合類是什麼?
  10. Java中HashMap的key值要是為類物件則該類需要滿足什麼條件?
  11. ArrayList集合加入1萬條資料,應該怎麼提高效率
  12. 與Java集合框架相關的有哪些最好的實踐

答案:

2.2Servlet+Tomcat面試題

  1. Tomcat的預設埠是多少,怎麼修改
  2. Tomcat 有哪幾種Connector 執行模式(優化)?
  3. Tomcat有幾種部署方式
  4. Servlet生命週期
  5. get方式和post方式有何區別
  6. doGet與doPost方法的兩個引數是什麼
  7. 獲取頁面的元素的值有幾種方式,分別說一下
  8. request.getAttribute()和request.getParameter()區別
  9. forward和redirect的區別
  10. tomcat容器是如何建立servlet類例項?用到了什麼原理
  11. 什麼是cookie?Session和cookie有什麼區別?
  12. Servlet安全性問題

答案:

2.3JSP面試題

  1. jsp靜態包含和動態包含的區別
  2. jsp有哪些內建物件?作用分別是什麼?
  3. jsp和servlet的區別、共同點、各自應用的範圍?
  4. 屬性作用域範圍
  5. 寫出5種JSTL常用標籤
  6. 寫一個自定義標籤要繼承什麼類
  7. JSP是如何被執行的?執行效率比SERVLET低嗎?
  8. 如何避免jsp頁面自動生成session物件?
  9. jsp的缺點?
  10. 說出Servlet和CGI的區別?
  11. 簡述JSP的設計模式。

答案:

2.4JDBC

  1. JDBC運算元據庫的步驟 ?
  2. JDBC中的Statement 和PreparedStatement,CallableStatement的區別?
  3. JDBC中大資料量的分頁解決方法?
  4. 說說資料庫連線池工作原理和實現方案?
  5. Java中如何進行事務的處理?
  6. 寫出一段JDBC連線本機MySQL資料庫的程式碼
  7. JDBC是如何實現Java程式和JDBC驅動的鬆耦合的?
  8. execute,executeQuery,executeUpdate的區別是什麼?
  9. JDBC的髒讀是什麼?哪種資料庫隔離級別能防止髒讀?
  10. 什麼是幻讀,哪種隔離級別可以防止幻讀?
  11. JDBC的DriverManager是用來做什麼的?
  12. JDBC的ResultSet是什麼?
  13. 有哪些不同的ResultSet?
  14. JDBC的DataSource是什麼,有什麼好處
  15. JDBC中存在哪些不同型別的鎖?
  16. java.util.Date和java.sql.Date有什麼區別?
  17. 如果java.sql.SQLException: No suitable driver found該怎麼辦?
  18. JDBC的RowSet是什麼,有哪些不同的RowSet?
  19. 什麼是JDBC的最佳實踐?

答案:

2.5資料庫

  1. 什麼是儲存過程?有哪些優缺點?
  2. 三個正規化是什麼
  3. 什麼是檢視?以及檢視的使用場景有哪些?
  4. drop、delete與truncate分別在什麼場景之下使用?
  5. 索引是什麼?有什麼作用以及優缺點?
  6. 什麼是事務?
  7. 資料庫的樂觀鎖和悲觀鎖是什麼?
  8. 超鍵、候選鍵、主鍵、外來鍵分別是什麼?
  9. SQL 約束有哪幾種?
  10. 資料庫執行於哪種狀態下可以防止資料的丟失?
  11. Mysql儲存引擎
  12. MyIASM和Innodb兩種引擎所使用的索引的資料結構是什麼?
  13. varchar和char的區別
  14. mysql有關許可權的表都有哪幾個
  15. 資料表損壞的修復方式有哪些?
  16. MySQL中InnoDB引擎的行鎖是通過加在什麼上完成
  17. 資料庫優化的思路
  18. Oracle和Mysql的區別

答案:

2.6HTTP

  1. Http與Https的區別:
  2. 什麼是Http協議無狀態協議?怎麼解決Http協議無狀態協議?
  3. URI和URL的區別
  4. 常用的HTTP方法有哪些?
  5. HTTP請求報文與響應報文格式
  6. HTTPS工作原理
  7. 一次完整的HTTP請求所經歷的步驟
  8. 常見的HTTP相應狀態碼
  9. HTTP1.1版本新特性
  10. HTTP優化方案

答案:

2.7XML+JSON

  1. 什麼是JSON和XML
  2. JSON與XML區別是什麼? 有什麼共同點
  3. JSON、XML解析有那些方式?
  4. XML和JSON優缺點
  5. XPath 是什麼
  6. XML 名稱空間是什麼?它為什麼很重要
  7. DOM 和 和 SAX 解析器有什麼區別
  8. XSLT 是什麼?

答案:

2.8過濾器和監聽器面試題

  1. 監聽器有哪些作用和用法?
  2. 過濾器有哪些作用和用法?
  3. web.xml 的作用?
  4. Servlet 3中的非同步處理指的是什麼?

答案:

2.9AJAX

  1. 什麼是AJAX,為什麼要使用Ajax
  2. AJAX應用和傳統Web應用有什麼不同?
  3. 請介紹一下XMLhttprequest物件
  4. 介紹一下XMLHttpRequest物件的常用方法和屬性
  5. Ajax的實現流程是怎樣的?
  6. AJAX請求總共有多少種CALLBACK
  7. XMLHttpRequest物件在IE和Firefox中建立方式有沒有不同。
  8. AJAX有哪些有點和缺點?
  9. 請解釋一下 JavaScript 的同源策略。
  10. 闡述一下非同步載入JS。
  11. 如何解決跨域問題?
  12. Ajax 解決瀏覽器快取問題?

答案:

2.10Hibernate

  1. Hibernate工作原理及為什麼要用?
  2. Hibernate是如何延遲載入(懶載入)?
  3. Hibernate中怎樣實現類之間的關係?(如:一對多、多對多的關係)
  4. hibernate的三種狀態之間如何轉換
  5. 比較hibernate的三種檢索策略優缺點
  6. hibernate都支援哪些快取策略
  7. hibernate裡面的sorted collection 和ordered collection有什麼區別
  8. 說下Hibernate的快取機制
  9. Hibernate的查詢方式有幾種
  10. 如何優化Hibernate?
  11. 談談Hibernate中inverse的作用
  12. JDBC hibernate 和 ibatis 的區別
  13. 在資料庫中條件查詢速度很慢的時候,如何優化?
  14. 什麼是SessionFactory,她是執行緒安全麼
  15. get和load區別
  16. persist和save的區別
  17. merge的含義
  18. 主鍵生成策略有哪些
  19. 簡述hibernate中getCurrentSession和openSession區別
  20. Hibernate中的命名SQL查詢指的是什麼?
  21. 可不可以將Hibernate的實體類定義為final類?

答案:

2.11Mybatis

  1. #{}和${}的區別是什麼?
  2. 當實體類中的屬性名和表中的欄位名不一樣 ,怎麼辦 ?
  3. 如何獲取自動生成的(主)鍵值?
  4. 在mapper中如何傳遞多個引數?
  5. Mybatis動態sql是做什麼的?都有哪些動態sql?能簡述一下動態sql的執行原理不?
  6. Mybatis的Xml對映檔案中,不同的Xml對映檔案,id是否可以重複?
  7. 為什麼說Mybatis是半自動ORM對映工具?它與全自動的區別在哪裡?
  8. 通常一個Xml對映檔案,都會寫一個Dao介面與之對應,請問,這個Dao介面的工作原理是什麼?Dao介面裡的方法,引數不同時,方法能過載嗎?
  9. Mybatis比IBatis比較大的幾個改進是什麼
  10. 介面繫結有幾種實現方式,分別是怎麼實現的?
  11. Mybatis是如何進行分頁的?分頁外掛的原理是什麼?
  12. 簡述Mybatis的外掛執行原理,以及如何編寫一個外掛
  13. Mybatis是否支援延遲載入?如果支援,它的實現原理是什麼?
  14. Mybatis都有哪些Executor執行器?它們之間的區別是什麼?
  15. MyBatis與Hibernate有哪些不同?

答案:

三、網上優質的面試題

以下基本都是我看過,或者沒看完的優質面試題博文(也有部分沒有看,但覺得不錯的面試題)~~~

3.1有答案的面試題

一、優質面試題整理---1:

二、優質面試題整理---2(裡邊有7個部分的):

三、優質面試題整理---3:

四、優質面試題整理---4:

五、優質面試題整理---5:

六、優質面試題整理---6(牛客網120題):

七、優質面試題整理---7:

3.2沒有答案的面試題

此部分大多數沒有答案的,但都是比較優質的面試題

推薦一:

推薦二:

推薦三:

四、除面試題之外還要了解的地方

網際網路校招指南:

程式設計師簡歷:

三方協議究竟是什麼?(我之前看完,個人簡單總結一下:如果你不是非常確定畢業前留在某間公司,就不要著急籤第三方!【我是非專業人員,這方面得多自己考慮,以上是我的個人對三方協議的理解】)

簡歷投遞平臺(我投遞過的):

  • BOSS直聘
  • 前程無憂
  • 實習憎

優質的面經+資料:

五、總結

網上的資源還是多呀,上面基本都是我在逛部落格,找資料的時候積累收藏起來的。當然了,網上的資源很多很多,如果你也收藏了自認為比較好的資源,不妨在評論區分享出來一起學習學習~~

這些網上這麼多的面試題也不可能全部看完,根據自己的情況來看吧。看面試題也是校驗自己是否真正理解了這個知識點,也很有可能會有新的收穫。

最後,祝在找工作的朋友們能找到一份心儀的工作,在工作的朋友們能夠加薪,在讀書的朋友們學業進步哈~~

如果文章有錯的地方歡迎指正,大家互相交流。習慣在微信看技術文章,想要獲取更多的Java資源的同學,可以關注微信公眾號:Java3y

文章的目錄導航

相關文章