北京愛立信的面試題

來源:果殼範文吧 1.7W

筆試題:

北京愛立信的面試題

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中的關聯需要什麼引數

b,

經理面談:

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函式退出後會有全域性變數的析構等。

熱門標籤