1. 程式人生 > >[Java面試一]面試復習大綱.

[Java面試一]面試復習大綱.

off ber 筆試題 筆試 機試 工作流程 如果 mybatis 用途

一、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.你為什麽來XX工作,怎樣看待跳槽?

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面試一]面試復習大綱.