谷歌 2022 技術(shù)崗位面試題_2(應(yīng)聘 求職 面試準備資料)_第1頁
谷歌 2022 技術(shù)崗位面試題_2(應(yīng)聘 求職 面試準備資料)_第2頁
谷歌 2022 技術(shù)崗位面試題_2(應(yīng)聘 求職 面試準備資料)_第3頁
谷歌 2022 技術(shù)崗位面試題_2(應(yīng)聘 求職 面試準備資料)_第4頁
谷歌 2022 技術(shù)崗位面試題_2(應(yīng)聘 求職 面試準備資料)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 谷歌 2022 技術(shù)崗位面試題第1題: 一、單選題 假如把傳輸速率定義為單位時間內(nèi)傳送的信息量(以字節(jié)計算)多少。關(guān)于一下幾種典型的數(shù)據(jù)傳輸速率: 1.使用USB2.0閃存盤,往USB閃存盤上拷貝文件的數(shù)據(jù)傳輸速率2.使用100M以太網(wǎng),在局域網(wǎng)內(nèi)拷貝大文件時網(wǎng)絡(luò)上的數(shù)據(jù)傳輸速率3.使用一輛卡車拉1000塊單塊1TB裝滿數(shù)據(jù)的硬盤,以100km/h的速度從上海到天津(100km)一趟所等價的數(shù)據(jù)傳輸帶寬4.使用電腦播放MP3,電腦的PCI總線到聲卡的數(shù)據(jù)傳輸速率在通常狀況下,關(guān)于這幾個傳輸速率的排序正確的是( ) A 4123 B 1423 C 4132 D 1432 A 一般U盤寫數(shù)據(jù)的6

2、MB/s,即48Mbps; 100M以太網(wǎng)的速率就是100Mbps; 卡車拉硬盤,1000 x1000 x8/3600=2222Mbps,這個應(yīng)當(dāng)是最快的; MP3在256kbps碼率下也平均只有1分鐘2MB,所以不會超過0.3Mbps,所以肯定是最慢的。 第2題: 對以下程序,正確的輸出結(jié)果是( ) #include stdio.h #define SUB(x,y) x-y #define ACCESS_BEFORE(element,offset,value) *SUB(element, offset) = value int main() int array10 = 1, 2, 3, 4,

3、 5, 6, 7, 8, 9, 10 ; int i; ACCESS_BEFORE(array5, 4, 6); printf(array: ); for (i = 0; i 10; +i) printf(%d, arrayi); 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 程序語法錯誤,編譯不勝利 D 第3題: 在區(qū)間-2, 2里任取兩個實數(shù),它們的和1的概率是() A 3/8 B 3/16 C 9/32 D 9/64 C

4、第4題: 小組賽,每個小組有5支隊伍,相互之間打單循環(huán)賽,勝一場3分,平一場1分,輸一場不得分,小組前三名出線。平分抽簽。問一個隊最少拿()分就有理論上的出線盼望: A 1 B 2 C 3 D 4 B 后3名球隊兩兩之間打平,對前兩名都輸球,依據(jù)抽簽的運氣決出誰是第三名出線 第5題: 用二進制來編碼字符串“abcdabaa”,需要能夠依據(jù)編碼,解碼回原來的字符串,最少需要()長的二進制字符串? A 12 B 14 C 18 D 24 B 這道題需要對abcd進行Huffman編碼。首先依據(jù)權(quán)值建立Huffman樹,得到最優(yōu)編碼: a=0, b=10, c=110, d=111然后數(shù)一下就行了。

5、 第6題: 10個相同的糖果,分給三個人,每個人至少要得一個。有()種不同分法 A 33 B 34 C 35 D 36 D 一共這么幾種狀況: *,127,136,145;226,235,244;334;然后有數(shù)字重復(fù)的算3種排列,不重復(fù)的算6種排列,共計43+46=36種。 第7題: 下列程序段,循環(huán)體執(zhí)行次數(shù)是(): int y = 2; while (y = 8) y = y + y; A 2 B 16 C 4 D 3 D 第8題: 下面哪種機制可以用來進行進程間通信() A Socket B PIPE C SHARED MEMORY D 以上皆可 D 進程間通信(IPC,InterPr

6、ocess Communication)通信方法有管道、消息隊列、信號、共享內(nèi)存、套接口等。 # 管道( pipe ):管道是一種半雙工的通信方式,數(shù)據(jù)只能單向流淌,而且只能在具有親緣關(guān)系的進程間使用。進程的親緣關(guān)系通常是指父子進程關(guān)系。 # 出名管道 (named pipe) : 出名管道也是半雙工的通信方式,但是它允許無親緣關(guān)系進程間的通信。# 信號量( semophore ) : 信號量是一個計數(shù)器,可以用來掌握多個進程對共享資源的訪問。它常作為一種鎖機制,防止某進程正在訪問共享資源時,其他進程也訪問該資源。因此,主要作為進程間以及同一進程內(nèi)不同線程之間的同步手段。# 消息隊列( mes

