1.Java基礎javascript
ArrayList,HashMap等集合框架類,重要基礎類String等的處理。HashMap的底層存儲結構等。java
(也能夠順帶考察下對接口,繼承,重載重寫的基本理解;以及異常處理的注意事項)。node
2. 數據結構與算法mysql
常見的查找算法及時間複雜度。jquery
常見的排序算法及時間複雜度。web
比較重要的數據結構,如鏈表,隊列,棧的基本理解及大體實現。面試
3. 多線程問題redis
1)線程安全問題。 HashMap 是否線程安全,爲什麼不安全。 ConcurrentHashMap,線程安全,爲什麼安全。底層實現是怎麼樣的。算法
2)J.U.C下的常見類的使用。 ThreadPool的深刻考察; BlockingQueue的使用。(take,poll的區別,put,offer的區別);原子類的實現。spring
4)各類常見鎖使用
若是上面這些掌握很好,還能夠看看更深一點的 False Sharing,Cache Line,可見性與原子性等;
4. JVM
Java內存分代模型,GC算法,JVM常見的啓動參數; CMS算法的過程。
這塊回答較好,也能夠只是看畢玄的Java分佈式開發或網上文章的學習, 能夠結合JVM啓動參數常見配置,jstat等命令,看下動手能力,意願;以及實際線上問題排查。
5.Linux使用與問題分析排查
1). grep,awk,sed; 是否本身寫過shell腳本;
2). 常見的cpu load太高,us太高,通常是什麼問題。引伸出是否用過top,jstat,jstack等。
常見的內存問題通常有哪些。 引伸出是否用過free,top, jmap等。
6. 框架使用
spring aop的底層實驗原理。 aop與cglib,與asm的關係。
spriong ioc的生命週期,(init-method,intilizingbean接口方法afterPropertiesSet的前後順序)等。
Hibernate對一二級緩存的使用,Lazy-Load的理解;
7. 數據庫相關:
1. mysql存儲引擎中索引的實現機制;
2.數據庫事務的幾種粒度;
3.行鎖,表鎖;樂觀鎖,悲觀鎖
8.網絡協議:
HTTP協議;
HTTPS協議,SSL協議及完整交互過程;
9. redis
redis,memcache底層客戶端使用一致性Hash,看是否瞭解;
redis的事件驅動多路複用底層實現;引伸到NIO編程, 看對Netty,或mina是否瞭解。
若是候選者同時用過memcache,redis,看下是否瞭解二者在使用場景上的區別。以考察使用深度,以及是否有好奇精神。
10. 設計模式與重構
常見設計模式,如singlen,factory,abstract factory,strategy,chain,adaptor,decorator,composite,template,absever等。
重構:重構書籍
11. 學習與進取心
最近上過上哪些技術站點; 最近在看哪些書。
12. 抗壓能力及抗壓意願
瞭解加班狀況,瞭解是否願意在一段時間996等;
13 穩定性考察
瞭解家庭婚姻情況, 瞭解購房及居住地,籍貫狀況,瞭解目前薪資,評估穩定性;
=======
1.進程和線程的區別
2.什麼叫線程安全?舉例說明
3.OSI七層模型,包括TCP,IP的一些基本知識
4.數據庫的鎖
5.DFS,BFS算法
6.還有一些諸如collection framework的Java基礎
七、http中,get post的區別
其餘的面試,感受問的頗有表明性:
第一面(只記得這麼多了)
一、筆試題第四題實現又口述了下
二、有個每秒鐘5k個請求,查詢手機號所屬地的筆試題(記得不完整,沒列出),如何設計算法?請求再多,好比5w,如何設計整個系統?
三、比較熟悉什麼技術?我說jvm和oracle,就讓我畫jvm的體系結構,畫了以後說各個部分的職責,並扯到運行期優化。
第二面(沒有技術細節,都是泛泛的,可是我回答的比較保守,只以爲能口若懸河的說上半小時纔敢說看過或瞭解)
一、是否願意去杭州
二、熟悉各類技術框架麼?源碼讀過麼?
三、數據庫瞭解什麼?mysql瞭解麼
四、前臺技術,看我用的ExtJS,就問是否瞭解JQuery
五、進如今的公司,以爲對技術是否有提高?
第三面,此面沒有技術問題
第四面HR(感受這面問題回答的有點扯,畢竟是這麼幾年來首次面HR,以前面過二、3個公司,要麼很早就掛了,要麼感受流程太長,本身不肯意麪下去)
一、願意去杭州發展麼?我說要考慮,hr就問主要考慮什麼問題
二、從技術角度來講,你以爲你跟你同窗比怎麼樣
三、你的父母怎麼看待你的
一、jvm性能調優都作了什麼
二、高併發狀況下,咱們系統是如何支撐大量的請求的
三、集羣如何同步會話狀態
四、負載均衡的原理
五、數據庫事務屬性
六、二叉樹的遍歷算法
七、hashtable和hashmap的區別
八、併發、同步的接口或方法
九、string、stringbuilder、stringbuffer區別
十、https處理的一個過程,對稱加密和非對稱加密
十一、線程的幾種狀態
十二、瞭解手機開發麼
1三、我的優點
1四、與同事溝通的時候,若是遇到衝突瞭如何解決
1五、工做中以爲哪方面欠缺?
1六、有問題要問麼?
1七、指望薪水
1八、爲何要離開如今的公司
* struts1.2和webwork的區別
* hibernate和ibatis的區別
* spring工做機制,IOC容器
* servlet的一些相關問題
* webservice相關
* java基礎:jvm,HashSet等等
* 考察學習新技術的能力
其餘:
1. 店鋪相關的業務特色決定,有先後端知識是加分項。 若是候選者熟悉javascript。
能夠考察:
1) 先後端優化的基本常識,好比js放在後面不阻塞等;原生js的理解,正則,時間冒泡等。
2)firebug,fiddle等調試工具;
3)若是是基本使用,看下ext框架,jquery等熟悉程度。jquery插件機制,sizzle選擇器。
若是以上都不錯,能夠再深刻考察
1)做用域鏈, 閉包的理解。
2)看下是否瞭解最新的技術。 augularJS, nodejs,cmd規範,amd規範等。