java面試重要知識點複習大綱

java妞妞發表於2017-01-14

面試重要知識點複習大綱

一、Java基礎部分 (搞定所有技術之後才考慮複習的技術點)

1.陣列中的排序問題(筆試或者機試,前者可能性更大)

2.物件導向的理解

3.集合相關的問題,比如hashmap跟hashtable的區別。搞清楚每個集合物件的特性就歐了。

4.多執行緒啟動方式,以及產生死鎖的原因和解決辦法【多執行緒問題不是很常問,有精力就複習這塊內容】

5.IO流,瞭解常見的幾個流物件以及基本的流操作即可,被機試的可能性比較小。

二、Web基礎 (1年工作經驗者需要重點複習的技術點)

1.http協議(定義、常見的請求頭以及響應頭<功能>、狀態碼)

2.tomcat(目錄結構<存放的內容以及配置檔案裡面能做哪些工作>、常見配置;有能力者可以瞭解一下tomcat的原理<啟動載入問題>)

3.jdbc(程式設計步驟、與hibernate以及mybatis的區別)

4.servlet(概念的理解;生命週期、執行緒安全問題、介面相關型別、體系結構<區別>、request以及response的用途、servletContext物件的功能、編碼以及路徑問題)

5.filter(生命週期、常見應用、dofilter裡面的引數、應用場景)

6.jsp(隱式物件、常見標籤<指令、動作>、EL以及JSTL)

7.cookie/session(概念的理解;生命週期,session建立的時期,相關方法的使用)

三、五大框架 (1年以上工作經驗者需要重點複習的技術點)

1.struts2(action相關的問題<書寫方式[區別]、接受請求引數的方式、相關配置、訪問servletAPI的方式>;值棧相關問題<定義、內部結構、如何獲取值棧物件、EL為什麼能訪問值棧中的資料>;struts2與springMVC的區別;攔截器與過濾器的區別;struts2工作原理<執行流程>)

2.hibernate(核心思想要了解;開發流程<載入檔案的過程>;查詢方式;如何優化;sql與hql的區別;update與 saveOrUpdate的區別;get和load的區別;Java物件三種狀態的特徵以及轉換、核心API、一級快取和二級快取、延遲載入)

3.spring(springIOC和DI;生命週期;Bean注入屬性的方式;aop極其相關名詞解釋;核心類;applicationContext與beanFactory的區別;bean例項化有哪些方式)

4.springMVC(工作流程;與struts2的區別;亂碼問題如何處理;各元件的擴充套件型別)

5.mybatis(與jdbc/hibernate的區別;)

四、指令碼 (此項與第五項均是需要掌握的內容、筆試題居多)

1.JavaScript核心物件


2.瀏覽器BOM物件

3.文件物件模型DOM

4.常見事件

5.Ajax程式設計(web互動2種方式的對比)

6.傳統Ajax程式設計的步驟以及從伺服器端返回的資料格式(之間的差別)

7.JSON資料格式的轉換操作

8.jQuery選擇器

9.jQuery的Ajax程式設計(常見方法)

10.其餘的問題都是一些筆試題,讓你直接寫javascript程式碼實現某一功能

五、資料庫

資料庫這一塊幾乎都是一些概念性的問答題(儲存過程、函式、事務、索引、觸發器、檢視、遊標以及一些優化操作),筆試100%會出現,一般考察的都是多表聯合查詢

六、人事相關 (答案內容比較長,未做文字說明,建議給學員講解,避免那些不會說的學員出去面試碰壁)

1.自我介紹(注重的是你之前在公司裡面工作內容,特別是最近在公司裡面做的專案<回答思路參考專案相關問題一>)

2.簡單的介紹一下上一家公司的情況/評價

3.你為什麼來北京工作,怎樣看待跳槽?

4.你對我們公司瞭解嗎?

5.你如果有幸進入我們公司,有什麼規劃嗎?

6.你上一家公司的薪資大概是多少?有哪些組成部分?

7.你有沒有投其它公司?如果其它公司也給了offer,你會如何抉擇?

8.你有物件嗎?打算什麼時候結婚生孩子?

9.你對薪資待遇有什麼要求?能再低一點嗎?