7、sage queue ) : 消息隊列是由消息的鏈表,存放在內(nèi)核中并由消息隊列標識符標識。消息隊列克服了信號傳遞信息少、管道只能承載無格式字節(jié)流以及緩沖區(qū)大小受限等缺點。# 信號 ( signal ) : 信號是一種比較簡單的通信方式,用于通知接收進程某個大事已經(jīng)發(fā)生。# 共享內(nèi)存( shared memory ) :共享內(nèi)存就是映射一段能被其他進程所訪問的內(nèi)存,這段共享內(nèi)存由一個進程創(chuàng)建,但多個進程都可以訪問。共享內(nèi)存是最快的 IPC 方式,它是針對其他進程間通信方式運行效率低而特地設(shè)計的。它往往與其他通信機制,如信號兩,協(xié)作使用,來實現(xiàn)進程間的同步和通信。# 套接字( socket ) :

8、 套解口也是一種進程間通信機制,與其他通信機制不同的是,它可用于不同及其間的進程通信。 第9題: 下列關(guān)于編程優(yōu)化的說法正確的是(): A 使用編譯器的優(yōu)化選項(如-O3)后程序性能肯定會獲得提高 B 循環(huán)綻開得越多越徹底,程序的性能越好 C 寄存器安排能夠解決程序中的數(shù)據(jù)依靠問題 D 現(xiàn)代主流C/C+編譯器可以對簡潔的小函數(shù)進行自動Iinline D D確定是對的,而且ABC的言論太肯定。但假如肯定要給出解釋的話 A選項的優(yōu)化只能針對代碼本身,純系統(tǒng)調(diào)用什么的是不會性能提升的(當(dāng)然也不會下降),B選項我覺得是在并行優(yōu)化方面,好的編譯器可以從循環(huán)中發(fā)掘并行性,綻開之后就不行了,C選項有點說不清

9、。消退數(shù)據(jù)依靠主要有兩個方法,一種是SSA,即靜態(tài)單賦值3,這是通過對變量進行重命名實現(xiàn)的,嚴格的說應(yīng)當(dāng)叫“寄存器重命名”4而不是“寄存器安排”;另外一種是調(diào)換指令挨次,這種只要不是真相關(guān)(寫后讀,RAW)的話都可以消退掉,也不屬于寄存器安排。所以感覺不應(yīng)當(dāng)選這個。 第10題: 以下程序是用來計算兩個非負數(shù)之間的最大公約數(shù): long long gcd(long long x, long long y) if (y = 0) return x; else return gcd(y, x % y); 我們假設(shè)x,y中最大的那個數(shù)的長度為n,基本運算時間簡單度為O(1),那么該程序的時間簡單度為(

10、): A O(1) B O(logn) C O(n) D O(n2) B 對于gcd(a,b),假設(shè)a,b中最大的數(shù)為a,則若調(diào)用了k次,則a=F(k+2),b=F(k+1),F(x)為第x個斐波拉切數(shù),而F(x)=mx/sqrt(5),因此這題最壞時間簡單度應(yīng)當(dāng)為O(n),與這個數(shù)的長度成正比 第11題: 二、問答題 長度為n的數(shù)組亂序存放著0至n-1. 現(xiàn)在只能進行0與其他數(shù)的交換,完成以下函數(shù) for (int i = len-1; i=0; i-) if (arrayi = i) /i-; continue; int k = arrayi; while (arrayk != karra

11、yk != i) k = arrayk; swap_with_zero(array, len, i); swap_with_zero(array, len, k); 第12題: 給定一個原串和目標串,能對源串進行如下操作: 1.在給定位置插入一個字符 2.替換任意字符 3.刪除任意字符 要求完成一下函數(shù),返回最少的操作數(shù),使得源串進行這些操作后等于目標串。源串和目標串長度都小于2000。 public int min(int a, int b, int c) if(a b) return a c ? a : c; else return b c ? b : c; public int getM

12、inDis(String s1, String s2) int n1 = s1.length(); int n2 = s2.length(); int f = new int n1+1n2+1; for(int i = 1; i = n1; i +) fi0 = i; for(int i = 1; i = n2; i +) f0i = i; for(int i = 1; i = n1; i +) for(int j = 1; j = n2; j +) if(s1.charAt(i-1) = s2.charAt(j-1) fij = fi-1j-1; else fij = min(fi-1j-1

13、, fij-1, fi-1j) + 1; return fn1n2; 第13題: 寫函數(shù),輸出前N個素數(shù)。不需要考慮整數(shù)溢出問題,也不需要使用大數(shù)處理算法。 import java.util.ArrayList; import java.util.List; public class Solution /* * 獵取n個素數(shù) * n: 素數(shù)個數(shù) * 返回:最小的N個素數(shù) */ public ListInteger getPrimes(int n) ListInteger ret = new ArrayListInteger(); / ret.add(x); int number = Intege

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論