2019年Java初级和高级部分的技术面试
事實上,并不是我故意想成為一個困難的候選人。畢竟,在我加入這份工作后,我是一名同事,但面試官的角色是,如果高級面試官一般都是一樣的話。
如果你在這里寫,我擔(dān)心一些想面試的朋友會害怕。如果他們有很強的能力和弱能力,他們會被問到更多。我該怎么辦?
這是本文將要討論的主題:如何準(zhǔn)備Java的初學(xué)者和高級技術(shù)訪談。
I.在同理心下,如果你是面試官,你會做什么?
它只能通過簡歷和面試來衡量,沒有別的辦法。如果一頭大奶確認(rèn)了他的能力,但他在面試時無法完全自我認(rèn)證,那么我很抱歉,我無法通過,現(xiàn)實就是這樣。
2.如果面試官由于他的能力而無法大驚小怪,估計他將由領(lǐng)導(dǎo)者領(lǐng)導(dǎo)。并且不再接受采訪,對領(lǐng)導(dǎo)的印象并不好。因此,不可能判斷主觀印象,但會有一些客觀標(biāo)準(zhǔn)。具體來說,它是從各個方面提出問題,并在回答問題時回答候選人。
事實上,一些主題是相似的,但具有不同能力的面試官將有不同的入學(xué)點和進(jìn)步學(xué)位,經(jīng)驗豐富的面試官將探索候選人的優(yōu)勢,并可以從候選人的修辭中判斷候選人。還在閃爍。
2.一般來說,準(zhǔn)備面試的幾個方面
我記得之前的政治,一個大問題10點,分為5分,每個點的標(biāo)準(zhǔn)答案不多,它是一兩句話。訣竅是涵蓋所有要點,更不用說每一點,而是談?wù)勏敕?。相?#xff0c;如果你在某個點上做得更多,其他點都沒有被覆蓋,你只能采取這一點。
同樣,在訪談中,您應(yīng)該全面準(zhǔn)備諸如Java Core,數(shù)據(jù)庫,框架和分布式等主題。根據(jù)我的采訪結(jié)果,我發(fā)現(xiàn)很多候選人都繞道而行。他們要么沒準(zhǔn)備好。準(zhǔn)備時可能沒有它們,他們應(yīng)該準(zhǔn)備一個方面。例如,只準(zhǔn)備了算法問題,答案在這方面非常好,但其他方面都是無知的。
因此,沒有所謂的成功面試作弊,但有一些準(zhǔn)備方法可以幫助提高成功率。
記住,你必須在面試前做好準(zhǔn)備,否則成功的可能性非常低。準(zhǔn)備好之后,你必須考慮所有方面。至于稍后將討論每個點的程度。
3.為建筑準(zhǔn)備的要點
對于初級開發(fā),面試官需要感受到以下幾點。
1.至少在項目中熟悉SSM架構(gòu)。
對此的論點是如何在引入項目時在業(yè)務(wù)流程中使用spring mvc。
2.了解Spring MVC的細(xì)節(jié),例如@Autowired的用法,如何將url映射到Controller,ModelAndView對象返回的方式等等。
3.最好結(jié)合項目的用法,如何使用AOP,攔截器,例如,你可以通過攔截器攔截非法請求,如何使用AOP輸出日志等。
4.關(guān)于ORM,你不應(yīng)該使用任何一種,但你需要知道一對一,一對多,多對多的使用,以及級聯(lián)和反向的使用。
5.最好了解聲明性交易的做法。
如果您想申請高級開發(fā),那么在上述基礎(chǔ)上,最好了解以下知識點:
Spring Bean循環(huán)
最好閱讀源代碼并討論IOC,AOP和Spring MVC的工作流程
最好結(jié)合反思并說出IOC的實施原理等。
Spring Boot和Spring Cloud的一些知識點
需要為數(shù)據(jù)庫準(zhǔn)備的要點
很多考生會閱讀很多SQL技巧,比如選擇怎么寫,插入怎么寫,但僅限于此,不再準(zhǔn)備其他。
這是非常不利的,因為面試官會認(rèn)為即使是初級開發(fā),也應(yīng)該編寫SQL語句,因此這篇文章不會提出更多問題,但會提出以下問題。
1.如何構(gòu)建索引,如何使用它?例如,我構(gòu)建了一個索引,在where語句中寫入名稱如'123%'不會占用索引,在什么情況下不應(yīng)該構(gòu)建索引,哪些語句不會去索引。
2.除了索引之外,您還具有一些SQL優(yōu)化經(jīng)驗,例如子數(shù)據(jù)庫子表,或者通過執(zhí)行計劃來查看SQL優(yōu)化點。最好與您正在處理的項目一起完成。
在這里,我采訪過,大約70%的候選人只知道基本的SQL,所以即使你只有理論經(jīng)驗,說一些優(yōu)化點也會非常有益。
這是對高級開發(fā)優(yōu)化技能的良好理解。
五。需要準(zhǔn)備Java Core
這件作品是基礎(chǔ)。事實上,提出了許多問題。候選人肯定會在項目中使用它,但他們很少會說出這一切。
本節(jié)主要從收集,多線程,異常處理流程和JVM虛擬機等方面提出要求。
收集方面:
1.哈希碼是否已被重寫?在什么情況下,您需要重寫。如果可能,結(jié)合哈希表的算法并說出哈希映射的實現(xiàn)原理。
對于高級開發(fā),最好使用ConcurrentHashMap來說明并發(fā)的底層實現(xiàn)代碼。
2. ArrayList,LinkedList之間的區(qū)別,如基于數(shù)組,基于列表,它們是線程不安全,ArrayList擴展實踐。
對于高級,最好查看底層代碼。
3.如何實現(xiàn)反權(quán)重,如TreeSet和HashSet。
4.收集方法,比如比較方法,包裝成線程安全的方法。
5.一些采訪者可能會問如何通過ArrayList實現(xiàn)隊列或堆棧,這可以準(zhǔn)備。
事實上,多線程并未在項目中使用,但會提出以下問題:
1.同步鎖和重入鎖之間的區(qū)別,然后可能與信號量等反并發(fā)機制有關(guān)。
2.如何在線程中返回值實際上是可調(diào)用的可運行差異。
3.線程的內(nèi)存模型必須由ThreadLocal或volatile關(guān)鍵字指定。
4.線程池,將使用,了解一些常用參數(shù)
在線程方面,可能有更多的并發(fā)機制。如果是高級開發(fā),可能會更深入。
虛擬機方面
1.可以粗略地描述結(jié)構(gòu)圖和過程。
2.確保了解堆的垃圾收集機制。具體來說,你可以畫一幅畫,說年輕一代和老一代。
3.說出垃圾收集過程,然后具體說明如何優(yōu)化代碼中的內(nèi)存性能。
4.最好說是否有OOM異常,如何排除故障?如何查看轉(zhuǎn)儲文件。
5.可以準(zhǔn)備GC的一些概念,例如強弱軟參考,最終確定方法等。在Java技術(shù)堆棧中微信公眾賬號后臺回復(fù):Java,可以閱讀Java核心技術(shù)知識點。
為了讓學(xué)習(xí)變得輕松、高效,今天給大家免費分享一套Java入門教學(xué)資源。幫助大家在成為Java架構(gòu)師的道路上披荊斬棘。需要資料的歡迎加入學(xué)習(xí)交流群:9285,05736
總結(jié)
以上是生活随笔為你收集整理的2019年Java初级和高级部分的技术面试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创建线程的三种方法_Netty源码分析系
- 下一篇: Java程序员越来越多工资反而越高?