你要的微軟、Google、騰訊名企面試題來了!

你要的微軟、Google、騰訊名企面試題來了!

給大家整理了微軟、Google、百度、騰訊這些企業比較常考察的面試題,大家可以嘗試自己去解解,如果沒有解出來再在網上搜索下,看看這些題的思路。

微軟十五道面試題

1:有一個整數數組,請求出兩兩之差絕對值最小的值。記住,只要得出最小值即可,不需要求出是哪兩個數。

2:寫一個函數,檢查字符是否是整數,如果是,返回其整數值,(或者:怎樣只用 4 行代碼編寫出一個從字符串到長整形的函數?)

3:給出一個函數來輸出一個字符串的所有排列。

4:請編寫實現 malloc()內存分配函數功能一樣的代碼。

5:給出一個函數來複制兩個字符串 A 和 B。字符串 A 的後幾個字節和字符串 B 的前幾個字節重疊。

6:怎樣編寫一個程序,把一個有序整數數組放到二叉樹中?

7:怎樣從頂部開始逐層打印二叉樹結點數據?請編程。

8:怎樣把一個鏈表掉個順序(也就是反序,注意鏈表的邊界條件並考慮空鏈表)?

9:請編寫能直接實現 int atoi(const char * pstr)函數功能的代碼。

10:編程實現兩個正整數的除法,當然不能用除法操作符。

11:在排序數組中,找出給定數字的出現次數,比如 [1, 2, 2, 2, 3] 中 2 的出現次數是 3 次。

12:平面上 N 個點,每兩個點都確定一條直線,求出斜率最大的那條直線所通過的兩個點(斜率不存在的情況不考慮)。時間效率越高越好。

13:設計一個算法,找出二叉樹上任意兩個結點的最近共同父結點。

14:一棵排序二叉樹,令 f=(最大值+最小值)/2,設計一個算法,找出距離 f 值最近、大於 f 值的結點。複雜度如果是 O(n2)則不得分。

15:一個整數數列,元素取值可能是 1~N(N 是一個較大的正整數)中的任意一個數,相同數值不會重複出現。設計一個算法,找出數列中符合條件的數對的個數,滿足數對中兩數的和等於 N+1。複雜度最好是 O(n),如果是 O(n2)則不得分。

谷歌七道面試題

1:有一個由大小寫組成的字符串,現在需要對他進行修改,將其中的所有小寫字母排在答謝字母的前面(大寫或小寫字母之間不要求保持原來次序),如有可能儘量選擇時間和空間效率高的算法 c 語言函數原型 void proc(char *str) 也可以採用你自己熟悉的語言

2

:如何隨機選取 1000 個關鍵字:給定一個數據流,其中包含無窮盡的搜索關鍵字(比如,人們在谷歌搜索時不斷輸入的關鍵字)。如何才能從這個無窮盡的流中隨機的選取 1000 個關鍵字?

3:判斷一個自然數是否是某個數的平方,說明:當然不能使用開方運算。

4:給定能隨機生成整數 1 到 5 的函數,寫出能隨機生成整數 1 到 7 的函數。

5:1024! 末尾有多少個 0?

6:有 5 個海盜,按照等級從 5 到 1 排列,最大的海盜有權提議他們如何分享 100 枚金幣。

7:但其他人要對此表決,如果多數反對,那他就會被殺死。他應該提出怎樣的方案,既讓自己拿到儘可能多的金幣又不會被殺死?

1:用 C 語言實現一個 revert 函數,它的功能是將輸入的字符串在原串上倒序後返回。

2:用 C 語言實現函數 void * memmove(void *dest, const void *src, size_t n)。memmove,函數的功能是拷貝 src 所指的內存內容前 n 個字節到 dest 所指的地址上。

3:有一根 27 釐米的細木杆,在第 3 釐米、7 釐米、11 釐米、17 釐米、23 釐米這五個位置上各有一隻螞蟻。木杆很細,不能同時通過一隻螞蟻。開始時,螞蟻的頭朝左還是朝右 是任意的,它們只會朝前走或調頭,但不會後退。當任意兩隻螞蟻碰頭時,兩隻螞蟻會同時調頭朝反方向走。假設螞蟻們每秒鐘可以走一釐米的距離。編寫程序,求所有螞蟻都離開木杆的最小時間和最大時間。

騰訊七道面試題

1:請定義一個宏,比較兩個數 a、b 的大小,不能使用大於、小於、if 語句

2:兩個數相乘,小數點後位數沒有限制,請寫一個高精度算法

3:有 A、B、C、D 四個人,要在夜裡過一座橋。他們通過這座橋分別需要耗時 1、2、5、10 分鐘,只有一支手電,並且同時最多隻能兩個人一起過橋。請問,如何安排,能夠在 17分鐘內這四個人都過橋?

4:有 12 個小球,外形相同,其中一個小球的質量與其他 11 個不同,給一個天平,問如何用 3 次把這個小球找出來,並且求出這個小球是比其他的輕還是重

5:在一個文件中有 10G 個整數,亂序排列,要求找出中位數。內存限制為 2G。只寫出思路即可。

6:一個文件中有 40 億個整數,每個整數為四個字節,內存為 1GB,寫出一個算法:求出這個文件裡的整數里不包含的一個整數

7:騰訊服務器每秒有 2w 個 QQ 號同時上線,找出 5min 內重新登入的 qq 號並打印出來。


分享到:


相關文章: