strcmp可以比較數組么_大家都用過百度云,但你面試過百度云么

作者:黃小斜

百度研發面經

百度智能云

軟件研發工程師

a5a420fa9574fda3011c86ee2b0b83fd.png

百度智能云研發崗

好像是做控制臺方面的組

一面:

1自我介紹,項目

2 static關鍵字有什么用,static修飾不同東西時有什么作用,內部類用static修飾和不用static修飾有何區別。

3 hashmap,hashtable,concurrenthashmap區別和場景

4 volatile關鍵字有什么用

5 jvm分區講下,作用講下,gc算法講一下,gc是否會有停頓或者延遲。

6 講一下OOM和內存泄漏的例子,為什么有GC還會出現內存泄漏和內存溢出呢

7 線程和進程的區別,通信方式的區別。

8 悲觀鎖和樂觀鎖,說一下Java和數據庫分別怎么實現的。

9 數據庫索引說一下,除了B+樹索引還有什么索引。

10倒排索引說一下,如果關鍵字很多,怎么優化。使用前綴樹和hashmap優化。

11 前綴樹的結構和原理說一下。

12 瀏覽器發起http請求過程,越詳細越好。

13 緩存和數據庫的一致性怎么保證

14 網上寫代碼,寫了一個快排

15 沒了。

4cb54249ad23eee6f1d5535be254ea59.png

二面:

1 自我介紹

2 項目中難點,用到的技術

3 多線程,說一下線程的狀態和狀態轉換,詳細問

4 多線程的sleep方法和wait方法為什么來源不同,一個是object方法,一個是Thread的方法。

5 為什么object的wait和notify必須在同步塊中使用,不在同步塊使用會報錯么,編譯報錯還是運行報錯。

6 jvm講一下gc吧,兩個對象的引用循環依賴,會不會被垃圾回收,什么情況下會什么情況下不會呢

7 GC root是哪些位置呢,我說記不起來,他說你不用記,其實就是運行時的一些對象和變量,比如局部變量表,方法區的元數據比如fianl,static變量,本地方法棧執行的方法。

8 數據庫了解哪個。Redis說一下為什么是單線程的,不會很慢么,有什么好處。

9 Redis的IO請求模型,是不是IO多路復用呢。

10 Spring的interceptor和filter有什么區別。我說沒區別,錯!

11 網絡這塊,說一下dns請求的過程吧,dns是否會訪問緩存呢,緩存在本地和瀏覽器,還有dns服務器上是不是都有。

12 get和post的區別講一下,底層的實現有區別么,都是基于TCP,那么如何限制get的url長度,在哪一層限制的。

13 數據結構熟么,講一下樹和圖吧,樹的層次遍歷使用什么結構,相應的圖的遍歷呢。講講最小生成算法,還有迪杰斯特拉。

14 數組,找到唯一一個出現兩次的數。

剛開始聽錯,說了位運算。

a 然后講了數組計數,hash計數,排序比較。

b 然后面試官說條件給的是1到N-1的N個數字,重新想一下。

c 說了根據數組位置和數字比較進行判斷。面試官最后說可以用相加求差值來判斷。

15 一個10000以下的數組,內存夠。里面只有1,2,3。排下序。

a 普通排序O(nlogn)

b 荷蘭旗問題,雙指針解決。O(N)

c 統計數量,重放數組O(2N)

d 另外搞一個數組,把1放頭,3放尾,也是雙指針。O(N)。空間復雜度O(N)

16 沒了。

全程50分鐘

08889068969464540f7c48204dacde1a.png

三面HR

巴拉巴拉巴拉。基本上問題都大同小異。

百度智能云 數據庫部門

一面:

1 數據庫的事務,四個性質說一下,分別有什么用,怎么實現的。一致性沒講好。

2 講到了redo和undo日志,問我分別有什么用,說redo日志說錯了。

3 數據庫的隔離性如何保證,使用悲觀鎖和樂觀鎖有何區別。MVCC的設計目的是什么,怎么使用版本號判斷數據的可見性。

4 問了一道算法,1到N的所有數字,按照字典序打印,怎么做。

說了用數組排序,問復雜度,扯了半天。

