成年人在线观看视频免费,国产第2页,人人狠狠综合久久亚洲婷婷,精品伊人久久

阿里巴巴筆試題

  為您整理阿里巴巴筆試題,歡迎閱讀和借鑒!

  1、有一個(gè)虛擬存儲(chǔ)系統(tǒng),若進(jìn)程在內(nèi)存中占3頁(yè)(開(kāi)始時(shí)內(nèi)存為空),若采用先進(jìn)先出(FIFO)頁(yè)面淘汰算法,當(dāng)執(zhí)行如下訪(fǎng)問(wèn)頁(yè)號(hào)序列后1,2,3,4,5,1,2,5,1,2,3,4,5,會(huì)發(fā)生多少缺頁(yè)?

  A、7 B、8 C、9 D、10

  2、設(shè)有一個(gè)順序棧S,元素s1、s2、s3、s4、s5、s6依次進(jìn)棧,如果6個(gè)元素的出棧順序?yàn)閟2、s3、s4、s6、s5、s1,則順序棧的容量至少應(yīng)為多少?

  A、2 B、3 C、4 D、5

  3、下列關(guān)于文件索引結(jié)構(gòu)的敘述中,哪一個(gè)是錯(cuò)誤的?

  A、采用索引結(jié)構(gòu),邏輯上連續(xù)的文件存放在連續(xù)的物理塊中

  B、系統(tǒng)為每個(gè)文件建立一張索引表

  C、索引結(jié)構(gòu)的優(yōu)點(diǎn)是訪(fǎng)問(wèn)速度快,文件長(zhǎng)度可以動(dòng)態(tài)變化

  D、索引結(jié)構(gòu)的缺點(diǎn)是存儲(chǔ)開(kāi)銷(xiāo)大

  4、【0、2、1、4、3、9、5、8、6、7】是以數(shù)組形式存儲(chǔ)的最小堆,刪除堆頂元素0后的結(jié)果是()

  A、【2、1、4、3、9、5、8、6、7】

  B、【1、2、5、4、3、9、8、6、7】

  C、【2、3、1、4、7、9、5、8、6】

  D、【1、2、5、4、3、9、7、8、6】

  5、某頁(yè)式存儲(chǔ)管理系統(tǒng)中,地址寄存器長(zhǎng)度為24位,其中頁(yè)號(hào)占14位,則主存的分塊大小是()字節(jié)。

  A、10 B、2^10 C、2^14 D、2^24

  6、在一個(gè)長(zhǎng)為33厘米的光滑凹軌上,在第3厘米、第6厘米、第19厘米、第22厘米、第26厘米處各有一個(gè)鋼珠,凹軌很細(xì),不能同時(shí)通過(guò)兩個(gè)鋼珠,開(kāi)始時(shí),鋼珠運(yùn)動(dòng)方向是任意的。兩個(gè)鋼珠相撞后,以相同速度反向運(yùn)動(dòng)。假設(shè)所有鋼珠初始速度為每秒運(yùn)動(dòng)1厘米,那么所有鋼珠離開(kāi)凹軌的最長(zhǎng)可能時(shí)間是()

  A、30 B、26 C、38 D、33

  7、std::vector::iterator重載了下面哪些運(yùn)算符?

  A、++ B、>> C、*(前置) D、==

  8、下列運(yùn)算符,在C++語(yǔ)言中不能重載的是()

  A、* B、?: C、:: D、delete

  9、在排序方法中,元素比較次數(shù)與元素的初始排列無(wú)關(guān)的是()

  A、Shell 排序 B、歸并排序 C、直接插入排序 D、選擇排序

  A、C肯定不選的,歸并排序的在merge中是跟序列有關(guān),如果有序,比較次數(shù)最少n/2,最糟是元素錯(cuò)落n-1。而選擇排序比較次數(shù)與關(guān)鍵字的初始狀態(tài)無(wú)關(guān),總的比較次數(shù)N=(n-1)+(n-2)+...+1=n*(n-1)/2。所以 應(yīng)該是選擇排序!

  10、給定如下代碼: int x[4]={0}; int y[4]={1}; 數(shù)組x和y的值為()

  A、{0,0,0,0},{1,1,1,1}

  B、{0,0,0,0},{1,0,0,0}

  C、{0,不確定},{1,不確定}

  D、與編譯器相關(guān)

  10、給出以下定義,下列哪些操作是合法的?

  const char *p1 = "hello";

  char* const p2 = "world";

  A、p1++ B、p1[2]='w'; C、p2[2]='l'; D、p2++

  11、假設(shè)在n進(jìn)制下,下面的等式成立,n值是() 567*456=150216

  A、9 B、10 C、12 D、18

  假設(shè)是X進(jìn)制,則567=7+6*X+5*X^2,456=6+5*X+4*X^2,所以564*456=(7+6*X+5*X^2)*(6+5*X+4*X^2)而150216=6+X+2*X^2+5*x^4+X^5,由于567*456=150216,則6+X+2*X^2+5*x^4+X^5=(7+6*X+5*X^2)*(6+5*X+4*X^2),最后解出來(lái)X=18

  12、關(guān)于struct和class,下列說(shuō)法正確的是()

  A、struct的成員默認(rèn)是public,class的成員默認(rèn)是private

  B、struct不能繼承,class可以繼承

  C、struct可以有無(wú)參構(gòu)造函數(shù)

  D、struct的成員變量只能是public

  若不明確指定,來(lái)自class的繼承按照private繼承處理,來(lái)自struct的繼承按照public繼承處理;都可使用public/private/protected修飾符,都可以有無(wú)參構(gòu)造函數(shù)

  13、定義一個(gè)函數(shù)指針,指向的函數(shù)有兩個(gè)int形參并且返回一個(gè)函數(shù)指針,返回的指針指向一個(gè)有一個(gè)int形參且返回int的函數(shù)?

  A、int (*(*F)(int, int))(int)

  B、int (*F)(int, int)

  C、int (*(*F)(int, int))

  D、*(*F)(int, int)(int)

  14、聲明一個(gè)指向含有10個(gè)元素的數(shù)組的指針,其中每個(gè)元素是一個(gè)函數(shù)指針,該函數(shù)的返回值是int,參數(shù)是int*,正確的是()

  A、(int *p[10])(int*);

  B、int [10]*p(int *);

  C、int (*(*p)[10])(int *);

  D、int ((int *)[10])*p;

  E、以上選項(xiàng)都不正確

  15、一個(gè)棧的輸入序列為123.....n,若輸出序列的第一個(gè)元素是n,輸出第i(1<=i<=n)個(gè)元素是()

  A、不確定

  B、n-i+1

  C、i

  D、n-i

  16、下列代碼編譯時(shí)會(huì)產(chǎn)生錯(cuò)誤的是()

  [cpp] view plain copy

  #include

  using namespace std;

  struct Foo

  {

  Foo() { }

  Foo(int) { }

  void fun() { }

  };

  int main(void)

  {

  Foo a(10); //語(yǔ)句1

  a.fun(); //語(yǔ)句2

  Foo b(); //語(yǔ)句3

  b.fun(); //語(yǔ)句4

  return 0;

  }

  A、語(yǔ)句1 B、語(yǔ)句2 C、語(yǔ)句3 D、語(yǔ)句4

  17、在32位機(jī)器上,下列代碼中

  [cpp] view plain copy

  #pragma pack(2)

  class A

  {

  int i;

  union U

  {

  char buff[13];

  int i;

  }u;

  void foo() { }

  typedef char* (*f)(void*);

  enum{red, green, blue} color;

  }a;

  sizeof(a)的值是()

  A、20 B、21 C、22 D、24 E、非以上選項(xiàng)

  18、下面描述中,錯(cuò)誤的是()

  A、基類(lèi)定義的public成員在公有繼承的派生類(lèi)中可見(jiàn),也能在類(lèi)外被訪(fǎng)問(wèn)

  B、基類(lèi)定義的public和protected成員在私有繼承的派生類(lèi)中可見(jiàn),在類(lèi)外可以被訪(fǎng)問(wèn)

  C、基類(lèi)定義的public和protected成員在保護(hù)繼承的派生類(lèi)中不可見(jiàn)

  D、基類(lèi)定義的protected成員在protected繼承的派生類(lèi)中可見(jiàn),也能在類(lèi)外被訪(fǎng)問(wèn)

  19、當(dāng)很頻繁地對(duì)序列中部進(jìn)行插入和刪除操作時(shí),應(yīng)該選擇使用的容器是()

  A、vector B、list C、deque D、stack

  20、判斷一個(gè)單向鏈表中是否存在環(huán)的最佳方法是()

  A、兩重遍歷 B、快慢指針 C、路徑記錄 D、哈希表輔助

  21、給你1、2、3 這三個(gè)數(shù)字 可以使用C的各種運(yùn)算符 你能表示的最大的整數(shù)是()

  A、2*3*sizeof(1) B、3<<(2<

  -1的二進(jìn)制形式就是全1表示

  22、下面代碼的輸出是多少?

  [cpp] view plain copy

  class A

  {

  public:

  A() { cout<<"A"<

  ~A() { cout<<"~A"<

  };

  class B:public A

  {

  public:

  B(A &a):_a(a)

  {

  cout<<"B"<

  }

  ~B()

  {

  cout<<"~B"<

  }

  private:

  A _a;

  };

  int main(void)

  {

  A a; //很簡(jiǎn)單,定義a的時(shí)候調(diào)用了一次構(gòu)造函數(shù)

  B b(a); //這里b里面的_a是通過(guò)成員初始化列表構(gòu)造起來(lái)的

  //而且是通過(guò)copy constructor構(gòu)造的是b的成員對(duì)象_a的,這里是編譯器默認(rèn)的,因此在構(gòu)造好_a前,先調(diào)用基類(lèi)構(gòu)造函數(shù)

  //然后才是構(gòu)造自身,順序就是A()->_a->B()(局部)

  //因此這里有兩個(gè)A,一個(gè)B

  //在return之前進(jìn)行析構(gòu)

  /************************************************************************/

  /*析構(gòu)是按照定義對(duì)象的反順序來(lái)的,而且同一個(gè)對(duì)象按照構(gòu)造的反順序來(lái)的,因此這里先

  析構(gòu)b然后才是a,那么b的構(gòu)造順序是上面的A()->_a->B()(局部),反過(guò)來(lái),就是B()(局部)->_a->A()

  因此得到的就是~B->~A->~A

  在b之后就是析構(gòu)a

  最后結(jié)果就是

  ~B->~A->~A->~A*/

  return 0;

  }

  23、一個(gè)骰子,6面,1個(gè)面是 1, 2個(gè)面是2, 3個(gè)面是3, 問(wèn)平均擲多少次能使1、2、3都至少出現(xiàn)一次!

  24、一個(gè)有趣的拋硬幣問(wèn)題

  假設(shè)有一個(gè)硬幣,拋出字(背面)和花(正面)的概率都是0.5,而且每次拋硬幣與前次結(jié)果無(wú)關(guān),F(xiàn)在做一個(gè)游戲,連續(xù)地拋這個(gè)硬幣,直到連續(xù)出現(xiàn)兩次字為止,問(wèn)平均要拋多少次才能結(jié)束游戲?注意,一旦連續(xù)拋出兩個(gè)“字”向上游戲就結(jié)束了,不用繼續(xù)拋。

  上面這個(gè)題目我第一次見(jiàn)到是在pongba的TopLanguage的一次討論上,提出問(wèn)題的人為Shuo Chen,當(dāng)時(shí)我給出了一個(gè)解法,自認(rèn)為已經(jīng)相當(dāng)簡(jiǎn)單了,先來(lái)考慮一下拋硬幣的過(guò)程:首先先拋一枚硬幣,如果是花,那么需要重頭開(kāi)始;如果是字,那么再拋一枚硬幣,新拋的這枚如果也是字,則游戲結(jié)束,如果是花,那么又需要重頭開(kāi)始。根據(jù)這個(gè)過(guò)程,設(shè)拋硬幣的期望次數(shù)為T(mén),可以得到關(guān)系:

  T = 1 + 0.5T + 0.5( 1 + 0.5 * 0 + 0.5T)

  解方程可得到 T = 6。

  或者根據(jù)公式,需要連續(xù)拋出n個(gè)字的一般情形,結(jié)果相當(dāng)簡(jiǎn)潔:Tn = 2^(n+1) - 2,其中Tn為首次出現(xiàn)連續(xù)的n個(gè)字的期望投擲數(shù)。

  25、問(wèn)題描述:

  12個(gè)高矮不同的人,排成兩排,每排必須是從矮到高排列,而且第二排比對(duì)應(yīng)的第一排的人高,問(wèn)排列方式有多少種?

  這個(gè)筆試題,很YD,因?yàn)榘涯硞(gè)遞歸關(guān)系隱藏得很深。

  問(wèn)題分析:

  我們先把這12個(gè)人從低到高排列,然后,選擇6個(gè)人排在第一排,那么剩下的6個(gè)肯定是在第二排。

  用0表示對(duì)應(yīng)的人在第一排,用1表示對(duì)應(yīng)的人在第二排,那么含有6個(gè)0,6個(gè)1的序列,就對(duì)應(yīng)一種方案。

  比如000000111111就對(duì)應(yīng)著

  第一排:0 1 2 3 4 5

  第二排:6 7 8 9 10 11

  010101010101就對(duì)應(yīng)著

  第一排:0 2 4 6 8 10

  第二排:1 3 5 7 9 11

  問(wèn)題轉(zhuǎn)換為,這樣的滿(mǎn)足條件的01序列有多少個(gè)。

  觀察1的出現(xiàn),我們考慮這一個(gè)出現(xiàn)能不能放在第二排,顯然,在這個(gè)1之前出現(xiàn)的那些0,1對(duì)應(yīng)的人

  要么是在這個(gè)1左邊,要么是在這個(gè)1前面。而肯定要有一個(gè)0的,在這個(gè)1前面,統(tǒng)計(jì)在這個(gè)1之前的0和1的個(gè)數(shù)。

  也就是要求,0的個(gè)數(shù)大于1的個(gè)數(shù)。

  OK,問(wèn)題已經(jīng)解決.

  如果把0看成入棧操作,1看成出棧操作,就是說(shuō)給定6個(gè)元素,合法的入棧出棧序列有多少個(gè)。

  這就是catalan數(shù),這里只是用于棧,等價(jià)地描述還有,二叉樹(shù)的枚舉,多邊形分成三角形的個(gè)數(shù),圓括弧插入公式中的方法數(shù),其通項(xiàng)是c(2n, n)/(n+1)。

本文已影響6827
上一篇:百度2013校園招聘筆試題 下一篇:微軟校園招聘筆試題

相關(guān)文章推薦

|||||