10.你還有什麼問題要問我嗎?

七、專案相關 (重點講解問題:商品管理、訂單、購物車、單點登入等實現思路問題,其餘問題參考文件即可)

1.請介紹一下你最近做的這一個專案吧【思路:專案給誰做的、專案涉及的領域、系統的架構(功能&技術)、系統的用途、系統的部署、使用了哪些比較新穎的技術】

2.談談你對電商行業的瞭解【思路:電商行業的發展、行業技術特點、行業的一些概念】

3.你這個專案大概有哪些功能,你負責了哪些核心功能?【擁有的功能儘可能說多一點,建議10個左右,自己負責的3個大(如商品管理、訂單、購物車),其餘的都是其他組員開發的任務】

4.談談xx(具體的,比如商品管理、訂單、購物車)模組/功能的實現思路?實現的過程中涉及到了哪些技術,這些技術能介紹下嗎?【可參考“02_電商專案面試問題”裡面的答案】

5.你們公司有多少人?有測試嗎?有美工嗎?整個專案組人員配置是怎麼樣的?專案開發的流程大概是什麼樣子的?【檢驗是否有工作經驗的一個問題】


6.這個專案使用了什麼構建工具沒有?有的話,多模組之間是如何劃分的?為什麼要這麼劃分?

7.在這個專案中是如何設計商品規格的?

8.這個系統中你是如何實現跨系統呼叫的?

9.在這個專案中,CMS系統是如何設計的,簡單的說一下設計思路 10.在這個專案中,你們主要使用什麼樣的資料格式來進行資料的傳輸的? 11.單點系統的設計思想你瞭解嗎?他在系統架構中的作用是什麼?位置如何? 12.你們這個專案中訂單ID是怎麼生成的?我們公司最近打算做一個電商專案,如果讓你設計這塊,你會考慮哪些問題?

13.各個伺服器的時間不統一怎麼辦?

14.你們線上部署時什麼樣的,能畫一下嗎?

15.你們生產環境的伺服器有多少臺?

16.你們使用什麼做支付的?如果使用易寶做支付,請求超時了怎麼處理? 17.你剛才不是說付款成功後易寶會有資料返回嗎?如果付款後易寶沒有返回,或者返回超時了,但是錢又已經扣了,你怎麼辦? 18.你們怎麼做退款功能的,要多長時間才能把錢退回給使用者?

19.你購物車存cookie裡邊可以實現不登入就可以使用購物車,那麼我現在沒有登入把商品存購物車了,然後登入了, 然後我換臺電腦並且登入了還能不能看見我購物車的資訊?如果看不到怎麼做到cookie同步,就是在另外一臺電腦上可以看到購物車資訊 20.如果使用者一直向購物車新增商品怎麼辦?並且他新增一次你查詢一次資料庫?網際網路上使用者那麼多,這樣會對資料庫造成很大壓力你怎麼辦?

21.購物車的設計細節問題

八、其他技術問題 (根據自己的精力和實際能力進行選取,主要是為了證明自己的技術能力強、經驗足,提升薪資用的)

1.許可權控制(一般情況,在公司必須有一定工作經驗的開發者才會被分配該功能模組的開發,這意味著學員在剛開始參加工作的那個專案裡面絕對不能寫的內容。) 這裡一般都會提及shiro技術,在這塊需要掌握shiro相關的幾個元件以及他們的呼叫關係,然後就是許可權設計的幾張資料庫表(表之間的關係以及每張表裡面的重要欄位)

2.搜尋系統(普通的查詢會讓面試官問及效率問題,那麼勢必要提到全文檢索技術,由於剛學不是很熟,根據自己掌握的情況進行選擇)

3.瀏覽器跨域問題(前臺系統呼叫可以使用jsonp來實現瀏覽器跨域問題,去年有學員花幾個小時學習這個,僅憑此技術入職8K。)

4.webservice(該技術已有替代技術,如果不會,可以不用花時間去複習)

5.Linux(水太深,只談自己在專案中就部署的時候用了一下即可)

6.redis(根據自己的能力看是否需要提及次技術,畢竟購物車的實現方式比較多。)

java學習直播免費資料群:175161984

相關文章