怎么優化,按照數字特征順序打印,問這個東西和什么結構比較像。提示是樹,然后說了個多叉樹,問我怎么實現,最后其實使用dfs遍歷樹的每個分支。

5 多線程并發的同步實現,有兩個方法,每個方法里有a部分代碼和b部分代碼,我要讓兩個線程分別執行兩個方法,并且讓他們運行完a部分代碼再一起向下執行,如何實現。

6 我說了用cyclicbarrier實現,互相等待await。

然后他問我怎么用信號量實現,并且提示可以再用一個線程。

然后我說了個方案。

7 問了項目

8 如何把優化遞歸的代碼

改成尾遞歸或者循環。

面試官說不是,引導說用棧實現遞歸。

問我棧中需要壓入哪些數據。他說應該是方法參數,返回值,以及返回地址。

b850233fe65bb5c2aa26053459b9b0f4.png

二面:

1 自我介紹,項目 10分鐘過去

2 服務器如何負載均衡,有哪些算法,哪個比較好,一致性哈希原理,怎么避免DDOS攻擊請求打到少數機器。

3 TCP連接中的三次握手和四次揮手,四次揮手的最后一個ack的作用是什么,為什么要time wait,為什么是2msl。

4 數據庫的備份和恢復怎么實現的,主從復制怎么做的,什么時候會出現數據不一致,如何解決。

5 今天面試太多了,記不清了。。。

6 開源的技術看過用過么,分布式存儲的了解么。

7 想做什么方向的開發。

8 Linux查看cpu占用率高的進程

9 查看占用某端口的進程和某進程監聽的端口

10 如何查詢日志文件中的所有ip,正則表達式

a5f775c80ad75b83a874eec4bad4cbe7.png

三面(8.3號更新):

數據庫部門真的很嚴格,問題都挺難的。

1 講一下項目

2 平時了解什么操作系統

Linux,說一下Linux排查問題常用的命令,ps,top,netstat,free,du等等

3 Linux的內存管理算法,問了一下是不是頁面置換算法,他說是。

說了lru和fifo,問我lru有什么缺點,沒答上來。

4 Linux的文件系統了解么,講了一下inode節點,文件和目錄的原理。他問我了不了解具體的文件系統ext2,ext3,答不會。。

5 進程通信方式有哪些,問我分別怎么使用,管道有哪些類型,各有什么優缺點。

6 問我服務器硬件了解么。。一臉懵逼,問了我懂不懂Raid,瞎扯了幾句就說不懂了。

7 shell了解么,沒怎么寫過。

8 聽說你會Java,說一下JVM內存模型把,有哪些區,分別干什么的

9 說一下gc算法,分代回收說下。

10 設計模式了解么,說了7種,問我分別怎么用,實際應用過嗎,稍微扯了一下。

11 MySQL的引擎講一下,有什么區別,使用場景呢。

12 查詢最新的10條數據,想了好一會,order by id desc limit 10

13 MySQL的union all和union有什么區別,我瞎掰了一下,應該不對。

14 MySQL有哪幾種join方式,底層原理是什么,答不會,只知道表現形式。

15 Redis了解哪些啊,數據結構和基本原理把。

問我Redis怎么做集群,答了主從哨兵和cluster。

Redis的持久化怎么做,aof和rdb,有什么區別,有什么優缺點。

16 Redis使用哨兵部署會有什么問題,我說需要擴容的話還是得集群部署。

17 分布式系統了解么,說一下Hadoop了解啥。

我說基本組件稍微了解過,簡單搭過環境。

18 MapReduce的combiner干啥的,我說是合并結果的,問我啥時候會用到,答不知道。

19 Hadoop分發任務時,有個job失敗了,hadoop會怎么處理,我答不知道,猜是會繼續執行。。

20 hadoop分發任務,如果有一個節點特別慢拉慢了整體速度怎么辦。我猜測是通過yarn分配相同的資源給每個任務,可以避免這種情況,他好像不太滿意。

21 hadoop答得很爛。問了我兩個10g文件比較,2g內存,重復率很高,篩選出不同的內容。我說拆成十份hash,每份兩兩比較hash的結果集,貌似他說OK。

22 排序算法了解哪些,巴拉巴拉。

