a, struct與class區(qū)別
b, heap與stack的區(qū)別,以及標(biāo)識(shí)一下一段程度中一些變量分配在哪里??(局部變量,全局變量,靜態(tài)變量,常量,malloc出來的變量)
c, 將一個(gè)單向鏈表反轉(zhuǎn)過來的函數(shù)
d, 一個(gè)string類,沒有的拷貝構(gòu)造函數(shù),然后一段代碼中實(shí)現(xiàn)了String a=b的拷貝,問程序會(huì)發(fā)生什么??
e, 設(shè)計(jì)題:設(shè)計(jì)一個(gè)閱讀系統(tǒng),其中有許多文件,并且有的文件大小超過1G,而內(nèi)存容量是2G,內(nèi)存可容許的最大可導(dǎo)入文件大小不能超過1G,請(qǐng)問如何設(shè)計(jì)這樣一個(gè)系統(tǒng)??
f, 實(shí)現(xiàn)一個(gè)iota的函數(shù)?
g, 在C++中調(diào)用c程序?yàn)槭裁葱枰狢 extern關(guān)鍵字
工程師面談:
a, scpt中的關(guān)聯(lián)需要什么參數(shù)
b,
經(jīng)理面談:
a, 一個(gè)字典系統(tǒng),有1000000個(gè)單詞,找出那些字母一樣,只是順序不一樣的單詞,分類整理(例如:pot, opt, pto, etc)
b,有著良好的背景,技術(shù)思路非常不錯(cuò),但可能最近兩年在做測(cè)試,對(duì)編程可能稍顯生疏
英語:
a, 說說你的缺點(diǎn)???
b, 說說你的優(yōu)點(diǎn)???
c, 說說你認(rèn)為對(duì)你印象最深刻的事?
d, 為什么想換工作??
e, 比較一下你了解的五個(gè)城市(宜昌,荊州,武漢,北京,青島),你更偏向于哪個(gè)城市??
部分答案:
1, 關(guān)鍵字 extern “C” 說明
==> C與C++對(duì)函數(shù)名的處理是不一樣的,在C++中會(huì)對(duì)函數(shù)名編譯時(shí)加一些修飾符用以區(qū)分函數(shù)的重載等問題
==> C編譯的函數(shù)庫,C++中聲明與調(diào)用時(shí),應(yīng)指定extern “C”關(guān)鍵字,這樣保證C++在編譯時(shí)仍然采用C的方式編譯函數(shù)名
==> C++鏈接時(shí)就能找到正確的C函數(shù)
==> extern “C” void f(int a,char b); ---引用C函數(shù)
==> extern “C” { #include “cExample.h”} ---引用C文件名
==> extern “C” int a; ---引用C全局變量
2, 關(guān)鍵字 struct 與 class 區(qū)別:
==> 默認(rèn)繼承權(quán)限。class的默認(rèn)繼承關(guān)系是private,struct的是public
==> 默認(rèn)成員權(quán)限。class中的默認(rèn)成員(變量與函數(shù))權(quán)限都是private, struct的是public
==> 模板中struct不能用作模板
3, 指針與引用的區(qū)別:
==> 指針可以被重新賦值以指向另一個(gè)不同的對(duì)象。但是引用則總是指向在初始化時(shí)被指定的對(duì)象,以后不能改變
==> 指針是一個(gè)變量,編譯時(shí)會(huì)分配內(nèi)存區(qū)域。引用只是一個(gè)別名,不分配內(nèi)存區(qū)域
==> sizeof(指針)通常為4, sizeof(引用)為對(duì)象地址空間
4, socket中的recv/send阻塞與非阻塞區(qū)別
==> recv/send 參數(shù)中都會(huì)指定length
==> 阻塞式send: 拷到發(fā)送緩沖區(qū),如果緩沖區(qū)滿,則需等待直到指定長度的數(shù)據(jù)發(fā)送到緩沖區(qū)
==> 非阻塞式send: 一直拷貝,如果緩沖區(qū)滿,也立即返回,并不等待。
==> 阻塞式recv: 直到接到到指定長度的數(shù)據(jù)為止
==> 非阻塞式recv: 立即返回,不管緩沖區(qū)里是否有數(shù)據(jù),或者數(shù)據(jù)是否夠指定長度,都立即返回
5, main函數(shù)之前還有代碼嗎?
main函數(shù)之前還有一些全局變量的初始化,對(duì)象的構(gòu)造,main函數(shù)退出后會(huì)有全局變量的析構(gòu)等