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