23 用隊列計算一個樹的高度,我說用層次遍歷記錄節點高度。

24 一個黑名單集合,數據量很大,快速查詢一個值是否在集合里,怎么設計,我說布隆過濾器。

25 還是上一題,說這個黑名單可能需要動態地增刪改,如何設計才能避免訪問響應太慢。我沒思路,瞎扯了一下加硬件,用內存存,都被駁回了。然后他說算了。

26 上一題的黑名單做成分布式,怎么做。說了分片的方案,根據地址的hash值確定分片所在節點。

27 分布式數據庫了解么,我不太明白他問的是啥,說不了解,感覺應該是問數據庫的分布式方案。

28 有什么想問的,據他所說還有2-3輪面試,驚了。

全程50分鐘,可以說是迄今為止難度最大的一個?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394402.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394402.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394402.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

leetcode785. 判斷二分圖(dfs和bfs染色)

給定一個無向圖graph,當這個圖為二分圖時返回true。 如果我們能將一個圖的節點集合分割成兩個獨立的子集A和B,并使圖中的每一條邊的兩個節點一個來自A集合,一個來自B集合,我們就將這個圖稱為二分圖。 graph將會以鄰接表方式給出…

bdd cucumber_如何使用BDD構建堅如磐石的Ruby on Rails應用

