當前位置: 華文星空 > 新聞

我透過了某獨角獸公司的魔鬼五面:TCP三次握手+MySQL+演算法+微服務+JUC並行相關+設計模式+職業規劃

2022-07-27新聞

Ps:本期面試官出場了該公司:業務線組長+架構師+技術VP+CTO

今年因為疫情的影響,部份公司經營上無法正常維持的,或考慮到未來生存成本問題,默默裁員的企業不在少數,找工作對比往年來看形勢不容樂觀。

我的一些朋友們也在近期換了工作,他們當中有剛畢業沒幹工作多長時間的,也有在職場上工作五年以上的,我跟他們交流後,給我的感受就是,一個字「難」,為什麽呢?因為今年的情況特殊,僧多肉少,同一個崗位競爭必然是激烈的,所以你的面試表現不夠優秀,的確就很難入面試官的法眼了

應聘的是Java後端開發崗位,具體招聘要求如下所示:

第一面技術:業務線組長

1、自我介紹(個人介紹的時間長了一點)

2、拿一個比較有成就感的專案做下介紹 畫出整個專案架構圖,並對著架構圖展開說明每一塊的實作方案,技術選型。

3、假設存取淘寶網站,瀏覽器中輸入它的官網,發生了什麽?

請你說的越詳細越好

該類別其實也是高頻網絡常考題,這裏面就會涉及到CDN(內容分發網絡)、路由器、交換機、DNS網域名稱解析、報文在網絡封包拆包過程、Http協定、TCP建立連線三次握手等等。

其實這一道題目可考察的知識面是很寬的。

4、一個服務存取很慢,可能是哪裏出現了問題?

請你說的越全面越好

這個問題最好是能結合你的專案經驗來分析回答,再做下擴充套件。從一個服務請求主流程經過哪些,所經歷的中介軟體,比如Tomcat、Redis、MySQL(SQL)、池技術(執行緒池、連線池等) 都是有可能是導致服務慢的誘因。

5、手寫演算法:快速排序 常用排序演算法,不多說,已經寫的很熟練了,很快就寫出來了。

6、看看演算法寫的沒有問題的話,接下來開始聊天了:未來大數據行業前景,團隊做的事情,實際上公司已經D輪了,未公開,表示很有錢 :)!

第二面技術:架構師

透過螢幕看到架構師面試官的樣子:

1、自我介紹(還是同樣的套路)

此刻,畢竟號稱是架構師面試官嘛,開始了按面試官的制定的套路出牌了。

2、微服務相關

2.1 專案中微服務業務拆分規則都有哪些?

2.2 使用了 Spring Cloud,如何做技術選型的?

2.3 Spring Cloud框架使用過程中遇到了哪些坑?

3、JUC並行相關

3.1 CAS 樂觀鎖解釋一下?

3.2 AQS 底層原理是如何實作的,結合ReentrantLock來講解一下?

3.3 Java中的鎖都有哪些?結合synchronized講一下鎖的升級過程?

3.4 volatile 如何保證可見性,硬件底層是如何實作的?

4、Spring MVC 相關

4.1 Spring MVC 執行流程是怎樣的?

4.2 Spring MVC 父子容器是如何實作的?

4.3 Spring 事務傳播機制是怎樣的?

5、MySQL相關

5.1 MySQL 索引底層為什麽使用B+樹,使用紅黑樹行不行?

5.2 RR 是如何解決幻讀的?

5.3 講解下 MVCC 機制是如何實作的?

5.4 你的專案中做過哪些索引最佳化?

6、Linux 相關

6.1 常用命令,比如檢視磁盤,統計日誌等

6.2 出現大量 TIME_WAIT 如何檢視,如何解決的?

7、設計模式相關

7.1 專案當中哪些場景使用了哪些設計模式?

7.2 樣版方法設計模式詳細講一下?

8、NIO 相關

8.1 NIO 多路復用的實作原理講一下?

8.2 說說 Netty 裏的元件的作用,描述一下?

8.3 你對 Reactor 模型是如何理解的?

9、手寫演算法:

一個有序陣列 ,一個n,輸出費氏數列,請在5分鐘內手寫出來。

第三面技術:技術VP

1、自我介紹

2、介紹下過往做的專案亮點,並且討論了一下

3、Https加密原理?Https上的證書有開銷嗎?

4、MyBatis一級、二級緩存講一下?

我回答問題的過程匯總,其實內心在想...,技術VP還問這樣的問題呢?

5、線上問題如何排查 OOM

最好的方式就是結合你的專案來說,過往專案中遇到過一定要總結下來。

6、工作中遇到過哪些技術挑戰?如何解決的?

7、你有什麽要問我的嗎?

第四面技術:CTO

1、自我介紹,工作中做了哪些有成就感的貢獻?

2、對於中年危機怎麽看呢?

哈哈,果然是CTO,這位老板說比我大些,行業內一直有所謂「中年危機」的說法,大家聽的多了,也都有自己的看法,盡情發揮吧。

3、平時是如何學習的?

4、未來職業發展規劃如何?

5、有什麽要問我的嗎?

第五面:HR

1、為什麽離職呢?

其實,四面老板也問到了,這個問題要提前考慮好如何回答,建議都是積極正面,不要說以前公司的負面資訊。

2、對大數據web工作的看法?

3、你在當前這家公司工作中最大成就?

4、未來的職業發展規劃是怎麽樣的?

5、對薪資的期望?

6、都有哪些公司正在面試中呢?

這些基本都是 HR 面試常問的一些問題,所以這裏提醒大家在面試準備前,提前演練,如何回答好,避免臨時應對回答出現紕漏。

這次面試前我做了哪些準備?

  • 通用問題
  • 自我介紹(自己在正式面試前,模擬現場多多聯系,這個就不必多說啥了) 專案介紹:重中之重,專案有哪些亮點,在正式面試前,一定要好好梳理出來,多畫畫專案整體架構圖,專案細節當中是如何實作的。

  • 硬實力的提升
  • 對於程式設計師來講「硬實力」是他們會的演算法,電腦知識和編程能力,是生活保障。

    提升硬實力我是這樣做的:
    1. 進階知識點的學習
    1. 實戰書籍的閱讀
    1. 面試前的必備工作→刷題
    1. 演算法與數據結構的補充

    總結

    上面其實大部份問題也都是比較常見的面試考點,最後建議大家正式找工作之前,一定要提前充分準備的,盡量不要裸辭去面,不打沒有準備的仗。

    以上我的經歷希望能夠給大家帶來幫助,另外自己手頭上的資料整理均可免費分享,需要這些資料的朋友可以 {點贊+關註} ,點選下方傳送門就可以免費下載了。