百度搜尋架構部面經

2021-10-05 12:55:08 字數 2088 閱讀 5850

寫sql語句,優化方法?

程序與執行緒的區別

對資料庫熟悉嗎?資料庫的儲存引擎的區別? 感覺區別說少了,他還想聽其他的

瀏覽器輸入url的過程

三次握手的過程,為什麼需要三次?

說一說linux常用命令

前端用過什麼框架?

最後問我最後的職業規劃?你想做工程還是演算法?

問了一下技術棧。

演算法題:中序遍歷的遞迴和非遞迴的版本

鍊錶的反轉,自己再也測試測一下

基礎:c++:

記憶體分配的方式?

棧和堆的區別

虛函式及其作用?哪些函式不能當虛函式

熟悉什麼設計模型,寫**

資料庫:索引,以及區別

作業系統:程序間通訊機制,cpu排程演算法

計算機網路:cookies和session的區別? 一次允許傳送多次session嗎?

演算法一:

//乙個有n個整數的一維陣列(a[0],a[1],a[2],……,a[n-1]),這個陣列中有很多子陣列,求子陣列之和的最大值是什麼?

//1)連續的子陣列;

//2)只需得到最大值即可;

//3)整數,可能包含正整數、負整數、零。

//例子:[1,-2,3,5,-3,2]

def

maxsum

(a, n)

: count =

0 res =

float

('-inf'

)for i in

range

(n):

count += a[i]

res =

max(res, count, a[i])//

if count <0:

// count =

0return res

或者:

tmp =

max(count+a[i]

, a[i]

) res =

max(tnp, res)

演算法二:

//給你乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?請你找出所有滿足條件且不重複的三元組。

//注意:答案中不可以包含重複的三元組。

//示例:

//給定陣列 nums = [-1, 0, 1, 2, -1, -4],

//滿足要求的三元組集合為:

//[// [-1, 0, 1],

// [-1, -1, 2]

//]

class

solution

:def

helper

(nums):if

len(nums)

<3:

return

res =

n =len(nums)

nums.sort(

)for i in

range

(n):

for j in

range

(i+1

, n)

: c = nums[i]

a = nums[j]

b =-a - c

lastb = self.binary_search(nums[i+2:

], b)

if b !=-1

:

[a,b,c]

)def

binary_search

(self, nums, target)

: low, high =0,

len(nums-1)

while low < high:

mid =

(low+high)//2

if nums[mid]

> target:

high = mid -

1else

: low = mid

return nums[low]

if nums[low]

== target else

-1

面試 百度搜尋架構部面試記錄

宣告和定義的區別?宣告是將乙個名稱引入程式。定義提供了乙個實體在程式中的唯一描述,涉及到記憶體空間的分配以及初始值的設定。宣告和定義有時是同時存在的。常見的賦值語句為定義即宣告。幾種只宣告不定義的情況 void display 提供函式宣告 extern int a class a typedef ...

面經 百度商業搜尋部實習面試經歷

隨便說了點 2.所做的專案 說了三句,後面沒再說了,面試官也沒問了,估計專案太水 3.作業系統 熟悉linux麼?知道基本的命令 top命令幹啥的?顯示正在執行的程序,還說了gc a n x top後輸入u可以檢視當 前使用者程序。怎麼殺死乙個程序?kill pid 就行。程序kill殺不死呢?轉到...

面試 百度 搜尋架構部 測試開發崗

一面 1 自我介紹 2 技能提問 3 二面 1 自我介紹 2 sql 學生成績表,包含名字,學號,科目,成績,乙個人有可能多個科目的成績,寫sql,求表中成績總和前三的列表,按照次序輸出 3 宴會人數 100,具體不確定,宴會隨機 中獎人數約為10人,也不確定,寫 實現該功能 4 斐波那契數列 5 ...