bdd cucumberby Marko Anastasov通過Marko Anastasov 如何使用BDD構建堅如磐石的Ruby on Rails應用 (How to build rock-solid Ruby on Rails apps with BDD) 了解通過行為驅動開發來構建可持續Web應用程序的最佳實踐。 (Learn best practices for building sustainable web a…

go kegg_KEGG分析及可視化

上一篇推文中我們解釋了GO富集分析及可視化(GO富集分析及可視化),除了GO富集分析,我們經常在paper中看到KEGG分析,KEGG是什么呢,Kyoto Encyclopedia of Genes and Genomes,京都基因和基因組百科…

IntelliJ IDEA注冊碼

IntelliJ IDEA注冊碼 http://idea.lanyus.com/ 1.導航欄下 2.help下 3.register點擊 4.單選Activation code 5.粘貼注冊碼 轉載于:https://www.cnblogs.com/YUJIE666/p/10662561.html

單詞本.

offset 偏移量 charset字符集 str 代表String字符串 IgnoreCase忽略大小寫 Object 對象 argument 參數 if and only if:當且僅當 value:值 specified:指定 Parameters:參數 iterator:迭代器 invoke:調用 variable:變量 resolved:解決 sequnence 序列 default:默認轉載于:http…

leetcode931. 下降路徑最小和(動態規劃)

給定一個方形整數數組 A,我們想要得到通過 A 的下降路徑的最小和。 下降路徑可以從第一行中的任何元素開始,并從每一行中選擇一個元素。在下一行選擇的元素和當前行所選元素最多相隔一列。 示例: 輸入:[[1,2,3],[4,5,6],[7,8,9…

lvm使用

注:新添加的硬盤,如果沒有分區,可以直接使用pvcreate進行創建,然后用vgextend進行擴展如果新添加的硬盤經過分區,則要把需要擴展的分區修改為8e格式,則進行擴展以上內容實測~相關概念:pv:物理卷…

python django用戶登錄系統_Django實現用戶注冊登錄

學習Django中:試著著寫一個用戶注冊登錄系統,開始搞事情 O(∩_∩)O哈哈~Ubuntupython 2.7.12Django 1.10.4IDE:PycharmBootstrap(其實沒怎么用~~)新建項目:(我是直接用pycharm直接生成的)使用終端:(創建項目)django-ad…

ubantu 添加防火墻策略_ubuntu安裝防火墻并策略配置

1、安裝ubuntu防火墻sudo apt-get install ufw啟用sudo ufw enablesudo ufw default deny作用:開啟了防火墻并隨系統啟動同時關閉所有外部對本機的訪問(本機訪問外部正常)。關閉sudo ufw disable查看防火墻狀態sudo ufw status2、開啟/禁用相應端口或服務舉例sudo u…

如何使用React Native構建嵌套的抽屜菜單

by Dhruvdutt Jadhav由Dhruvdutt Jadhav 如何使用React Native構建嵌套的抽屜菜單 (How to build a nested drawer menu with React Native) Screen space is a precious commodity on mobile. The drawer menu (or “hamburger menu”) is one of the most popular navigatio…

c# WebApi之接口返回類型詳解

c# WebApi之接口返回類型詳解 https://blog.csdn.net/lwpoor123/article/details/78644998 轉載于:https://www.cnblogs.com/hwubin5/p/10665006.html

第十一次作業

1。題目&#xff1a; 輸入一個字符串&#xff0c;統計大寫字母、小寫字母、空格、數字和其他字符的個數。(要求用字符數組 代碼 #include<stdio.h> #define n 100 int main() {char a[n];int i,a10,b0,c0,d0;printf("輸入字符串&#xff1a;\n");gets(a);for(i…

Python Configparser模塊讀取、寫入配置文件

寫代碼中需要用到讀取配置&#xff0c;最近在寫python&#xff0c;記錄一下。 如下&#xff0c;假設有這樣的配置。 [db] db_host127.0.0.1 db_port3306 db_userroot db_pass [concurrent] thread200 processor400 可以使用ConfigParser模塊來讀取、寫入配置…

leetcode714. 買賣股票的最佳時機含手續費(動態規劃)

給定一個整數數組 prices&#xff0c;其中第 i 個元素代表了第 i 天的股票價格 &#xff1b;非負整數 fee 代表了交易股票的手續費用。 你可以無限次地完成交易&#xff0c;但是你每筆交易都需要付手續費。如果你已經購買了一個股票&#xff0c;在賣出它之前你就不能再繼續購買…

寧宛 機器人_全文閱讀 .007 忠犬機器人

全文閱讀 .007 忠犬機器人”其實光看i5高大的身軀、泛著金屬光澤的外殼&#xff0c;很難想象它能把照顧人的事情做的那么細致。這張同樣自帶程序的金屬床在i5的操作下&#xff0c;根據寧宛自身的體重及骨密度&#xff0c;調整出最適合她的硬度、角度及凹陷程度。空間跳躍……早…

servlet中文亂碼_10分鐘快速掌握Servlet相關基礎知識

Servlet的學習路線1、 創建Servlet2、 Servlet的相關配置3、 Servlet的生命周期4、 HttpServletRequest接口5、 HttpServletResponse接口6、 HttpSession接口7、 Filter、Listener接口Servlet的相關配置1、 創建Servlet extends HttpServlet2、 配置Serlvet第1種配置方式: web.…

蓋茨比喬布斯_如何使用蓋茨比創建您的博客并通過手機進行處理

蓋茨比喬布斯by Hu Chen胡Hu 如何使用蓋茨比創建您的博客并通過手機進行處理 (How to use Gatsby to create your blog and work on it from your phone) Recently, I decided to migrate my blog to Gatsby. Gatsby is a blazing fast static site generator based on React.…

python之collections之有序字典(OrderedDict)

一、定義OrderedDict是對字典的補充&#xff0c;它記住了字典元素的添加順序。eg&#xff1a; 二、OrderedDict相關方法def clear(self): # real signature unknown; restored from __doc__ """     od.clear() -> None. Remove all items from od. …

進階4:hive 安裝

安裝包&#xff1a; apache-hive-2.1.1-bin.tar.gz 安裝步驟&#xff1a; 1.上傳 apache-hive-2.1.1-bin.tar.gz 到linux; 2.解壓文件&#xff1a; tar zxvf apache-hive-2.1.1-bin.tar.gz 3.安裝mysql (僅支持mysql 5.7以下版本&#xff0c;不支持5.7或更高版本&#xff0c…

macbookpro接口叫什么_【科普】什么是雷電接口?蘋果電腦MACBOOK PRO有嗎?

剛接觸筆記本的朋友不知道USB-C口是什么,也不知道雷電接口(Thunderbolt)是什么,只知道MACBOOK PRO有雷電3接口。簡單來說 雷電接口是USB TYPE-C的替代模式,在此了解【什么是USB TYPE-C】 什么是雷電接口? 借用百度百科的表達 2011年2月24日,英特爾發布了長期以來廣為宣傳的…