1. 當(dāng)需要往一個(gè)hashMap里面put很多對(duì)象,你會(huì)怎么去new 這個(gè)hashmap?
注:主要審查是否懂得hash的數(shù)據(jù)結(jié)構(gòu),是否會(huì)用
HashMap(int initialCapacity, float loadFactor)
這個(gè)構(gòu)造函數(shù)去創(chuàng)建一個(gè)大容積的Hash結(jié)構(gòu),懂得原理即可。如果回答正確,可深入問hashmap的擴(kuò)容。
2. 實(shí)現(xiàn)一個(gè)先進(jìn)先出的隊(duì)列,分別有arraylist和linkedlist,選擇哪個(gè),為什么?
注:主要審查是否懂得線性表和鏈表。
3. 當(dāng)我們new arrayList(20)一個(gè)這樣的對(duì)象后,不斷往里面添加add(object),加到第21個(gè)后,內(nèi)存會(huì)有什么調(diào)整。
注:主要審查是否懂得可變array的本質(zhì),當(dāng)內(nèi)存進(jìn)行擴(kuò)容的本質(zhì)是
Arrays.copyOf(elementData, newCapacity)
4. 一個(gè)類有幾百個(gè)實(shí)現(xiàn)方法,突然有個(gè)需求:要紀(jì)錄每個(gè)方法被調(diào)用的參數(shù),時(shí)間為日志,這個(gè)怎么去實(shí)現(xiàn)?
注:主要審查是否使用aop等面向切面編程。如果回答正確,繼續(xù)追問,只對(duì)方法名開頭為’insert’,’update’等方法進(jìn)行日志紀(jì)錄,該怎么配對(duì)。注:主要審查對(duì)正則表達(dá)式的掌握。
5.在vi的編輯下,對(duì)光標(biāo)所在行進(jìn)行整行刪除命令是什么,將光標(biāo)移到當(dāng)前行 第一列的命令是什么
注:主要審查在linux下最基礎(chǔ)的vi編輯命令,不懂vi是否可認(rèn)為無在linux真實(shí)工作?
6. 機(jī)器出現(xiàn)OutOfMemoryError: PermGen space 的內(nèi)存溢出錯(cuò)誤,解決思路是什么
注:主要審查是否明白方法區(qū)或叫永久區(qū)的定義,該區(qū)是否內(nèi)存回收,什么實(shí)例會(huì)存放在該區(qū),不求具體實(shí)現(xiàn)方案,主要有大概思路即可。
7. 你的系統(tǒng)將在明天出現(xiàn)讀的高并發(fā),該怎么準(zhǔn)備
注:方法多種,主要檢查思路,漫談來觀察。
8. 一臺(tái)linux服務(wù)器每天定時(shí)生成一批文件,需要將這批文件同步到其他多臺(tái)服務(wù)器,該怎么實(shí)現(xiàn)。
注:方法多種,如rsync,nfs,scp等等,主要檢查linux下文件處理的能力,主要檢查思路。
9. 為什么說盡量減小synchronized 方法
注:主要審核對(duì)同步實(shí)現(xiàn)方法的認(rèn)識(shí),如果能回答出“鎖”的概念,繼續(xù)追問,如果對(duì)實(shí)例方法加synchronized, 鎖的對(duì)象是什么,對(duì)靜態(tài)方法加synchronized ,鎖的對(duì)象是什么
10.說說單例的使用場(chǎng)景是什么,如spring場(chǎng)景中就有許多單例模式
注:答案很多,可以漫談來觀察,能回答出,讓多個(gè)線程相互通信達(dá)到資源共享即可
11. 隨便在jdk或spring的英文api中找一段讓其翻譯
注:能大概說出接口的用處即可
----------------------------------------
by 陳于喆
QQ:34174409
Mail: dongbule@163.com