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

    時間:2022-07-13 14:18:08 面試 我要投稿
    • 相關推薦

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

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

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

    前別人面試我,到我現在面試別人,談不上什么面經,只能說我覺得的一些好的面試題

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

    不好的面試題:

    [1] 虛函數如何實現的。 在i = 0; ++i++之后,就屬這道題最了。我被別人問過,

    我也聽過我同事問這個問題。我只想說,這個題絕對不需要問。只要你不實現C++編

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

    函數有什么區別,就足夠了;蛘哒f,什么時候你會用虛函數,什么時候用純虛函數。

    換個角度,為什么從來沒有人問Java的動態綁定如何實現的呢?

    好的面試題

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

    [2] (5星) 如何使用C++實現一個線程安全的singleton類,要求延遲初始化。如果這個

    singleton類獲得了一種資源,

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

    [3] (5星) 你們在多線程環境中如何使用mutex。其實是要求考差對mutex進行封裝,

    初始化即獲得,并且析構的時候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星) 實現一個itoa的函數。包括函數需要什么樣的參數,返回值,為什么這么設

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

    用例。

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

    化的?

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

    果大概有4k,你會怎么來拼接。其實就是考察要reserve長度,然后呢,使用+=。

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

    說如果你有一個std::map,已經存好了內容。然后有N個線程同時find它,但是沒有任

    何線程會往里面添加東西。這樣不加鎖訪問,是一定安全的嗎?答案是不是,有的實現

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



    【C++好的面試題和不好的面試題】相關文章:

    經典C/C++面試題07-11

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

    面試題與技巧07-12

    華為面試題07-11

    「MySQL」經典面試題07-11

    c面試題08-04

    采購面試題07-11

    面試題集錦07-11

    Java面試題07-12

    SQL面試題07-12

    黄频国产免费高清视频_富二代精品短视频在线_免费一级无码婬片aa_精品9E精品视频在线观看