2020有贊Java面經,已拿offer(附答案和思路)

這是學習羣裏一位女同學秋招面試有讚的面試題,還在校的同學把握好學生的紅利期,把握好秋招。

 

 

以下爲面試過程,因爲該同學簡歷上的項目也是我提供學習的,所以下文的答案全部由我進行整理。

 

 

一面:(36min)

 

面試官人很好,問的比較細,但是我不會的地方會慢慢引導。

 

1、自我介紹

 

自我介紹可分爲三層,第一層介紹基本信息;第二層介紹實習經歷和項目經理及自己擅長的技術棧;第三層簡單說下你的性格興趣愛好等。自我介紹時間把握在1-2分鐘,把自己的優勢和擅長點講出來。平時可以對着鏡子多練練,講的清楚比什麼都重要。

 

 

2、java的集合看過源碼麼?HashMap?自己說了下jdk1.7和1.8的區別(說了頭插和尾插,然後面試官問這個是基於什麼考慮的?還有什麼?答了鏈表數量大於8的時候會轉成紅黑數,然後問我瞭解紅黑樹麼?爲什麼紅黑樹只有紅色和黑色?)HashMap在多線程的情況下線程安全麼?(答得擴容時出現,爲什麼?多線程已經出現了環,也就是死循環,去查找會出現什麼情況?HashMap在擴容的時候允許其他線程去查找麼【一個線程在擴容,另一個線程在查找】?)

 

3、鏈表常用的數據結構?ArrayList和LinkedList的區別?

 

Hashmap面試的信息量很大,面試官拋出一個點,往往希望面試者能較全面的去拓展回答。另一方面,數據結構的直接應用場景就是集合框架,所以集合框架的底層往往離不開數據結構。

 

針對數據結構和集合框架,可以看看以下兩篇文章:

 

#10個數據結構高頻知識點(建議收藏)

#精心整理20道高頻Java集合面試題(建議收藏)

 

 

4、介紹下計算機網絡常見的7層模型或者TCP/IP模型?

 

參考:

https://blog.csdn.net/Yansky58685/article/details/98118124

 

 

5、HTTPS屬於哪一層協議?和HTTP的區別?

 

應用層。區別參考:

https://blog.csdn.net/qq_38289815/article/details/80969419

 

 

6、進程之間的通信方式?

 

五種通信方式的介紹:

https://www.cnblogs.com/zgq0/p/8780893.html

 

 

7、使用Spring主要實現什麼特性?Ioc和AOP?AOP怎麼去實現的?爲什麼我寫了個註解或者Spring的配置文件配置了就可以識別?延伸到代理模式(代理類和被代理類有什麼關係)?適配器模式的區別?裝飾器模式?

 

Spring知識點總結:

https://blog.csdn.net/lz1170063911/article/details/79772474

 

23種設計模式:

http://c.biancheng.net/design_pattern/

 

 

8、有什麼想了解的麼?

 

可以從公司情況出發。比如,您所在的組是做什麼業務,用了哪些技術棧,接下去架構會怎麼樣去演變等等。

 

 

二面:(56min)

 

1、自我介紹

 

2、講一下第一個項目?第一個項目裏邊涉及到數據加密和解密的過程,你們是怎麼處理的?

 

項目中主要對用戶的登陸密碼和支付密碼進行加密,把用戶明文密碼+用戶ID作爲MD5函數的參數,進行加密,確保唯一性。

 

 

3、電商平臺的項目的架構圖畫一下?

 

業務架構

 

技術架構

 

 

4、Spring中AOP的動態代理?流程?

 

一面的第7題。

 

 

5、storm中怎麼確保spout正確的傳給下一個bolt即下一個bolt已經接收到?

 

從Storm如何保證可靠性傳輸的角度進行回答:

https://blog.csdn.net/echosilly/article/details/51674558

 

 

6、說一下Dubbo的架構?

 

 

 

 

Dubbo是一個分佈式服務框架,以及SOA治理方案。其功能主要包括:高性能NIO通訊及多協議集成,服務動態尋址與路由,軟負載均衡與容錯,依賴分析與降級等。

 

它有5個節點,分別是Provider, Consumer, Registry, Monitor, Container。其中Provider是服務提供者, Consumer是服務消費者,Registry是服務進行註冊和被發現的註冊中心,Monitor是統計服務的調用次數和調用時間的監控中心,Container是服務運行容器。

 

他們之間調用的關係是:Container負責啓動,加載然後運行Provider。Provider在啓動時會向註冊中心註冊自己提供的服務,Consumer在啓動時會向Registry訂閱自己所需服務,此時Registry會返回Provider地址列表給Consumer。如果地址有變更,Registry會基於長連接推送變更數據給Consumer。Consumer會基於軟負載均衡算法選一臺提供者進行調用,如果調用失敗,則再選一臺。Provider和Consumer在內存中累計調用次數和調用時間,定時每分鐘發送一次統計數據到Monitor。

 

 

7、說一下zookeeper的leader選舉算法?

 

參考:

https://blog.csdn.net/zuochao_2013/article/details/82558592

 

 

8、redis作爲緩存如何保證和數據庫的一致性?

 

參考:

https://blog.csdn.net/qq_28740207/article/details/80877079

 

 

9、講一下你實習的時候做的工作?通過我說的內容問了很多問題

 

這邊別講太多無關瑣事,針對項目講幾點熟悉的點,把面試官往裏面帶。別讓面試覺得你做了東西很多,但又很淺,但也別爲了所謂的高大上,給自己挖坑。

 

 

10、瞭解輔助索引麼?(說了聚簇和非聚簇)聚簇索引和非聚簇索引的區別?

 

參考:

https://www.cnblogs.com/qlqwjy/p/7770580.html

 

 

11、mybatis?

 

mybatis知識點:

https://blog.csdn.net/q957967519/article/details/82414366

 

 

12、springmvc的流程?

 

參考:

https://www.cnblogs.com/leskang/p/6101368.html

 

 

13、進程或者線程什麼情況下發生死鎖?

 

關於死鎖:

https://blog.csdn.net/wljliujuan/article/details/79614019

 

 

14、說說可重入鎖和讀鎖?讀鎖的底層原理是什麼?(當時引申到了樂觀鎖和悲觀鎖)

 

 

三面:(38min)

1、自我介紹

 

2、我看你本科是一個普通的二本,研究生是985,你覺得你是怎麼考上的?

 

3、當時選專業是自己選的麼?爲什麼選計算機?你們班女生學計算機的有多少?

 

4、會不會覺得寫代碼很枯燥?

 

5、你覺得實習過程中的最大收穫有哪些?

 

6、說下你的優點和缺點?你的老師是怎麼評價你的?你周圍的同學是怎麼評價你的?從哪些事情上邊可以體現出來?能舉個例子麼?

 

7、家是哪裏的?有什麼興趣愛好?

 

8、有贊是你的第幾志願?爲什麼不選杭州的其他公司?

 

9、說一個最近做的項目?以後的職業規劃是什麼?

 

10、期望薪資是多少?現在手上有offer麼?

 

11、有什麼想問我的麼?問了一下面試官對我的評價。

 

---end---

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章