(也可以順帶考察下對接口,繼承,重載重寫的基本理解。以及異常處理的注意事項)。
2. 數據結構與算法
常見的查找算法及時間複雜度。javascript
常見的排序算法及時間複雜度。
比較重要的數據結構,如鏈表。隊列,棧的基本理解及大體實現。
3. 多線程問題
1)線程安全問題。 HashMap 是否線程安全。爲什麼不安全。 ConcurrentHashMap,線程安全。爲什麼安全。底層實現是怎麼樣的。java
2)J.U.C下的常見類的使用。node
ThreadPool的深刻考察; BlockingQueue的使用。(take,poll的差異,put。offer的差異)。原子類的實現。
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太高,一般是什麼問題。mysql
引伸出是否用過top,jstat。jstack等。
常見的內存問題通常有哪些。 引伸出是否用過free,top。 jmap等。
6. 框架使用
spring aop的底層實驗原理。jquery
aop與cglib,與asm的關係。
spriong ioc的生命週期。(init-method,intilizingbean接口方法afterPropertiesSet的前後順序)等。web
Hibernate對一二級緩存的使用,Lazy-Load的理解。
7. 數據庫相關:
1. mysql存儲引擎中索引的實現機制。
2.數據庫事務的幾種粒度;
3.行鎖,表鎖。樂觀鎖,悲觀鎖
8.網絡協議:
HTTP協議。
HTTPS協議,SSL協議及完整交互過程;面試
假設候選者同一時候用過memcache。redis,看下是否瞭解二者在使用場景上的差異。redis
以考察使用深度。以及是否有好奇精神。算法
10. 設計模式與重構
常見設計模式,如singlen。factory。abstract factory。strategy,chain。adaptor,decorator,composite,template,absever等。spring
重構:重構書籍
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)做用域鏈, 閉包的理解。
2)看下是否瞭解最新的技術。 augularJS, nodejs,cmd規範,amd規範等。