題很多,先上題后上答案,便于大家思考
問題點:
1、C和C 的特點與區(qū)別?
2、C 的多態(tài)
3、虛函數(shù)實現(xiàn)
4、C和C 內存分配問題
5、協(xié)程
6、CGI的了解
7、進程間通信方式和線程間通信方式
8、TCP握手與釋放
9、http和https的區(qū)別?
10、虛擬內存的概念與介紹
11、單鏈表的反轉算法
12、紅黑樹以及其查找復雜度
13、KPM字符串匹配
14、TCP超時等待、重傳以及流量控制
15、數(shù)據(jù)庫引擎
16、數(shù)據(jù)庫索引
1、C和C 的特點與區(qū)別?
答:(1)C語言特點:
1.作為一種面向過程的結構化語言,易于調試和維護;
2.表現(xiàn)能力和處理能力極強,可以直接訪問內存的物理地址;
3.C語言實現(xiàn)了對硬件的編程操作,也適合于應用軟件的開發(fā);
4.C語言還具有效率高,可移植性強等特點。
(2)C 語言特點:
1.在C語言的基礎上進行擴充和完善,使C 兼容了C語言的面向過程特點,又成為了一種面向對象的程序設計語言;
2.可以使用抽象數(shù)據(jù)類型進行基于對象的編程;
3.可以使用多繼承、多態(tài)進行面向對象的編程;
4.可以擔負起以模版為特征的泛型化編程。
C 與C語言的本質差別:在于C 是面向對象的,而C語言是面向過程的?;蛘哒fC 是在C語言的基礎上增加了面向對象程序設
計的新內容,是對C語言的一次更重要的改革,使得C 成為軟件開發(fā)的重要工具。
2、C 的多態(tài)
答:C 的多態(tài)性用一句話概括:在基類的函數(shù)前加上virtual關鍵字,在派生類中重寫該函數(shù),運行時將會根據(jù)對象的實際類型來
調用相應的函數(shù)。如果對象類型是派生類,就調用派生類的函數(shù);如果對象類型是基類,就調用基類的函數(shù)。
1):用virtual關鍵字申明的函數(shù)叫做虛函數(shù),虛函數(shù)肯定是類的成員函數(shù);
2):存在虛函數(shù)的類都有一個一維的虛函數(shù)表叫做虛表,類的對象有一個指向虛表開始的虛指針。虛表是和類對應的,虛表指針是
和對象對應的;
3):多態(tài)性是一個接口多種實現(xiàn),是面向對象的核心,分為類的多態(tài)性和函數(shù)的多態(tài)性。;
4):多態(tài)用虛函數(shù)來實現(xiàn),結合動態(tài)綁定.;
5):純虛函數(shù)是虛函數(shù)再加上 = 0;
6):抽象類是指包括至少一個純虛函數(shù)的類;
純虛函數(shù):virtual void fun()=0;即抽象類,必須在子類實現(xiàn)這個函數(shù),即先有名稱,沒有內容,在派生類實現(xiàn)內容。
3、虛函數(shù)實現(xiàn)
答:簡單地說,每一個含有虛函數(shù)(無論是其本身的,還是繼承而來的)的類都至少有一個與之對應的虛函數(shù)表,其中存放著該類
所有的虛函數(shù)對應的函數(shù)指針。例: