- 相關(guān)推薦
google筆試,據(jù)說(shuō)小題都對(duì)就進(jìn)入面試
1、 兩個(gè)二進(jìn)制數(shù)的異或結(jié)果
2、 遞歸函數(shù)最終會(huì)結(jié)束,那么這個(gè)函數(shù)一定(不定項(xiàng)選擇):
1. 使用了局部變量 2. 有一個(gè)分支不調(diào)用自身
3. 使用了全局變量或者使用了一個(gè)或多個(gè)參數(shù)
3、以下函數(shù)的結(jié)果?
int cal(int x)
{
if(x==0)
return 0;
else
return x+cal(x-1);
}
4、 以下程序的結(jié)果?
void foo(int*a, int* b)
{
*a = *a+*b;
*b = *a-*b;
*a = *a-*b;
}
void main()
{
int a=1, b=2, c=3;
foo(&a,&b);
foo(&b,&c);
foo(&c,&a);
printf("%d, %d, %d", a,b,c);
}
5、下面哪項(xiàng)不是鏈表優(yōu)于數(shù)組的特點(diǎn)?
1. 方便刪除 2. 方便插入 3. 長(zhǎng)度可變 4. 存儲(chǔ)空間小
6、T(n) = 25T(n/5)+n^2的時(shí)間復(fù)雜度?
7、n個(gè)頂點(diǎn),m條邊的全連通圖,至少去掉幾條邊才能構(gòu)成一棵樹?
8、正則表達(dá)式(01|10|1001|0110)*與下列哪個(gè)表達(dá)式一樣?
1.(0|1)* 2.(01|01)* 3.(01|10)* 4.(11|01)* 5.(01|1)*
9、如何減少換頁(yè)錯(cuò)誤?
1. 進(jìn)程傾向于占用CPU 2. 訪問(wèn)局部性(locality of reference)滿足進(jìn)程要求
3. 進(jìn)程傾向于占用I/O 4.使用基于最短剩余時(shí)間(shortest remaining time)的調(diào)度
機(jī)制 5. 減少頁(yè)大小
10、實(shí)現(xiàn)兩個(gè)N*N矩陣的乘法,矩陣由一維數(shù)組表示
11、找到單向鏈表中間那個(gè)元素,如果有兩個(gè)則取前面一個(gè)
12、長(zhǎng)度為n的整數(shù)數(shù)組,找出其中任意(n-1)個(gè)乘積最大的那一組,只能用乘法,不可
以用除法。要求對(duì)算法的時(shí)間復(fù)雜度和空間復(fù)雜度作出分析,不要求寫程序。
面試時(shí)1V1
除了開(kāi)場(chǎng)之外
都是真刀真搶的白紙上寫程序
1.熱身題:寫個(gè)memmove函數(shù),注意源地址和目標(biāo)地址可能有重合的部分
一開(kāi)始沒(méi)有空間限制,開(kāi)個(gè)臨時(shí)空間,作為中間量,回避源地址和目標(biāo)地址有重合的情況
之后不許使用臨時(shí)空間,要求O(N)
利用指針的比較運(yùn)算,決定從前開(kāi)始拷貝還是從后開(kāi)始拷貝
2.熱身題:100!的結(jié)果中,末尾有幾個(gè)0
其實(shí)就是1到100每個(gè)整數(shù)分解質(zhì)因數(shù),有幾個(gè)5就有幾個(gè)0
熱身題注意細(xì)節(jié),考官看的很仔細(xì)
3.圍棋中,每下一子之后,判斷那些棋子需要被提走
我用FloodFill做的
4. 給定一系列規(guī)則,形式如下A之后判斷一個(gè)命題的真假比如A
還有一些寫鏈表插入刪除
二叉樹插入刪除
歸并排序
等純細(xì)節(jié)題目
剩下的實(shí)在沒(méi)有印象
【google筆試,據(jù)說(shuō)小題都對(duì)就進(jìn)入面試】相關(guān)文章:
google招聘筆試題02-18
Google筆試題目分享11-21
Google公司預(yù)選筆試試題02-18
東營(yíng)區(qū)事業(yè)編制的筆試小題11-19
Google面試官談面試技巧02-18
中行的面試 筆試11-19
愛(ài)立信的筆試面試11-19
筆試與面試的區(qū)別06-20
剛剛完成了Google的電話面試11-19
名企面試試題 面試題目 Google02-24