C++好的面試題和不好的面試題

時(shí)間:2022-07-13 14:18:08 面試 我要投稿
  • 相關(guān)推薦

C++好的面試題和不好的面試題

C++在中國有很大的市場(chǎng)需求,幾乎現在找工作,C++和Java還是最大的兩塊。從以

C++好的面試題和不好的面試題

前別人面試我,到我現在面試別人,談不上什么面經(jīng),只能說(shuō)我覺(jué)得的一些好的面試題

目,和一些不太好的面試題目。

不好的面試題:

[1] 虛函數如何實(shí)現的。 在i = 0; ++i++之后,就屬這道題最了。我被別人問(wèn)過(guò),

我也聽(tīng)過(guò)我同事問(wèn)這個(gè)問(wèn)題。我只想說(shuō),這個(gè)題絕對不需要問(wèn)。只要你不實(shí)現C++編

輯器,這道題對你沒(méi)有用。你只需要知道虛函數,純虛函數是做什么用的,他們和普通

函數有什么區別,就足夠了;蛘哒f(shuō),什么時(shí)候你會(huì )用虛函數,什么時(shí)候用純虛函數。

換個(gè)角度,為什么從來(lái)沒(méi)有人問(wèn)Java的動(dòng)態(tài)綁定如何實(shí)現的呢?

好的面試題

[1] (5星) C++程序進(jìn)入main函數之前,退出main函數之后會(huì )做些什么?

[2] (5星) 如何使用C++實(shí)現一個(gè)線(xiàn)程安全的singleton類(lèi),要求延遲初始化。如果這個(gè)

singleton類(lèi)獲得了一種資源,

譬如socket,數據庫的connection,如何釋放呢? (這個(gè)題其實(shí)蠻難的)

[3] (5星) 你們在多線(xiàn)程環(huán)境中如何使用mutex。其實(shí)是要求考差對mutex進(jìn)行封裝,

初始化即獲得,并且析構的時(shí)候unlock,以避免異常拋出的情況。

view plaincopy to clipboardprint?

class MutexHelper

{

public:

MutexHelper(TLock& lock):iLock(lock) { pthread_mutex_lock(&iLock); }

~MutexHelper() { ptrhead_mutex_unlock(&iLock); }

}

//TODO: disable assignment and cctor

privae:

pthread_mutex_t& iLock;

};

class Worker

{

public:

Worker() { pthread_mutex_init(&iLock, NULL); }

~Worker() { pthread_mutex_destroy(&iLock); }

public:

void FuncNeedSync();

private:

pthread_mutex_t iLock;

};

void Worker::FuncNeedSync()

{

MutexHelper helper(iLock);

//TODO: something;

}

class MutexHelper

{

public:

MutexHelper(TLock& lock):iLock(lock) { pthread_mutex_lock(&iLock); }

~MutexHelper() { ptrhead_mutex_unlock(&iLock); }

}

//TODO: disable assignment and cctor

privae:

pthread_mutex_t& iLock;

};

class Worker

{

public:

Worker() { pthread_mutex_init(&iLock, NULL); }

~Worker() { pthread_mutex_destroy(&iLock); }

public:

void FuncNeedSync();

private:

pthread_mutex_t iLock;

};

void Worker::FuncNeedSync()

{

MutexHelper helper(iLock);

//TODO: something;

}

[4] (5星) 實(shí)現一個(gè)itoa的函數。包括函數需要什么樣的參數,返回值,為什么這么設

計。這道題可以看出一個(gè)人幾本的編程習慣和能力。并且可以要求對這個(gè)函數設計測試

用例。

[5] (4星) C++類(lèi)的static變量是什么時(shí)候初始化的,函數的static變量是什么時(shí)候初始

化的?

[6] (4星) 我需要使用std::string rst來(lái)存放一個(gè)字符串拼接的結果,并且我知道這個(gè)結

果大概有4k,你會(huì )怎么來(lái)拼接。其實(shí)就是考察要reserve長(cháng)度,然后呢,使用+=。

[7] (3星) 這個(gè)和算法有些關(guān)系。std::map的find函數,一定是讀線(xiàn)程安全的嗎?就是

說(shuō)如果你有一個(gè)std::map,已經(jīng)存好了內容。然后有N個(gè)線(xiàn)程同時(shí)find它,但是沒(méi)有任

何線(xiàn)程會(huì )往里面添加東西。這樣不加鎖訪(fǎng)問(wèn),是一定安全的嗎?答案是不是,有的實(shí)現

就不是。 為什么?這個(gè)題目很有意思,大家可以google一下。



【C++好的面試題和不好的面試題】相關(guān)文章:

經(jīng)典C/C++面試題07-11

華為C++/MFC面試題07-11

面試題與技巧07-12

華為面試題07-11

「MySQL」經(jīng)典面試題07-11

c面試題08-04

采購面試題07-11

面試題集錦07-11

Java面試題07-12

SQL面試題07-12

99久久精品免费看国产一区二区三区|baoyu135国产精品t|40分钟97精品国产最大网站|久久综合丝袜日本网|欧美videosdesexo肥婆