- 相關(guān)推薦
2024年java多線程面試題及答案
Java舍棄了C語言中容易引起錯誤的指針(以引用取代)、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。那么在java面試中,有哪些面試試題呢?
1)現(xiàn)在有T1、T2、T3三個線程,你怎樣保證T2在T1執(zhí)行完后執(zhí)行,T3在T2執(zhí)行完后執(zhí)行?
這個線程問題通常會在第一輪或電話面試階段被問到,目的是檢測你對”join”方法是否熟悉。這個多線程問題比較簡單,可以用join方法實(shí)現(xiàn)。
2)在Java中Lock接口比synchronized塊的優(yōu)勢是什么?你需要實(shí)現(xiàn)一個高效的緩存,它允許多個用戶讀,但只允許一個用戶寫,以此來保持它的完整性,你會怎樣去實(shí)現(xiàn)它?
lock接口在多線程和并發(fā)編程中最大的優(yōu)勢是它們?yōu)樽x和寫分別提供了鎖,它能滿足你寫像ConcurrentHashMap這樣的高性能數(shù)據(jù)結(jié)構(gòu)和有條件的阻塞。Java線程面試的問題越來越會根據(jù)面試者的回答來提問。我強(qiáng)烈建議在你去參加多線程的面試之前認(rèn)真讀一下Locks,因?yàn)楫?dāng)前其大量用于構(gòu)建電子交易終統(tǒng)的客戶端緩存和交易連接空間。
3)在java中wait和sleep方法的不同?
通常會在電話面試中經(jīng)常被問到的Java線程面試問題。最大的不同是在等待時wait會釋放鎖,而sleep一直持有鎖。Wait通常被用于線程間交互,sleep通常被用于暫停執(zhí)行。
4)用Java實(shí)現(xiàn)阻塞隊(duì)列。
這是一個相對艱難的多線程面試問題,它能達(dá)到很多的目的。第一,它可以檢測侯選者是否能實(shí)際的用Java線程寫程序;第二,可以檢測侯選者對并發(fā)場景的理解,并且你可以根據(jù)這個問很多問題。如果他用wait()和notify()方法來實(shí)現(xiàn)阻塞隊(duì)列,你可以要求他用最新的Java 5中的并發(fā)類來再寫一次。
5)用Java寫代碼來解決生產(chǎn)者——消費(fèi)者問題。
與上面的問題很類似,但這個問題更經(jīng)典,有些時候面試都會問下面的問題。在Java中怎么解決生產(chǎn)者——消費(fèi)者問題,當(dāng)然有很多解決方法,我已經(jīng)分享了一種用阻塞隊(duì)列實(shí)現(xiàn)的方法。有些時候他們甚至?xí)䥺栐趺磳?shí)現(xiàn)哲學(xué)家進(jìn)餐問題。
6)用Java編程一個會導(dǎo)致死鎖的程序,你將怎么解決?
這是我最喜歡的Java線程面試問題,因?yàn)榧词顾梨i問題在寫多線程并發(fā)程序時非常普遍,但是很多侯選者并不能寫deadlock free code(無死鎖代碼?),他們很掙扎。只要告訴他們,你有N個資源和N個線程,并且你需要所有的資源來完成一個操作。為了簡單這里的n可以替換為2,越大的數(shù)據(jù)會使問題看起來更復(fù)雜。通過避免Java中的死鎖來得到關(guān)于死鎖的更多信息。
7) 什么是原子操作,Java中的原子操作是什么?
非常簡單的java線程面試問題,接下來的問題是你需要同步一個原子操作。
8) Java中的volatile關(guān)鍵是什么作用?怎樣使用它?在Java中它跟synchronized方法有什么不同?
自從Java 5和Java內(nèi)存模型改變以后,基于volatile關(guān)鍵字的線程問題越來越流行。應(yīng)該準(zhǔn)備好回答關(guān)于volatile變量怎樣在并發(fā)環(huán)境中確?梢娦、順序性和一致性。
9) 什么是競爭條件?你怎樣發(fā)現(xiàn)和解決競爭?
這是一道出現(xiàn)在多線程面試的高級階段的問題。大多數(shù)的面試官會問最近你遇到的競爭條件,以及你是怎么解決的。有些時間他們會寫簡單的代碼,然后讓你檢測出代碼的競爭條件?梢詤⒖嘉抑鞍l(fā)布的關(guān)于Java競爭條件的文章。在我看來這是最好的java線程面試問題之一,它可以確切的檢測候選者解決競爭條件的經(jīng)驗(yàn),or writing code which is free of data race or any other race condition(這句which is free of data race不會翻譯)。關(guān)于這方面最好的書是《Concurrency practices in Java》。
10) 你將如何使用thread dump?你將如何分析Thread dump?
在UNIx中你可以使用kill -3,然后thread dump將會打印日志,在windows中你可以使用”CTRL+Break”。非常簡單和專業(yè)的線程面試問題,但是如果他問你怎樣分析它,就會很棘手。
11) 為什么我們調(diào)用start()方法時會執(zhí)行run()方法,為什么我們不能直接調(diào)用run()方法?
這是另一個非常經(jīng)典的java多線程面試問題。這也是我剛開始寫線程程序時候的困惑,F(xiàn)在這個問題通常在電話面試或者是在初中級Java面試的第一輪被問到。這個問題的回答應(yīng)該是這樣的,當(dāng)你調(diào)用start()方法時你將創(chuàng)建新的線程,并且執(zhí)行在run()方法里的代碼。但是如果你直接調(diào)用run()方法,它不會創(chuàng)建新的線程也不會執(zhí)行調(diào)用線程的代碼。閱讀我之前寫的《start與run方法的區(qū)別》這篇文章來獲得更多信息。
12) Java中你怎樣喚醒一個阻塞的線程?
這是個關(guān)于線程和阻塞的棘手的問題,它有很多解決方法。如果線程遇到了IO阻塞,我并且不認(rèn)為有一種方法可以中止線程。如果線程因?yàn)檎{(diào)用wait()、sleep()、或者join()方法而導(dǎo)致的阻塞,你可以中斷線程,并且通過拋出InterruptedException來喚醒它。我之前寫的《How to deal with blocking methods in java》有很多關(guān)于處理線程阻塞的信息。
13)在Java中CycliBarriar和CountdownLatch有什么區(qū)別?
這個線程問題主要用來檢測你是否熟悉JDK5中的并發(fā)包。這兩個的區(qū)別是CyclicBarrier可以重復(fù)使用已經(jīng)通過的障礙,而CountdownLatch不能重復(fù)使用。
14) 什么是不可變對象,它對寫并發(fā)應(yīng)用有什么幫助?
另一個多線程經(jīng)典面試問題,并不直接跟線程有關(guān),但間接幫助很多。這個java面試問題可以變的非常棘手,如果他要求你寫一個不可變對象,或者問你為什么String是不可變的。
15) 你在多線程環(huán)境中遇到的共同的問題是什么?你是怎么解決它的?
多線程和并發(fā)程序中常遇到的有Memory-interface、競爭條件、死鎖、活鎖和饑餓。問題是沒有止境的,如果你弄錯了,將很難發(fā)現(xiàn)和調(diào)試。這是大多數(shù)基于面試的,而不是基于實(shí)際應(yīng)用的Java線程問題。
面試前需要做的事情:
擺正心態(tài):
1. 我是來面試的,跟企業(yè)的關(guān)系是對等的,謙虛但不謙卑。
2. 現(xiàn)在的JAVA程序員需求很大,機(jī)會很多。
不要因?yàn)橐患冶痪芙^就失去信心。
3. 放開膽量,不要畏首畏尾,過了這一關(guān)再說。
寫好簡歷,爭取自己動腦寫,可以參考別人,但不能照抄。
個人信息:
突出自己的強(qiáng)項(xiàng):如學(xué)歷,英語六級,小外語。
最好不要寫培訓(xùn)經(jīng)歷。
工作經(jīng)驗(yàn):
一定要寫,根據(jù)個人能力寫1-2年。
盡量寫一些小公司。
專業(yè)技能:
項(xiàng)目經(jīng)驗(yàn):
1. 項(xiàng)目最好按照時間倒序排列。
2. 負(fù)責(zé)模塊一定要寫。
模塊代碼怎么寫、用到什么技術(shù)、模塊流程大致能流利說出要心里有數(shù)。
自我評價:
1. 盡量和工作靠攏,不要說一些無關(guān)的話題。
比如:強(qiáng)調(diào)工作能力、工作經(jīng)驗(yàn),英語能力
優(yōu)秀、學(xué)習(xí)能力、工作熱情、團(tuán)隊(duì)協(xié)作等等。
接到面試應(yīng)該了解該公司的業(yè)務(wù)方向,做到知己知彼。
面試著裝重在整潔,但也不必太過夸張。
面試中需要做的事情:
1. 放松。
太緊張的話,深呼吸,放松點(diǎn)。
心想:“機(jī)會很多,這只是個鍛煉的機(jī)會,不要
太在乎”。
2. 保持微笑,謙虛。
3. 和對方聊天,注意關(guān)鍵詞:比如:尊稱“您”、“經(jīng)理”等,保持一定距離。
同時,也可
以稱呼“我們公司”又拉近一定距離。
4. 如果感覺氛圍太拘謹(jǐn),可以適當(dāng)問問對方一些問題。
比如:聽您的口音是xx人?問問我們公司的一些業(yè)務(wù),隨機(jī)應(yīng)變,根據(jù)周圍環(huán)境提問等。
5. 不要老想著現(xiàn)在說的話如果到了公司兌現(xiàn)不了怎么辦。
大家都是這么過來的,即使被發(fā)
現(xiàn)也沒關(guān)系。
沒人在意這個的。
面試中常見非技術(shù)問題:
我的職業(yè)目標(biāo):
1. 重點(diǎn)在于讓面試官感覺你比較踏實(shí),喜歡做技術(shù), 學(xué)習(xí)能力強(qiáng)。
我想朝系統(tǒng)分析方向發(fā)展,通過努力,爭取能做項(xiàng)目經(jīng)理。
在以后就在說了,還沒像那么多。
讓他認(rèn)為你做技術(shù)比較踏實(shí)。
你為什么要換工作?
1. 不能說以前公司的壞話,以前領(lǐng)導(dǎo)的壞話。
2. 選擇理由:
a) 想到一個更好的平臺,覺得”我們”公司的項(xiàng)目和發(fā)展前景不錯。
b) 離家太遠(yuǎn)。
c) 以前公司的項(xiàng)目開發(fā)完了,現(xiàn)在處于維護(hù)階段,比較清閑。
現(xiàn)在還年輕,想換個發(fā)
展空間,多學(xué)點(diǎn)東西,多做點(diǎn)東西。
希望拿多少錢:
3500左右。
以前工資是3500-4000. 以前的薪水和期望薪水不能差距過大。
我們?yōu)槭裁匆陀媚?你有什么?yōu)勢?
1. 做事踏實(shí),對技術(shù)感興趣,學(xué)習(xí)能力強(qiáng)。
最好有示例證明:比如兩周搞定搜索引擎,AJAx等。
你還有什么問題想問我:
1. 不能問:你覺得我行嗎? 這個絕對不能問,顯得沒信心。
行不行,你問了也沒用。
2. 不能問:我能拿多少錢? 顯得急功近利。
拿多少錢?問了就有用嗎?
3. 不能說: 沒什么問題。
也不合適,應(yīng)該抓住交流的機(jī)會,拉近你和面試官的距離。
可以問:
公司的情況?比如項(xiàng)目、架構(gòu)等。
對方的情況?他負(fù)責(zé)什么?
這段時間我需要準(zhǔn)備什么樣的技術(shù)?
核心:
1. 心態(tài)。
2. 氛圍。
3. 技術(shù)不錯。
做事踏實(shí),對技術(shù)感興趣,學(xué)習(xí)能力強(qiáng)。
面試完后:
1. 總結(jié)面試問題。
沒有總結(jié)就沒有提高。
2. 不用將面試結(jié)果放在心上。
接著發(fā)簡歷,接著面試。
直到上班。
3. 面試失。
a) 技術(shù)不夠。
將筆試問題好好做做。
b) 面試交流有問題。
c) 可能有比你更合適的人了。
工作后:(核心:積累人脈!!)
1. 做好加班的心理準(zhǔn)備。
很可能任務(wù)不能按點(diǎn)完成,需要加班。
2. 重中之重:和周圍的同事處好關(guān)系,和你的小頭目處好關(guān)系。
3. 跳槽不能太頻繁,一個公司至少呆大半年或1年以上,看公司發(fā)展再決定是否跳槽。
4. 人生發(fā)展最重要的問題:積累人脈!
人生發(fā)展三部曲:
技術(shù)積累、人脈積累、尋找獅子。
面試三類能力題型歸類
成也面試,敗也面試。
面試無疑是求職過程中最重要的一關(guān)。
凡跟面試有關(guān)的一切內(nèi)容都時刻觸動著求職者的神經(jīng)。
面試技巧、面試培訓(xùn)、面試問答,壓力面試、情景面試、團(tuán)隊(duì)面試、性格測試??雖然林林總總讓人眼花繚亂,但,還是不得不看,不得不學(xué)。
一些面試書籍中的面試提問動輒數(shù)百題,而網(wǎng)上一些面試問題帖又過于分散,一會兒考驗(yàn)興趣,一會兒評判職業(yè)目標(biāo),讓求職者無從下手,無法把握其精髓。
那么面試提問有無規(guī)律可循?這里將提問歸為三大類,讓讀者有個概括性的了解。
第一類:潛質(zhì)能力的考察
很多公司招聘強(qiáng)調(diào)個人是否有良好的“潛力”,這里的潛力,是指其學(xué)習(xí)、分析、思維、創(chuàng)造創(chuàng)新、市場敏感度等綜合能力。
潛質(zhì)能力是評判應(yīng)聘者是否為優(yōu)秀人才的首要標(biāo)準(zhǔn)。
1、分析判斷能力:
問題舉例:你有無面臨過一些左右為難的場面或問題?當(dāng)你面對這類矛盾沖突的時候,你會怎么做?
2、市場觸覺/敏感度:
問題舉例:你如何看待我們這個行業(yè)的發(fā)展前景?對于公司的發(fā)展和品牌的塑造,你有何高見?
3、創(chuàng)新創(chuàng)造能力:
問題舉例:你曾經(jīng)組織過哪些富有創(chuàng)意的活動或項(xiàng)目?這個項(xiàng)目的創(chuàng)新點(diǎn)在哪里?
4、清晰的職業(yè)目標(biāo)和人生目標(biāo):
問題舉例:請問你為何要應(yīng)聘這個職位?你在5-10年內(nèi)的職業(yè)目標(biāo)是什么?你的人生理想是什么?
5、時間管理能力
問題舉例:請具體說出一個你感覺最為忙碌的時期,比如你需要在一個規(guī)定時間內(nèi)完成很多任務(wù),你是怎樣做到有理有序的?
6、學(xué)習(xí)能力:
問題舉例:你認(rèn)為你目前最欠缺的知識技能是什么?你希望入職后,公司能提供給你哪些培訓(xùn)?是工作培訓(xùn)還是業(yè)余培訓(xùn)?
7、高效的工作能力:
問題舉例:如果某件事情預(yù)計需要三天的時間,而其實(shí)只需要一天就能完成,你會如何處理來保證項(xiàng)目的順利完工?
8、自我管理能力:
問題舉例:你在工作中擁有哪些資源?你怎樣合理規(guī)劃利用這些資源?
第二類:人際交往/溝通能力
除了擁有專業(yè)知識和優(yōu)質(zhì)潛力,人際交往能力和溝通能力就像是日常工作中的潤滑劑,雖然這個能力不是主角,但是若能良好駕馭,能讓你的技能知識如魚得水,反之,很有可能成為被孤立的單兵,即使三頭六臂也無力施展。
隨著知識經(jīng)濟(jì)企業(yè)的發(fā)展和現(xiàn)代服務(wù)業(yè)的興起,企業(yè)對個人的協(xié)作能力、溝通合作能力、客戶服務(wù)能力等提出了更高的要求。
因此在面試中,了解人際交往和溝通這一重要的“情商”考核題目,成了第二大類必備絕技。
1、溝通合作能力:
問題舉例:請給出一個你在日常工作中遇到的與他人合作解決的項(xiàng)目案例。
并具體描述你們在項(xiàng)目中遇到過哪些困難,解決完成的過程。
2、領(lǐng)導(dǎo)能力:
問題舉例:你有無領(lǐng)導(dǎo)團(tuán)隊(duì)完成某項(xiàng)任務(wù)的經(jīng)驗(yàn)?其中運(yùn)用了哪些方法?績效考核,目標(biāo)驅(qū)動,或者是目標(biāo)激勵?
3、人際關(guān)系處理能力
問題舉例:若公司的新進(jìn)員工是你以前的好友,而目前你們正巧是在兩個相互競爭且互相牽制的部門工作,你如何處理工作和私人關(guān)系之間的矛盾?
4、客戶溝通服務(wù)能力:
問題舉例:假設(shè)你是某公司的客戶經(jīng)理,遇到客戶投訴,請問你是如何協(xié)調(diào)公司和客戶之間的關(guān)系,如何妥善處理客戶投訴?請舉例說明。
第三類:積極性/驅(qū)動力的考量
企業(yè)接收員工,除了考察其在能力、經(jīng)驗(yàn)、素質(zhì)上是否優(yōu)秀,更加重要的一點(diǎn)是考察是否能穩(wěn)定地為企業(yè)服務(wù),熱愛企業(yè),適應(yīng)公司文化,和公司的價值觀保持一致。
這樣的考察是對企業(yè)本身、也是對應(yīng)聘者的負(fù)責(zé)。
只有在企業(yè)文化、價值觀問題上高度統(tǒng)一和認(rèn)同,員工才會發(fā)揮主觀能動性,積極努力地工作,給企業(yè)創(chuàng)造良好的效益。
因此,在應(yīng)聘前,求職者應(yīng)該了解企業(yè)文化,熟悉企業(yè)歷史,認(rèn)可企業(yè)精神,掌握具體的工作內(nèi)容和工作方式,熟悉工作環(huán)境,并且確認(rèn)自己對該企業(yè)有仰慕之情和迫切希望進(jìn)入的意愿。
在面試時則要充分表現(xiàn)出你對該企業(yè)的了解和關(guān)注,這樣才可能被企業(yè)認(rèn)可。
1、企業(yè)認(rèn)知:
問題舉例:請問你了解我們公司嗎?對公司的業(yè)務(wù)、工作方式、口碑有有何見解?
2、價值觀衡量:
問題舉例:請問你認(rèn)為一份好工作應(yīng)該是怎樣的?你希望遇到怎樣的老板和同事?你喜歡怎樣風(fēng)格的工作環(huán)境和工作方式?在意見相左的情況下,你是否會暢所欲言,和同事針鋒相對,甚至挑戰(zhàn)你的老板?
3、工作態(tài)度:
問題舉例:你怎樣看待日常加班?你如何看待像咨詢業(yè)那樣的高壓工作方式?
【java多線程面試題及答案】相關(guān)文章:
2023年電工面試題及答案02-07
JAVA高級工程師筆試題及答案08-30
Java與Java web有什么不同01-22
2023計算機(jī)二級java考試上機(jī)模擬試題及答案02-03
Java獲取當(dāng)前的系統(tǒng)時間的方法11-03
JAVA認(rèn)證基礎(chǔ)知識:基于反射機(jī)制的服務(wù)代理調(diào)用07-18
photoshop試題「附答案」01-09
水果的謎語大全及答案04-08