阿里巴巴筆試題

2021-06-02 00:48:58 字數 4875 閱讀 1516

1、有乙個虛擬儲存系統,若程序在記憶體中佔3頁(開始時記憶體為空),若採用先進先出(fifo)頁面淘汰演算法,當執行如下訪問頁號序列後1,2,3,4,5,1,2,5,1,2,3,4,5,會發生多少缺頁?

a、7                       b、8                            c、9d、10

2、設有乙個順序棧s,元素s1、s2、s3、s4、s5、s6依次進棧,如果6個元素的出棧順序為s2、s3、s4、s6、s5、s1,則順序棧的容量至少應為多少?

a、2b、3c、4                           d、5

3、下列關於檔案索引結構的敘述中,哪乙個是錯誤的?

a、採用索引結構,邏輯上連續的檔案存放在連續的物理塊中

b、系統為每個檔案建立一張索引表

c、索引結構的優點是訪問速度快,檔案長度可以動態變化

d、索引結構的缺點是儲存開銷大

4、【0、2、1、4、3、9、5、8、6、7】是以陣列形式儲存的最小堆,刪除堆頂元素0後的結果是()

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、某頁式儲存管理系統中,位址暫存器長度為24位,其中頁號佔14位,則主存的分塊大小是()位元組。

a、10                     b、2^10                      c、2^14                     d、2^24

6、在乙個長為33厘公尺的光滑凹軌上,在第3厘公尺、第6厘公尺、第19厘公尺、第22厘公尺、第26厘公尺處各有乙個鋼珠,凹軌很細,不能同時通過兩個鋼珠,開始時,鋼珠運動方向是任意的。兩個鋼珠相撞後,以相同速度反向運動。假設所有鋼珠初始速度為每秒運動1厘公尺,那麼所有鋼珠離開凹軌的最長可能時間是()

a、30                     b、26                        c、38                      d、33

7、std::vector::iterator過載了下面哪些運算子?

a、++                     b、>>                       c、*(前置)                   d、==

8、下列運算子,在c++語言中不能過載的是()

a、*                        b、?: 

c、::                           d、delete

9、在排序方法中,元素比較次數與元素的初始排列無關的是()

a、shell 排序         b、歸併排序              c、直接插入排序                d、選擇排序

10、給定如下**: int x[4]=; int y[4]=; 陣列x和y的值為()

a、,b、,

c、,d、與編譯器相關

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

const char *p1 = "hello";

char* const p2 = "world";

a、p1++                      b、p1[2]='w';                    c、p2[2]='l';                    d、p2++

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

a、9                b、10                 c、12d、18

假設是x進製,則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),最後解出來x=18

12、關於struct和class,下列說法正確的是()

a、struct的成員預設是public,class的成員預設是private

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

c、struct可以有無參建構函式

d、struct的成員變數只能是public

若不明確指定,來自class的繼承按照private繼承處理,來自struct的繼承按照public繼承處理;都可使用public/private/protected修飾符,都可以有無參建構函式

13、定義乙個函式指標,指向的函式有兩個int形參並且返回乙個函式指標,返回的指標指向乙個有乙個int形參且返回int的函式?

a、int (*(*f)(int, int))(int)

b、int (*f)(int, int)

c、int (*(*f)(int, int))

d、*(*f)(int, int)(int)

14、宣告乙個指向含有10個元素的陣列的指標,其中每個元素是乙個函式指標,該函式的返回值是int,引數是int*,正確的是()

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

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

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

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

e、以上選項都不正確

應該是int ( *p[10])(int*);

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

a、不確定

b、n-i+1

c、id、n-i

16、下列**編譯時會產生錯誤的是()

view plain

#include 

using

namespace std;  

struct foo  

foo(int)   

void fun()     

};  

int main(void)    

a、語句1             b、語句2           c、語句3d、語句4

17、在32位機器上,下列**中

view plain

#pragma pack(2)

class a  

u;  

void foo()   

typedef

char* (*f)(void*);  

