百度研發面經整合版

百度研發面經整合版

本文首發於微信公衆號:程序員江湖

軟件研發工程師

基礎研發工程師

百度智能雲

百度核心搜索部

百度今年的提前批有點奇怪,好像都不走流程,牛客上好幾個百度內推的帖子,我投了幾個,基本上都是百度智能雲的,當然也有其他部門。

下面是我的面經,包括三個部門的面試,每個部門側重點不太一樣。

◆ ◆ ◆ ◆ ◆

1一面

百度智能雲 賬號和消息部門

一面:

1 項目

2 講一下AOP吧

3 動態代理和靜態代理有什麼區別

4 TCP和IP報文是否會分片,分別在什麼情況下會分片。

TCP分包之後是否還會進行ip分片

5 做個題

無限長軌道。兩輛車同方向開,車會滴水,怎麼讓他們相遇。這題簡直像腦筋急轉彎。

6 寫一個斐波那契數列

遞歸式,要求改進

dp方式,要求優化空間

用三個變量代替數組進行dp,要求改進

我說數學公式,OK。

7 講一下Linux的內存結構,我說只會JVM的,他讓我說一下。

兩者的內存如何映射,是什麼關係,不會。

8 沒了

二面:

1 項目講一下,10多分鐘去了。

2 排序算法,複雜度,比較。快排的空間複雜度是logn

3 講一下OSI七層模型,我說了5層模型,然後他讓我再補充一下,問了每層的作用,問了wifi屬於哪一層。

4 線程間的同步用什麼方式,說了object方法。

問我使用hashmap時重寫哪兩個方法,爲什麼要重寫,巴拉巴拉,什麼場景下重寫。

5 平時用過什麼數據結構,list用哪些有啥區別。

6 Spring中的ioc和aop。ioc的註解有哪些。

autowired和resource有什麼區別,作用域有哪些。

autowired如何配置兩個類中的一個嗎

7 寫一個單例模式,有點忘卻了,巴拉巴拉搞出一個雙重檢測的,中間改了多次。

8 Java會有內存泄漏嗎,三個區分別什麼情況下會產生內存泄漏

三面:

1 主要了解哪些技術

2 分佈式系統怎麼設計,說了CAP和BASE,最終一致性

3 問我最終一致性是什麼,舉一下強一致性和最終一致性的例子。分佈式事務和消息隊列

4 分佈式事務的消息id怎麼確認順序,我說使用zk

5 zk的性能瓶頸怎麼克服,我說使用redis和redis集羣。

6 跨機房的網絡延遲怎麼解決,我說不懂,他讓我猜一俠華北到華南的延遲時間大概是多久,我說大概十秒內。

7 網絡這塊熟麼,說一下socket編程吧。說了一下java的socket

8 網絡編程的NIO和BIO區別,阻塞指的是什麼意思呢。

9 socket客戶端和服務端的連接過程和通信過程說一下。

10 操作系統熟麼,一般版,shell和命令熟麼,不熟。

11 算法熟麼,答不熟。

12 系統怎麼設計,設計模式怎麼用

13 系統優化怎麼做,cpu,IO,內存分別怎麼排查問題和調優

14 家鄉,女朋友,巴拉巴拉

百度核心搜索

一面:

1 自我介紹

2 docker和k8s瞭解多少

3 研究生學了哪些課程

4 操作系統瞭解麼,講一下進程和線程

5 死鎖和處理方式

6 內存,虛擬內存和頁面置換

7 網絡瞭解麼,講一下三次握手和四次揮手

8 數據庫瞭解多少,mysql索引,事務,鎖講了一些

9 Redis呢,講了一下數據結構,持久化方式,使用場景

10 分佈式瞭解哪些,負載均衡有哪些方式,說了dns,nginx,lvs和硬件,一致性問題怎麼解決,說了2pc,3pc,raft和paxos,zab

10 mysql大表數據查詢,怎麼優化,分表,分庫。

11單鏈表判環

使用快慢指針解決

12 完全二叉樹判斷:

二面:

1 項目

2 docker和kubenetes的原理和了解程度

3 docker的cgroup瞭解麼

4 kubenetes的架構,擴容是怎麼完成的。

5 Java的四種引用

6 Java的線程通信方式

7 Linux的進程通信方式

8 Java的線程池

9 算法

1 - N + 1這些數中取出N個,問剩下的是哪個。。

我說加起來相減,面試官說取巧了,不能這樣。

我說比較數組下標,他還是說取巧。

於是我讓他提示我一下,他說了排序再找。。額

然後想了兩個空間換時間的辦法,一個是用hashmap遍歷兩個數組。一個是合併數組後統計數字出現次數,也是hashmap

給定一串數字,找出所有可能的IP地址組合,比如192168111,組合是192.168.1.11,192.168.11.1。

應該LeetCode的題。之前自己沒寫完整,現場憋出來了。

這個代碼應該沒錯。面試官看了二十分鐘才說ok。

然後我們就這樣沉默了20分鐘,中間他就說了幾句話。

三面:

1項目

2家庭情況

3學習生活的挑戰

4學新技術的方式

5解釋一下docker

6意向城市和崗位方向

百度智能雲

基礎研發工程師

一面

1 項目

2 隊列和棧區別

3 兩個棧實現隊列,兩個棧實現最小值棧

4 數據庫的事務性質,如何實現這些性質

5 事務隔離級別有哪些,默認是什麼級別。

6 已提交讀有什麼問題,用於什麼場景

7 二叉樹瞭解麼,平衡二叉樹呢,有什麼場景會用到呢。

8 殭屍進程和孤兒進程是什麼,分別有什麼危害。

9 主從複製怎麼實現。

10 Redis你用來做什麼,爲什麼不用mq做異步隊列

11 分佈式文件系統瞭解麼,HDFS講一下原理

12 Java中一般用什麼類型表示價格。

13 Java如何把byte類型轉換成字符串

14 Java的string類型爲什麼是不可變的

15 有什麼問題

▼更多精彩內容

騰訊研發面經

阿里中間件研發面經

百度研發面經

螞蟻金服研發面經

更多校招乾貨請關注公衆號:程序員江湖。

--------------------- 本文來自 How_2_Play_Life 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/a724888...

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