百度個人網盤一面-后端方向


百度個人網盤一面

 

時間:07.29下午五點

方式:電話面

部門:百度個人網盤

崗位:后端方向

面試官性別:女(因為第一次遇到女面試官,所以着重強調下!)

時長:40分鍾左右


 1. 自我介紹(自己balabala大概14分鍾)

2. 選擇一個難點或者創新點的地方(到這里大概20分鍾了),會根據你的回答,問你某個方面怎么實現的,為什么這么做,我相信都是自己做的項目,基本上都能答出來滴!

3. 既然你的主要語言是C++,問你幾個C++的問題。C++中類的封裝講一下?

答:封裝可以隱藏實現細節,使得代碼模塊化;封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的界面。面向對象計算始於這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象。在面向對象編程上可理解為:把客觀事物封裝成抽象的類,並且類可以把自己的數據和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏。

4. C++中const介紹一下?

答:const 是 constant 的縮寫,本意是不變的,不易改變的意思。在 C++ 中是用來修飾內置類型變量,自定義對象,成員函數,返回值,函數參數。

C++ const 允許指定一個語義約束,編譯器會強制實施這個約束,允許程序員告訴編譯器某值是保持不變的。如果在編程中確實有某個值保持不變,就應該明確使用const,這樣可以獲得編譯器的幫助。

5. 進程和線程有什么區別?

答:

1)      根本區別:進程是操作系統資源分配的基本單位,而線程是CPU調度和執行的基本單位。

2)      開銷:每個進程都有獨立的代碼和數據空間(程序上下文),程序之間的切換會有較大的開銷;線程可以看做輕量級的進程,同一類線程共享代碼和數據空間,每個線程都有自己獨立的運行棧和程序計數器(PC),線程之間切換的開銷小。

3)      環境:在操作系統中能同時運行多個進程(程序);而在同一個進程(程序)中有多個線程同時執行(通過CPU調度,在每個時間片中只有一個線程執行)

4)      內存分配:系統在運行的時候會為每個進程分配不同的內存空間;而對線程而言,除了CPU外,系統不會為線程分配內存(線程所使用的資源來自其所屬進程的資源),線程組之間只能共享資源。

5)      包含關系:只有一個線程的進程可以看做是單進程的,如果一個進程內有多個線程,則執行過程不是一條線的,而是多條線(線程)共同完成的;線程是進程的一部分,所以線程也被稱為輕權進程或者輕量級進程。

6.線程中的同步方式有哪幾種,介紹下?

  答:

  1)      互斥鎖(Mutex)

  互斥量是最簡單的同步機制,即互斥鎖。多個進程(線程)均可以訪問到一個互斥量,通過對互斥量加鎖,從而來保護一個臨界區,防止其它進程(線程)同時進入臨界區,保護臨界資源互斥訪問。

  2)      條件變量(condition variable)

  條件變量適合多個進程(線程)等待同一事件發生,然后去干某事。舉一個簡單的例子:生產者和消費者模型:

  多個消費者去等待生產者生產物品,消費者去消耗物品。當生產者生產出來一件物品時,便可以通知所有的消費者(當然也可以只通知其中一個等待的消費者)---可以去消耗物品了。這時多個消費者便去爭搶物品,誰快誰拿到物品消耗。當物品被消耗完時,消費者就等待生產者。就類似於這樣的場景。

  條件變量必須配合互斥量一起工作。為什么?因為生產者生產出來的物品是臨界資源,即所有進程和線程都可以使用的公共資源,則在一個時刻僅允許一個消費者去取。這時便使用互斥量去保護臨界資源

  3)      讀寫鎖(reader-writer lock)

  讀寫鎖適合於使用在讀操作多,寫操作少的情況,比如數據庫。讀寫鎖讀鎖可以同時加很多,但是寫鎖是互斥的。當有進程或者線程要寫時,必須等待所有的讀進程或者線程都釋放自己的讀鎖方可以寫。數據庫很多時候可能只是做一些查詢。

  4)      信號量(semaphore)

  在生產者消費者模型中,對任務數量的記錄就可以使用信號量來做。可以理解為帶計數的條件變量。當信號量的值小於0時,工作進程或者線程就會阻塞,等待物品到來。當生產者生產一個物品,會將信號量值加1操作。 這是會喚醒在信號量上阻塞的進程或者線程,它們去爭搶物品。

7. 場景題:比如有很多銀行:中國,建設,交通等銀行,現在在一個網站中,輸入“建設”關鍵字,自動提示關於建設的所有信息。(這個題目我記得不太清楚了,所以描述的不准確,大家可以忽略它。。)(這個題沒明白啥意思,直接說不了解)

8. 場景題:在海量數據中快速查找一個數(或者字符串)是否出現,(數據無序,查找時間在秒級內)

  答:推薦:https://blog.csdn.net/yxccc_914/article/details/53737446

9. 面試官:今天就到這里吧!(到這里40分鍾)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM