亚洲免费人人妻人人,cao78在线视频,福建一级毛片,91精品视频免费观看,高清另类图片操逼,日本特黄特色大片免费看,超碰欧美人人澡曰曰澡夜夜泛

哈爾濱阿里巴巴筆試題目

時(shí)間:2018-12-31 12:00:00 資料大全 我要投稿

哈爾濱阿里巴巴筆試題目

  1. 單選題

哈爾濱阿里巴巴筆試題目

  1. 假設(shè)把整數(shù)關(guān)鍵碼K散列到N個(gè)槽列表,以下哪些散列函數(shù)是好的散列函數(shù)

  A: h(K)=K/N;

  B: h(K)=1;

  C: h(K)=K mod N;

  D: h(K)=(K+rand(N)) mod N, rand(N)返回0到N-1的整數(shù)

  2. 下面排序算法中,初始數(shù)據(jù)集的排列順序?qū)λ惴ǖ男阅軣o影響的是:

  A: 堆排序 B:插入排序

  C: 冒泡排序 D:快速排序

  3. 下面說法錯(cuò)誤的是:

  A: CISC計(jì)算機(jī)比RISC計(jì)算機(jī)指令多

  B: 在指令格式中,采用擴(kuò)展操作碼設(shè)計(jì)方案的目的是為了保持指令字長(zhǎng)不變而增加尋址空間

  C:增加流水線段數(shù)理論上可以提高CPU頻率

  D:馮諾依曼體系結(jié)構(gòu)的主要特征是存儲(chǔ)程序的工作方式

  4. 不屬于馮諾依曼體系結(jié)構(gòu)必要組成部分是:

  A:CPU B: Cache C:RAM D:ROM

  5. 一個(gè)棧的入棧序列式ABCDE則不可能的出棧序列是:

  A:DECBA B:DCEBA C:ECDBA D:ABCDE

  6.你認(rèn)為可以完成編寫一個(gè)C語言編譯器的語言是:

  A:匯編 B:C語言 C:VB D:以上全可以

  7. 關(guān)于C++/JAVA類中的static成員和對(duì)象成員的說法正確的是:

  A:static成員變量在對(duì)象構(gòu)造時(shí)候生成

  B: static成員函數(shù)在對(duì)象成員函數(shù)中無法調(diào)用

  C: 虛成員函數(shù)不可能是static成員函數(shù)

  D: static成員函數(shù)不能訪問static成員變量

  8:看不清

  9:某進(jìn)程在運(yùn)行過程中需要等待從磁盤上讀入數(shù)據(jù),此時(shí)進(jìn)程的狀態(tài)將:

  A: 從就緒變?yōu)檫\(yùn)行 B:從運(yùn)行變?yōu)榫途w

  C: 從運(yùn)行變?yōu)樽枞?D:從阻塞變?yōu)榫途w

  10:下面算法的時(shí)間復(fù)雜度為:

  Int f(unsigned int n)

  {

  If(n==0||n==1)

  Return 1;

  Else

  Return n*f(n-1);

  }

  A: O(1) B:O(n) C:O(N*N) D:O(n!)

  11: n從1開始,每個(gè)操作可以選擇對(duì)n加1或者對(duì)n加倍,

哈爾濱阿里巴巴筆試題目

