211本+985碩+計算機專業投面百度,坐等一週迎來三面,已拿offer 背景 一面 二面(一週後) 三面 機會是留給有準備的人 總結

背景

計算機六年入門選手,大大小小面試了不少,從小白一路成長而來,也希望能幫助到學弟學妹們。本面試經驗只適用於我這種普普通通沒有背景的萌新,大神勿擾

先介紹一下個人情況211本+985碩+計算機專業,參與的是百度提前批java開發,已拿offer

一面

1. 投遞的崗位是java開發。自我介紹完之後,面試官詢問了一下我的基本情況,問我有沒有求職的具體的方向,比如偏算法、研發、數據庫或者大數據,有沒有自己的一些意願。

2. 深挖項目。涉及到項目的思路、流程;過程中遇到的困難、如何解決的;如何提升性能的;所用到技術的底層原理等。(大概半小時)

3. final、finally和finalize的作用

4. synchronized和volatile的作用和區別

5. Java util包裏面一些常見類的設計,我講了HashMap相關內容。(底層結構、確定下標、擴容、線程不安全等等)

6. ConcurrentHashMap瞭解嗎?(1.8之前分段鎖,1.8之後CAS+synchronized,以及爲什麼會改)

7. CAS瞭解嗎?優缺點?

8. 多線程編程寫過具體代碼嗎?(寫過簡單的Web Server)

9. 那講一講BIO、NIO和AIO。(阻塞/非阻塞,同步/異步,然後分別講各自原理)

10. JVM常用的垃圾回收算法。(各個算法及優缺點,用於新生代回收還是老年代回收,爲什麼?)

11. 平時的開發環境是Linux嗎?熟不熟悉Linux的命令?給一個日誌文件,統計一下UV和PV。(emmm 只會一些最基本的日常操作,這個不會呀。。)

12. 剛提到平時會看一些書,你最近在看什麼書?之後有什麼打算看的書?(最近看 深入理解Java虛擬機 和 併發編程的藝術嘛。。計劃看看算法4)

13. 反問環節。期間問到如果能拿offer,畢業之前能否去實習。(emmm 下學期還有畢業論文,而且實驗室也不會放呀)

14. 算法題目:百度熱搜榜。簡單來說就是:有一個大文件,記錄一段時間內百度所有的搜索記錄,每行放一個搜索詞,因爲搜索量很大,文件非常大,內存放不下,求搜索次數最多的TopN個搜索詞。線下編碼完成,半小時左右回覆郵件。

思路:1. 根據每行單詞的hash值將大文件分爲若干小文件 2. 對於每個小文件,利用HashMap統計詞頻,然後利用優先隊列取TOP N 3. 取每個文件的TOP N,利用優先隊列得到總共的TOP N

(涉及到文件操作。。實在不太熟悉,花了五十分鐘)

二面(一週後)

1. 自我介紹

2. 深挖項目。

3. synchronized與ReentrantLock的作用於區別,以及使用場景。

4. synchronized鎖升級的詳細過程。(無鎖->偏向鎖->輕量級鎖->重量級鎖)

5. 爲什麼synchronized之前是重量級鎖。(底層使用mutex鎖,涉及到用戶態與內核態的轉換,上下文切換消耗較大)

6. 爲什麼synchronized只有鎖升級過程,沒有鎖降級過程?(沒想過這個問題。。爲什麼呢。。)

7. 死鎖的概念。如何避免死鎖。

8. TCP/IP協議包含哪幾層?每一層有哪些協議?TCP/UDP區別,適用場景。

9. 系統設計:在線多人web版聊天室。可以看到所有人的發言,也可以看到聊天室的歷史消息。如何設計?(emmm 沒了解過這類題,拉胯。。。)

10. 認爲自己的優勢在哪?(自誇環節,當然得使勁誇咯hhhh。)

11. 反問環節。同樣問到能否去實習的問題(是因爲部門缺人嗎。。)(上一面結束後,如果有下一面,會在一週內通知。)

12. 算法題目:給N個數組,計算笛卡爾積,並輸出。A[1,2,3],B[4,5,6],C[7,8,9],輸出 {1,4,7},{1,4,8},{1,4,9},{2,4,7}.... 應該是一個不用剪枝的DFS題目吧。

三面

1,評價一下自己前兩面的表現?

3,問項目,問得很細,每一步是怎麼實現的,過程,如果不是自己親手一步一步做絕對會露餡

4,做項目時遇到了什麼困難

5,redis用來做什麼?效率怎麼樣?

6,分佈式鎖都可以怎麼實現?

7,問點計算機基礎吧(終於)

8,java代碼從編寫到運行的過程

9,堆內存通過gc自動回收,棧內存怎麼回收?

10,棧溢出是什麼?什麼場景可能會出現棧溢出?

11,問點網絡吧,syn攻擊瞭解嗎?(以前刷博客看過一眼,只懂個皮毛,不過面試官很好,說如果不瞭解就不問這方面的內容了。我趕緊說不了解)

13,那換個問題吧,輸入url到頁面展示的過程?(竊喜,問過了)

然而並沒有讓我說完,DNS解析詳細問了一下,然後路由轉發詳細問了一下,說看我這方面挺熟的,沒必要再說了。

14,本來說要寫一道算法,但是估計看時間差不多了,就沒讓我寫,直接反問環節

隨便問了點,然後問什麼時候有結果?回覆說一週以內。

機會是留給有準備的人

有需要的朋友請一鍵三連,點擊這裏,直達獲取

這次一面結束之後我反思很久,發現自己真的是有很多不足和漏洞,所以最近一直在規劃自己的學習路線去不足,不論你是複習備戰面試還是自己學習,我相信我所說的多少還是有點用處的。

1,面試刷題

  • BAT面試官手冊
  • Java架構面試題

2,源碼解讀

  • Spring Cloud Alibaba技術棧解讀
  • Java性能調優實戰
  • SpringCloud 微服務架構

3,LeetCode算法刷題寶典

  • 算法刷題寶典
  • Java數據結構和算法.
  • 程序員代碼面試指南 IT名企算法與數據結構題目最優解

總結

總的來說,大多數公司的面試都有共同之處,有些重複的我可能就沒寫了。另外還有一個小技巧可以分享給大家就是,當面試官問你有什麼問題的時候,儘量不要就這麼過了,平時準備的時候多積累問題最好是偏應用方向的問題,可以在這個時候詢問,既可以爲自己答疑解惑,也可以有機會給面試官留下好的印象。

以上就是我在面試前後整理蒐集的面試資源和一個學習路線規劃,希望能對大家有所幫助,有需要的朋友請一鍵三連,點擊這裏,直達獲取

最後最後,再次祝願大家都有理想的去處,身體健康。

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