研發類C++筆試題目
http://blog.csdn.net/chen825919148/article/details/8244401
1、vector和list的區別
區別:1)vector的物件實在一塊連續的記憶體空間上,而list的物件可以不在來連續的記憶體空間上。
2)vector元素的隨機訪問的效率很高,插入和刪除效率較低,當vector儲存的物件的構造較為複雜時,移動vector的元素需要呼叫物件的拷貝建構函式,效率因而很低。vector是離散儲存的,訪問元素時需要從頭或者尾部開始時進行遍歷(不能隨機訪問),刪除和插入元素相比vector的效率高,不需要移動元素。vector的大小擴張通常是2倍的擴充套件。
3)vector是單向的,list是雙向的。
4)vector適用:物件數量變化少,簡單物件,隨機訪問元素頻繁;list適用:物件數量變化大,物件複雜,插入和刪除頻繁。
2、C++中const的一些常用方法
1)定義一個只讀的變數。(而非一個常量)
2)修飾函式的引數。當我們希望函式的實參不被改變時,用const修飾函式的形參,防止實參發生改變,特別是指標引數,防 止指標本身發生改變。
3)修飾類的成員函式,可以防止類的資料成員和this指標發生改變。
4 )修飾一個類的物件。
例如:const CMyClass mc,這時的mc對類成員變數和成員函式的呼叫是有限制的:
a、能讀取類的成員變數而不能去修改它;
b、只能呼叫末端有const修飾的函式。
3、輸出陣列的K個最大值
使用STL中的partial_sort.
partial_sort使用的是堆排序,建堆的時間複雜度為O(n),調整堆的時間度雜度為o(logn),如果呼叫partial_sort時middle的值為last的值,則相當於呼叫sort,對所有元素排序,但是堆排序是穩定的排序。假如求的是m個元素的partial_sort,則,o(n) + m*o(logn);
相比使用sort()函式使用的快速排序,其時間複雜度為n(logn)。
4、對連結串列進行排序
struct Node
{
int key;
Node *next
};
5、 給出只允許程式單例執行的程式碼
在linux/unix環境下通過檔案所實現,見APUE-單例項守護程式。
為了正常運作,某些守護程式時實現為單例項的,也就是在忍一時刻只執行該守護程式的一個副本。例如,該守護程式可能需要互斥的訪問一個裝置。在cron守護進城的情況下,如果同時有多個實力執行,那麼每個飛奔都可能試圖開始某個預定的操作,於是造成了該作業系統的重複執行,很可能導致出錯。
使用檔案鎖和記錄鎖機制的方法可以用來保證一個守護進城只有一個副本在執行。如果每一個守護程式建立一個檔案,並且在整個檔案上加上一把寫鎖,那就只允許建立一把這樣的寫鎖。所以在此之後的如試圖在建立一把這樣的寫鎖就將失敗,一次後序的守護程式副本指明已有一個副本正在執行。
檔案和記錄鎖提供了一種方便的互斥機制。如果守護程式在整個檔案上得到一把寫鎖,那麼在該守護程式終止時,這把鎖江北自動的刪除。簡化了復原蘇圩的處理,出去了對以前的守護程式實力需要進城清理的有關操作。
6、讀出指定目錄下的txt檔案,統計txt檔案數目
7、tcp三次握手的序列圖
另一張試卷:
1、解釋MVC模型
2、IPC機制
3、判斷大端小端
- int Is_big_endian()
- {
- int x =1;
- if(*(char*)&x==1)
- return 0;
- else return 1;
- }
- bool Is_big_endian()
- {
- union check
- {
- int i;
- char ch;
- }c;
- c.i = 1;
- return (c.ch!=1);
- }
- int Is_big_endian()
- {
- int x =1;
- if(*(char*)&x==1)
- return 0;
- else return 1;
- }
- bool Is_big_endian()
- {
- union check
- {
- int i;
- char ch;
- }c;
- c.i = 1;
- return (c.ch!=1);
- }
4、判斷一個128位的整數是否為素數。
5、TCP伺服器伺服器端使用到的Socket API函式,按照使用的順序。
6、C++指標與引用的區別。
1) 指標是一個實體,而引用僅是個別名;
2) 引用使用時無需解引用(*),指標需要解引用;
3) 引用只能在定義時被初始化一次,之後不可變;指標可變;
4) 引用沒有 const,指標有 const,const 的指標不可變;
5) 引用不能為空,指標可以為空;
6) “sizeof 引用”得到的是所指向的變數(物件)的大小,而“sizeof 指標”得到的是指標本身(所指向的變數或物件的地址)的大小;
typeid(T) == typeid(T&) 恆為真,sizeof(T) == sizeof(T&) 恆為真,
但是當引用作為成員時,其佔用空間與指標相同(沒找到標準的規定)。
7) 指標和引用的自增(++)運算意義不一樣;
7、C++的型別轉換操作符,給出例子。
8、STL中的兩種容器的實現
9、MFC和QT的訊息機制的區別
相關文章
- 筆試題目——研發工程師筆試題筆試工程師
- 騰訊研發類筆試面試試題及答案(C++方向)筆試面試C++
- 【轉】C++ 筆試面試題目C++筆試面試題
- 2013搜狗校招研發類C/C++試題C++
- c++筆試題C++筆試
- Unity 筆試題目(一)Unity筆試
- 筆試題目——程式設計題筆試程式設計
- EMC校招筆試題目筆試
- (轉載)DBA筆試題目筆試
- 數學類筆試題筆試
- PAT甲級考試題庫題目分類
- 常見Java問題及筆試題(十七)——阿里2017實習生研發題Java筆試阿里
- C++二叉樹筆試題C++二叉樹筆試
- 筆試題 類中static變數筆試變數
- AI筆試面試題庫-Python題目解析4AI筆試面試題Python
- AI筆試面試題庫-Python題目解析3AI筆試面試題Python
- AI筆試面試題庫-Python題目解析1AI筆試面試題Python
- 2014亞馬遜線上筆試題目亞馬遜筆試
- 騰訊PHP實習生筆試題目及答案解析PHP筆試
- c++切面條題目C++
- 2011阿里雲端計算研發中心筆試題(45minutes)阿里筆試
- 百度2013校園招聘筆試題[軟體研發]及答案筆試
- Codeforces 1450 題目研討
- C++多執行緒筆試程式設計題C++執行緒筆試程式設計
- 10道C++輸出易錯筆試題收集C++筆試
- c++求解獎券題目C++
- C++類初學筆記C++筆記
- Codeforces 777 題目研討
- c++求生日蠟燭題目C++
- 一道關於筆試的多執行緒題目筆試執行緒
- 2014百度校園招聘筆試題(上海軟體研發工程師)筆試工程師
- 2014亞馬遜線上筆試題目及解決方案(MMChess問題)亞馬遜筆試
- 面試C++試題 (轉)面試
- [譯] 三人研發小組的高效研發嘗試
- 騰訊筆試題筆試
- java筆試題Java筆試
- shell 筆試題筆試
- SQL 筆試題SQL筆試