。若想獲得整數(shù)2013,最少需要多少個(gè)操作。

  A:18 B:24 C:21 D;不可能

  12:對(duì)于一個(gè)具有n個(gè)頂點(diǎn)的無向圖,若采用鄰接表數(shù)據(jù)結(jié)構(gòu)表示,則存放表頭節(jié)點(diǎn)的數(shù)組大小為:

  A: n B: n+1 C: n-1 D:n+邊數(shù)

  13:不全

  14:如下函數(shù),在32bit系統(tǒng)foo(2^31-3)的值是:

  Int foo(int x)

  {

  Return x&-x;

  }

  A: 0 B: 1 C:2 D:4

  15:對(duì)于順序存儲(chǔ)的線性數(shù)組,訪問節(jié)點(diǎn)和增加節(jié)點(diǎn)刪除節(jié)點(diǎn)的時(shí)間復(fù)雜度為:

  A: O(n),O(n) B:O(n),O(1) C:O(1),O(n) D:O(n),O(n)

  16:在32為系統(tǒng)環(huán)境,編譯選項(xiàng)為4字節(jié)對(duì)齊,那么sizeof(A)和sizeof(B)是:

  Struct A

  {

  Int a;short b;int c;char d;

  };

  Struct B

  {int a;short b;char c;int c;};

  A: 16,16 B:13,12 C:16,12 D:11,16

  17:袋中有紅球,黃球,白球各一個(gè),每次任意取一個(gè)放回,如此連續(xù)3次,則下列事件中概率是8/9的是:

  A: 顏色全相同 B:顏色全不相同C:顏色全相同D:顏色無紅色

  18:一個(gè)洗牌程序的功能是將n張牌的順序打亂,以下關(guān)于洗牌程序的功能定義說法最恰當(dāng)?shù)氖牵?/p>

  A: 每張牌出現(xiàn)在n個(gè)位置上的概率相等

  B: 每張牌出現(xiàn)在n個(gè)位置上的概率獨(dú)立

  C: 任何連續(xù)位置上的兩張牌的內(nèi)容獨(dú)立

  D: n張牌的任何兩個(gè)不同排列出現(xiàn)的概率相等

  19:用兩種顏色去染排成一個(gè)圈的6個(gè)棋子,如果通過旋轉(zhuǎn)得到則只算一種,一共有多少種染色:

  A: 10 B:11 C:14: D:15

  20:遞歸式的先序遍歷一個(gè)n節(jié)點(diǎn),深度為d的二叉樹,則需要棧空間的大小為:

  A: O(n) B:O(d) C:O(logn) D:(nlogn)

  第二部分:多選

  21:兩個(gè)線程運(yùn)行在雙核機(jī)器上,每個(gè)線程主線程如下,線程1:x=1;r1=y;線程2:y=1;r2=x;X和y是全局變量,初始為0。以下哪一個(gè)是r1和r2的可能值:

  A: r1=1,r2=1

  B: r1=1,r2=0

  C:r1=0,r2=0

  D:r1=0,r2=1

  22.關(guān)于Linux系統(tǒng)的負(fù)載,以下表述正確的是:

  A: 通過就緒和運(yùn)行的進(jìn)程數(shù)來反映

  B: 通過TOP命令查看

  C: 通過uptime查看

  D: Load:2.5,1.3,1.1表示系統(tǒng)的負(fù)載壓力在逐漸變小

  23:關(guān)于排序算法的以下說法,錯(cuò)誤的是:

  A: 快速排序的平均時(shí)間復(fù)雜度O(nlogn),最壞O(N^2)

  B:堆排序平均時(shí)間復(fù)雜度O(nlogn),最壞O(nlogn)

  C:冒泡排序平均時(shí)間復(fù)雜度O(n^2),最壞O(n^2)

  D:歸并排序的平均時(shí)間復(fù)雜度O(nlogn),最壞O(n^2)

  24:假設(shè)函數(shù)rand_k會(huì)隨機(jī)返回一個(gè)【1,k】之間的隨機(jī)數(shù)(k>=2),并且每個(gè)證書出現(xiàn)的概率相等,

資料共享平臺(tái)

