關(guān)于google的最新筆試面試經(jīng)驗(yàn)

大風(fēng)車考試網(wǎng)

  我本來發(fā)文的目的是說下筆試題,想想還是不說了,想知道的可以私下跟我討論,題目不難,全做對(duì)也不容易,不過錯(cuò)個(gè)兩三道基本也就kaka了?疾斓煤苋,算法+數(shù)據(jù)結(jié)構(gòu)+操作系統(tǒng)+編譯原理+網(wǎng)絡(luò)+離散數(shù)學(xué),還居然考了個(gè)中斷。

  筆試之前的宣講會(huì),略有收獲。獲知Google全球共有員工12000左右,其中總部8000左右,而google中國(guó),北京195,上海45,臺(tái)北35,而在一年前這一數(shù)字分別是北京100,上海20(這個(gè)沒記準(zhǔn)確),臺(tái)北10。我得到的唯一結(jié)論:google中國(guó)還差的遠(yuǎn)啊,不知道開復(fù)能把它做成什么樣子,應(yīng)該不會(huì)撤攤子吧。

  這是第二次筆試,作個(gè)記錄,以備日后參考,題目另行記錄。

  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. 訪問局部性(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ù)雜度作出分析,不要求寫程序。

  • 相關(guān)文章