一、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(根據自己的能力看是否需要提及次技術,畢竟購物車的實現方式比較多。)