java后台面试自我介绍_java腾讯远程面试后台研发岗面试题分享
分享一個(gè)騰訊遠(yuǎn)程面試java后臺(tái)研發(fā)崗位的面試經(jīng)過(guò),簡(jiǎn)單來(lái)說(shuō),自我介紹、經(jīng)歷分享、問(wèn)題解答以及敲代碼。
1. 上來(lái)先自我介紹。
2. 講講自己的項(xiàng)目經(jīng)驗(yàn)。
3. ArrayList和LinkedList有什么區(qū)別?
主要區(qū)別:ArrayList是Array(動(dòng)態(tài)數(shù)組)的數(shù)據(jù)結(jié)構(gòu),而LinkedList是Link(鏈表)的數(shù)據(jù)結(jié)構(gòu)。隨機(jī)訪問(wèn)(get和set)時(shí),ArrayList優(yōu)于LinkedList;新增和刪除操作,LinedList比較占優(yōu)勢(shì)。
4. 多線程的內(nèi)容,Java中有很多線程安全的數(shù)據(jù)結(jié)構(gòu),他們?cè)趺礃訉?shí)現(xiàn)的?
所謂 線程安全 就是:一段操縱共享數(shù)據(jù)的代碼能夠保證在同一時(shí)間內(nèi)被多個(gè)線程執(zhí)行而仍然保持其正確性的,就被稱(chēng)為是線程安全的。
線程安全是保證執(zhí)行業(yè)務(wù)邏輯正確的基本前提,為此在多線程開(kāi)發(fā)中,我們盡量采用能保證線程安全的數(shù)據(jù)結(jié)構(gòu)。
JDK已經(jīng)為大家準(zhǔn)備好了一批好用的線程安全容器類(lèi),可以大大減少開(kāi)發(fā)工作量,例如HashTable,ConcurrentHashMap,CopyOnWriteArrayList,CopyOnWriteArraySet,ConcurrentLinkedQueue,Vector,StringBuffer等。
5.synchronized鎖
synchronized是java中并發(fā)編程最重要的關(guān)鍵字之一。
synchronized常用的方式有以下四種public?class?SyncTest{
public?synchronized?void?methodA(){}
public?void?methodB(){
synchronized(this){}
}
public?void?methodC(){
synchronized(xxx.class){}
}
public?static?synchronized?methodD(){}
}
前兩種鎖的是實(shí)例對(duì)象,即對(duì)象鎖,后兩種鎖的是類(lèi)對(duì)象,即類(lèi)鎖(類(lèi)鎖只是個(gè)概念,因?yàn)楸举|(zhì)鎖的本質(zhì)還是對(duì)象)
6. 現(xiàn)場(chǎng)寫(xiě)代碼,單鏈表反轉(zhuǎn)。
鏈表翻轉(zhuǎn)這個(gè)題目,最直接的方法是以3個(gè)指針為單位,變換指針的方向,是on,o1的算法。如果要求不能變換指針,有一個(gè)空間n/2,時(shí)間3/2
n的方法就是兩個(gè)指針同時(shí)走,p2走2步時(shí)p1走一步,p1每走一步就把next壓棧,p2走到底時(shí)p1應(yīng)該走到1/2,然后p1開(kāi)始一步一步走,每走一步就pop一個(gè)指針做swap
value。更多java面試題。
總結(jié)
以上是生活随笔為你收集整理的java后台面试自我介绍_java腾讯远程面试后台研发岗面试题分享的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java单行字符_十个便捷的单行代码编程
- 下一篇: java结束全部操作代码_Java基本的