作者:風鈴無聲江舟聽雨

來源:http://codebay.cn/post/7673.html

2018 年,去百度面試 Java 後端的一次面試經歷!

第一面

1、給一個函數,返回 0 和 1,概率爲 p 和 1-p,請你實現一個函數,使得返回 01 概率一樣。

2、10 億個 url,每個 url 大小小於 56B,要求去重,內存 4G。

3、把一個 bst 轉化成一個雙向鏈表。

4、http 和 https 區別,https 在請求時額外的過程,https 是如何保證數據安全的。

5、IP 地址子網劃分。

6、POST 和 GET 區別。

7、硬鏈接和軟連接區別。

8、DNS 解析過程。

9、kill 用法,某個進程殺不掉的原因(進入內核態,忽略 kill 信號)。

10、linux 用過的命令。

11、系統管理命令(如查看內存使用、網絡情況)。

12、管道的使用。

13、grep 的使用,一定要掌握,每次都會問在文件中查找。

14、shell 腳本。

15、find 命令。

16、awk 使用。

第二面

1、Linux 下的一些指令,$(進程 id),$?(上一條命令退出時狀態),怎麼查看進程,按照內存大小,CPU 佔用排序等等。(大寫 M 和大寫 P)。

2、http 的 get 和 post 方法。

3、介紹下你所瞭解的 epoll。

4、數據庫 sql 的瞭解程度。

5、項目中遇到的問題,自己咋解決的等等。

6、手寫一個全排列。

7、B樹和B+樹。

8、介紹一下 Hash,怎麼解決衝突。

9、進程間的通信,共享內存方式的優缺點。

第三面

1、說下你平時看的一些技術博客,書籍。

2、linux 下的一些指令。

3、工作中你覺得最不爽的事情是什麼。

4、說下你的優缺點。

5、有沒有想過去創業公司。

6、寫個 strcpy 函數。

7、說說你自己的性格。

8、給你一個系統(面試官好像是無人車部門的),後臺的邏輯已經實現了,但是前端加載很慢,怎麼檢測。

9、以後可能要學習很多新技術,你怎麼看。

10、項目中遇到的困難(提前想好,並且把實現或者優化方法說清楚)。

11、系統的量級、pv、uv 等。

12、應對高併發的解決辦法(分佈式)。

13、在項目中主要負責了哪些工作。

14、nginx 的負載均衡。

15、分佈式緩存的一致性,服務器如何擴容(哈希環)。

相關文章