曾經的百度面試

2021-05-21 19:39:00 字數 1812 閱讀 9482

c or c++實現靜態棧:not thread safe

//stack.h

const int stacksize=256;

static int g_top=stacksize-1;

static int g_stack[stacksize];

bool push(int adata);

bool pop(int &adata);

//stack.cpp

#include "stack.h"

bool push(int adata)

if(g_top>=0)

g_stack[g_top--]=adata;

return true;

return false;

bool pop(int &adata)

if(g_topadata=g_stack[++g_top];

return true;

return false;

實現動態棧:not thread safe

//stack_dynam.h

static int* g_stackarray;

static int g_top;

static int g_stacknum;

bool initialize_stack(int size);

bool push(int adata);

bool pop(int &adata);

void destory_stack();

//stack_dynam.cpp

bool initialize_stack(in size)

if(size>0)

g_stackarray=new int[size];

if(!g_stackarray)return false;

g_stacknum=size;

g_top=g_stacknum-1; 

return true;

return false;

bool push(int adata)

if(g_top>=0)

g_stackarray[g_top--]=adata;

return true;

return false;

bool pop(int &adata)

if(g_topadata=g_stackarray[--g_top];

return true;

return false;

void destory_stack()

if(g_stackarray)

delete g_stackarray;

g_stackarray=null;

定義二叉樹:

typedef struct btree

int data;

struct btree* left;

struct btree* right;

}*pbtree;

用二節點定義多叉樹:

左子樹為其節點的左兒子,右子樹為該節點同層右相鄰節點,可遍歷多叉樹

設計大型系統,需求為該系統 內部可儲存20g,每天接受100k份文字的提交,每個文字500k至1兆,如果檔案有類似,這及時判重忽略。

比較兩個檔案:判斷類似(檔名不同,但內容相差僅多一行or多特殊字元,多幾段重複等)

可用jude畫元件圖,系統初始化時開啟監聽/備份/索引執行緒等待觸發。當文字請求到達,observer模式通知engine建立執行緒池,將資料庫檔案分n塊提交給n執行緒掃瞄判重,有乙個類似則立刻通知engine同步返回,無則直至掃瞄結束通知。

同時掃瞄兩個檔案,歸併思想。

百度面試小結

首先就是自我介紹啦,接著我們聊到前兩天csdn資料庫被黑導致使用者密碼被盜,然後聯絡到我和同學做的乙個小專案,專案是用php寫的,面試官就問我是怎麼處理使用者登入資訊的,我答用cookie,當然我知道這個很不安全,但是小 只供本校學生使用,就沒有考慮http傳輸時被竊取,當然我資料庫裡面是用md5加...

百度面試感想

下面就講講面試的過程,我報的移動終端開發,開始是自我介紹,我想這個已經介紹了大概好多次了,等我說完後,他就問我感覺筆試怎麼樣,我就說筆試有點難,然後叫我寫一道字串的題 乙個字串a abcd b cdab 怎樣去判斷b是否為a 字串左轉而成的結果,然後寫了二叉樹的深度優先遍歷,昨天晚上看了下,但是過去...

百度實習面試

c 1 c 細節語法,虛函式,多型,vector 2 寫 二分查詢 快排 改進 逆置鍊錶 3 三次握手 tcp ip結構 4 linux命令 5 資料庫語句 php 1 php寫程式 2 php語法 3 mysql索引 事務 併發 4 mysql多表設計 5 php執行過程 6 c 編譯過程 pyt...