歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Google 2013校園招聘筆試題

Google 2013校園招聘筆試題

日期:2017/2/28 15:30:31   编辑:Linux教程

去蹭了一下Google的招聘筆試。其實是去打醬油的,主要是為了感受一下Google的出題風格和考試氛圍,可以對將來找工作提供些參考。

回來之後本來想回憶一下題目的,結果發現braveheart89大大已經貼出了所有的題而且連選項都一字不差,記憶力真心佩服……以下就根據他寫的題目稍微修正一下,然後隨便說說好了。(說的也不一定對,歡迎更正。)

考試是第一頁需要填寫個人信息,包括實習經歷、獲獎情況、工作地點意向(國內、國外還是兩者皆可之類,反正對我無用啦-.-)然後就是一個半小時的答題,全部手寫。

1、單項選擇題

1.1 如果把傳輸速率定義為單位時間內傳送的信息量(以字節計算)多少。關於一下幾種典型的數據傳輸速率:

1.使用USB2.0閃存盤,往USB閃存盤上拷貝文件的數據傳輸速率

2.使用100M以太網,在局域網內拷貝大文件時網絡上的數據傳輸速率

3.使用一輛卡車拉1000塊單塊1TB裝滿數據的硬盤,以100km/h的速度從上海到天津(100km)一趟所等價的數據傳輸帶寬

4.使用電腦播放MP3,電腦的PCI總線到聲卡的數據傳輸速率

在通常情況下,關於這幾個傳輸速率的排序正確的是:

A.4<1<2<3 B.1<4<2<3 C.4<1<3<2 D.1<4<3<2

1.2 對以下程序,正確的輸出結果是

#define SUB(x,y) x-y

#define ACCESS_BEFORE(element,offset,value) *SUB(&element, offset) =value

int main()

{

int array[10]= {1,2,3,4,5,6,7,8,9,10};

int i;

ACCESS_BEFORE(array[5], 4, 6);

printf("array: ");

for (i=0; i<10; ++i){

printf("%d", array[i]);

}

printf("\n");

return (0);

}A.array: 1 6 3 4 5 6 7 8 9 10

B.array: 6 2 3 4 5 6 7 8 9 10

C.程序可以正確編譯連接,但是運行時會崩潰

D.程序語法錯誤,編譯不成功

1.3 在區間[-2, 2]裡任取兩個實數,它們的和>1的概率是:

A.3/8 B.3/16 C.9/32 D.9/64

1.4 小組賽,每個小組有5支隊伍,互相之間打單循環賽,勝一場3分,平一場1分,輸一場不得分,小組前三名出線。平分抽簽。問一個隊最少拿幾分就有理論上的出線希望:

A.1 B.2 C.3 D.4

1.5 用二進制來編碼字符串“abcdabaa”,需要能夠根據編碼,解碼回原來的字符串,最少需要多長的二進制字符串?

A.12 B.14 C.18 D.24

1.6 10個相同的糖果,分給三個人,每個人至少要得一個。有多少種不同分法

A.33 B.34 C.35 D.36

1.7 下列程序段,循環體執行次數是:

y=2

while(y<=8)

y=y+y;

A.2 B.16 C.4 D.3

1.8 下面哪種機制可以用來進行進程間通信?

A.Socket B.PIPE C.SHARED MEMORY D.以上皆可

1.9 下列關於編程優化的說法正確的是:

A.使用編譯器的優化選項(如-O3)後程序性能一定會獲得提高

B.循環展開得越多越徹底,程序的性能越好

C.寄存器分配能夠解決程序中的數據依賴問題

D.現代主流C/C++編譯器可以對簡單的小函數進行自動Iinline

1.10 一下程序是用來計算兩個非負數之間的最大公約數:

long long gcd(long long x, long long y) {

if( y==0) return 0;

else return gcd (y, x%y);

}我們假設x,y中最大的那個數的長度為n,基本運算時間復雜度為O(1),那麼該程序的時間復雜度為:

A.O(1) B.O(logn) C.O(n) D.O(n^2)

2、程序設計與算法(2.1,2.2為編程題,2.3為算法設計題,只需設計思路和關鍵步驟偽代碼)

2.1 寫函數,輸出前N個素數。不需要考慮整數溢出問題,也不需要使用大數處理算法。

2.2 長度為n的數組亂序存放著0至n-1. 現在只能進行0與其他數的swap,請設計並實現排序。

2.3 給定一個原串和目標串,能對源串進行如下操作:

1.在給定位置插入一個字符

2.替換任意字符

3.刪除任意字符

要求寫一個程序,返回最少的操作數,使得源串進行這些操作後等於目標串。源串和目標串長度都小於2000。

Copyright © Linux教程網 All Rights Reserved