哈爾濱阿里巴巴筆試題目》(http://www.msguai.com)。目前有rand_7,通過調(diào)用rand_7()和四則運(yùn)算符,并適當(dāng)增加邏輯判斷和循環(huán)控制邏輯,下列函數(shù)可以實(shí)現(xiàn)的有:

  A:rand_3 B:rand_21 C:rand_23 D:rand_49

  3.(6分)兩個(gè)較長(zhǎng)的單向鏈表a和b,為了找出及誒單noed滿足node in a

  并且node in b。請(qǐng)?jiān)O(shè)計(jì)空間使用盡量小的算法(用c/c++,java 或者偽代碼)

  答案網(wǎng)上找的

  我們定義節(jié)點(diǎn)的距離為節(jié)點(diǎn)到鏈表開始所經(jīng)過的'節(jié)點(diǎn)數(shù)。如果兩個(gè)鏈表長(zhǎng)度相同,則相交節(jié)點(diǎn)其在兩個(gè)鏈表上的距離一定相等。對(duì)于長(zhǎng)度不同的兩個(gè)鏈表,我們可以采用對(duì)齊的方式,使其向長(zhǎng)度短的鏈表對(duì)齊。這樣就可以應(yīng)用上面的思路。具體算法如下:

  struct node

  {

  int v;

  node *next;

  };

  /*

  返回鏈表的長(zhǎng)度

  鏈表為空 返回0

  */

  size_t listLen(node * p)

  {

  size_t num = 0;

  while (p!=NULL)

  {

  num++;

  p = p->next;

  }

  return num;

  }

  // 如果找到了 則返回指針 指向公共節(jié)點(diǎn)

  // 如果不存在 則返回空指針

  node * findFirstCommenNode(node * pheada, node * pheadb)

  {

  size_t lenA = listLen(pheada);

  size_t lenB = listLen(pheadb);

  node * plistA = pheada;

  node * plistB = pheadb;

  //調(diào)整長(zhǎng)度

  //plistA 指向較長(zhǎng)的一個(gè)

  if (lenA < lenB)

  {

  plistB = pheada;

  plistA = pheadb;

  size_t t = lenA;

  lenA = lenB;

  lenB = t;

  }

  while(lenA > lenB)

  {

  plistA = plistA->next;

  --lenA;

  }

  //一樣長(zhǎng)了

  //尋找公共節(jié)點(diǎn)

  while (plistA!=NULL && plistA != plistB)

  {

  plistA = plistA->next;

  plistB = plistB->next;

  }

  return plistA;

  }

  算法的空間復(fù)雜度O(1),時(shí)間復(fù)雜度O(m+n),效果不錯(cuò)吧。

  2、當(dāng)存儲(chǔ)數(shù)據(jù)量超出單節(jié)點(diǎn)數(shù)據(jù)管理能力的時(shí)候,可以采用的辦法有數(shù)據(jù)庫sharding的解決方案,也就是按照一定的規(guī)律把數(shù)據(jù)分散存儲(chǔ)在多個(gè)數(shù)據(jù)管理節(jié)點(diǎn)N中(節(jié)點(diǎn)編號(hào)為0,1,2,,,,N-1)。

  假設(shè)存儲(chǔ)的數(shù)據(jù)時(shí)a 請(qǐng)完成為數(shù)據(jù)a計(jì)算存儲(chǔ)節(jié)點(diǎn)的程序。

  #define N 5

  int hash(int element){

  return element*2654435761;

  }

  int shardingIndex(int a){

  int p = hash(a);

  _________________________; //這里是空格

  return p;

  }

  3、(8分)宿舍內(nèi)5個(gè)同學(xué)一起玩對(duì)戰(zhàn)游戲。每場(chǎng)比賽有一些人作為紅方,另一些人作為藍(lán)方。請(qǐng)問至少需要多少場(chǎng)比賽,才能使任意兩個(gè)人之間有一場(chǎng)紅方對(duì)藍(lán)方和藍(lán)方對(duì)紅方的比賽?

  4、一個(gè)有10億條記錄的文本文件,已按照關(guān)鍵字排好序存儲(chǔ)。請(qǐng)?jiān)O(shè)計(jì)算法,可以快速的從文件中查找指字關(guān)鍵字的記錄

【哈爾濱阿里巴巴筆試題目】相關(guān)文章:

1.哈爾濱阿里巴巴筆試題

2.阿里巴巴筆試題目

3.阿里巴巴筆試題目

4.阿里巴巴校招筆試哈爾濱站筆試題

5.美團(tuán)哈爾濱筆試題目

6.阿里巴巴集團(tuán)筆試題目

7.阿里巴巴測(cè)試筆試題目

8.阿里巴巴校園招聘筆試題目分享