1. 程式人生 > >C++筆試題(二).CVTE

C++筆試題(二).CVTE

在9.10晚上久違地參加了一波筆試,突然發現筆試題覆蓋的好多知識點我都不會,就在這裡記錄,備考一波。

這是廣州的CVTE筆試題:

1.考察Linux執行緒的同步和互斥

訊號量,條件變數,互斥鎖,分別是實現同步,還是互斥?

2.迴圈佇列的頭指標和尾指標,如何判斷佇列為空和佇列為滿

3.同一程序的執行緒共享的有?

考察作業系統的多執行緒,看到作業系統書中的一張圖就懂了!


書中所說,共享程式碼段,資料段和其他作業系統資源,如開啟檔案和訊號。

4.執行緒安全的概念

執行緒安全就是說多執行緒訪問同一程式碼,不會產生不確定的結果。

5.下列哪個是win 10的核心版本包? ————這道題我覺得就有點操蛋了

6.下列哪些裝置是OSI 7層模型中的資料鏈路層?

選項有: 網橋,集線器,閘道器,二層交換機,

7.關於gdb的幾個說法,正確的是? ——問的是一些用法

8.有一道關於或,取反,考察短路知識的位運算題

9.C++中的final, override的語法用法,哪一個是正確的?——原來是C++11裡面的東西

10.C++11標準中新加入的用法是?————這個也很操蛋

11.一個大小為3的FIFO,請求頁分別是:1,2,3,4,5,2,3,5,1,2,3,5,請問缺頁次數是多少?

12.關於父程序和子程序

其他8道選擇題不太記得了

2道程式設計題,不能使用本地IDE,沒有線上測評,只有一個文字框的形式:

1.有一個數據庫,有一千萬條使用者檢索所用的字串,(重複度較高),統計出現次數最多的n個字串,要求記憶體佔用較少

void query(vector<int> &input,vector<int> &result,int n )

我當時是用map來實現的。

我遇到的一個問題,就是如何在map中刪除一個已經插入的鍵值對?

2.有一個對映關係:

1-a, 2-b, 3-c.........26-z

27-aa, 28-ab, 29-ac........52-az, 53-ba, 54-bb......

實現以下函式,得到對映結果:

string mapTo(int n)

當時我把數字轉化成26進位制來做,先讓n 減 1, 讓對映關係變成 0-a, 1-b,.....25-z,來符合26進位制數的規律,不過首位的對映關係應該是 1 - a,2 - b,26 - z, 突然發現我的思維好像不能完全解決這個問題啊!又好像只有個位是26進位制????有點懵逼了!!! 最後寫完了程式碼,但是由於沒得除錯,不能保證程式碼的完全正確性。