2018 年,去百度面試 Java 後端的一次面試經歷!
作者:風鈴無聲江舟聽雨
來源:http://codebay.cn/post/7673.html
第一面
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、分佈式緩存的一致性,服務器如何擴容(哈希環)。