enum color;  

}a;  

sizeof(a)的值是()

a、20       b、21       

c、22        d、24           e、非以上選項

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

a、基類定義的public成員在公有繼承的派生類中可見,也能在類外被訪問

b、基類定義的public和protected成員在私有繼承的派生類中可見,在類外可以被訪問

c、基類定義的public和protected成員在保護繼承的派生類中不可見

d、基類定義的protected成員在protected繼承的派生類中可見,也能在類外被訪問

19、當很頻繁地對序列中部進行插入和刪除操作時,應該選擇使用的容器是()

a、vectorb、listc、deque      d、stack

20、判斷乙個單向鍊錶中是否存在環的最佳方法是()

a、兩重遍歷      b、快慢指標      c、路徑記錄       d、雜湊表輔助

21、給你1、2、3 這三個數字 可以使用c的各種運算子 你能表示的最大的整數是()

a、2*3*sizeof(1)             b、3<<(2-1的二進位制形式就是全1表示

22、下面**的輸出是多少?

view plain

class a  

;  class b:public a  

~b()  

private:  

a _a;  

};  

int main(void)    

23、乙個骰子,6面,1個面是 1, 2個面是2, 3個面是3, 問平均擲多少次能使1、2、3都至少出現一次!

24、問題描述:

12個高矮不同的人,排成兩排,每排必須是從矮到高排列,而且第二排比對應的第一排的人高,問排列方式有多少種?

這個筆試題,很yd,因為把某個遞迴關係隱藏得很深.

問題分析:

我們先把這12個人從低到高排列,然後,選擇6個人排在第一排,那麼剩下的6個肯定是在第二排.

用0表示對應的人在第一排,用1表示對應的人在第二排,那麼含有6個0,6個1的序列,就對應一種方案.

比如000000111111就對應著

第一排:0 1 2 3 4 5

第二排:6 7 8 9 10 11

010101010101就對應著

第一排:0 2 4 6 8 10

第二排:1 3 5 7 9 11

問題轉換為,這樣的滿足條件的01序列有多少個.

觀察1的出現,我們考慮這乙個出現能不能放在第二排,顯然,在這個1之前出現的那些0,1對應的人

要麼是在這個1左邊,要麼是在這個1前面.而肯定要有乙個0的,在這個1前面,統計在這個1之前的0和1的個數.

也就是要求,0的個數大於1的個數.

ok,問題已經解決.

如果把0看成入棧操作,1看成出棧操作,就是說給定6個元素,合法的入棧出棧序列有多少個.

這就是catalan數,這裡只是用於棧,等價地描述還有,二叉樹的列舉,多邊形分成三角形的個數,圓括弧插入公式中的

方法數,其通項是c(2n, n)/(n+1)。

阿里巴巴筆試題

題意 給定一串數字 判斷是否存在這三個元素,它們將數字串分為四個子串,其中每個子串的數字之和均相同 該3個元素不納入計算 要求時間複雜度和空間複雜度均不能超過o n 思路 奇妙的利用了單調性,列舉第一段的和,第一段的和確定了,那麼接下來的2,3,4段的和就都確定了,什麼單調性呢?就是i右移,j,k都...

阿里巴巴筆試題

1 有乙個虛擬儲存系統,若程序在記憶體中佔3頁 開始時記憶體為空 若採用先進先出 fifo 頁面淘汰演算法,當執行如下訪問頁號序列後1,2,3,4,5,1,2,5,1,2,3,4,5,會發生多少缺頁?a 7 b 8 c 9d 10 2 設有乙個順序棧s,元素s1 s2 s3 s4 s5 s6依次進棧...

阿里巴巴公司DBA筆試題

以下題目,可根據自己情況挑選題目作答,不必全部作答.您也可以就相關問題直接找負責面試人員面述而不筆答 一 sql tuning 類 1 列舉幾種表連線方式 2 不借助第三方工具,怎樣檢視sql的執行計畫 set autotrace trace explain 3 如何使用cbo,cbo與rule的區...