愛立信技術筆試題題庫

a, struct與class區別

b, heap與stack的區別,以及標識一下一段程度中一些變數分配在哪裡??(局部變數,全局變數,靜態變數,常量,malloc出來的變數)

c,將一個單向鍊表反轉過來的函式

d,一個string類,沒有的拷貝構造函式,然後一段代碼中實現了string a=b的拷貝,問程式會發生什麼??

e,設計題:設計一個閱讀系統,其中有許多檔案,並且有的檔案大小超過1g,而記憶體容量是2g,記憶體可容許的最大可導入檔案大小不能超過1g,請問如何設計這樣一個系統??

f,實現一個iota的函式?

g,在c++中調用c程式為什麼需要c extern關鍵字

工程師面談:

a, scpt中的關聯需要什麼參數

經理面談:

a,一個字典系統,有1000000個單詞,找出那些字母一樣,只是順序不一樣的單詞,分類整理(例如:pot, opt, pto, etc)

b,有著良好的背景,技術思路非常不錯,但可能最近兩年在做測試,對編程可能稍顯生疏

英語:

a,說說你的缺點???

b,說說你的優點???

c,說說你認為對你印象最深刻的事?

d,為什麼想換工作??

e,比較一下你了解的五個城市(宜昌,荊州,武漢,北京,青島),你更偏向於哪個城市??

部分答案:

1,關鍵字extern“c”說明

==> c與c++對函式名的處理是不一樣的,在c++中會對函式名編譯時加一些修飾符用以區分函式的重載等問題

==> c編譯的函式館,c++中聲明與調用時,應指定extern“c”關鍵字,這樣保證c++在編譯時仍然採用c的方式編譯函式名

==> c++連結時就能找到正確的c函式

==> extern“c”void f(int a,char b);---引用c函式

==> extern“c”{ #include“cexample.h”} ---引用c檔案名稱

==> extern“c”int a; ---引用c全局變數 

2,關鍵字struct與class區別:

==> 默認繼承許可權。class的默認繼承關係是private,struct的是public

==> 默認成員許可權。class中的默認成員(變數與函式)許可權都是private, struct的是public

==> 模板中struct不能用作模板

3,指針與引用的區別:

==> 指針可以被重新賦值以指向另一個不同的對象。但是引用則總是指向在初始化時被指定的對象,以後不能改變

==> 指針是一個變數,編譯時會分配記憶體區域。引用只是一個別名,不分配記憶體區域

==> sizeof(指針)通常為4, sizeof(引用)為對象地址空間

4, socket中的recv/send阻塞與非阻塞區別

==> recv/send參數中都會指定length

==> 阻塞式send:拷到傳送緩衝區,如果緩衝區滿,則需等待直到指定長度的數據傳送到緩衝區

==> 非阻塞式send:一直拷貝,如果緩衝區滿,也立即返回,並不等待。

==> 阻塞式recv:直到接到到指定長度的數據為止

==> 非阻塞式recv:立即返回,不管緩衝區里是否有數據,或者數據是否夠指定長度,都立即返回

5, main函式之前還有代碼嗎?

main函式之前還有一些全局變數的初始化,對象的構造,main函式退出後會有全局變數的析構等