軟體/韌體工程師面試重點與考題- 程式語言(C/C++/C#/JAVA),資料結構,演算法,以及OS作業系統..等題目(筆試考題)

目錄:
面試須知與應答技巧
資料結構 / 變數儲存與記憶體
關於多處理序(Process)與多執行緒(multi-thread) 在Linux / Windows
基本演算法
轉自ptt: [重要] 發文前務必閱讀:C/C++常見問題十三誡
擬真試題1/擬真試題2/擬真試題3/擬真試題4
直接列出考古題1(精華完整48題含解答)
直接列出考古題2(精華完整34題含解答)
深度討論考古題1(DEMO完整10題含解答) 選擇使用C,C++,C#或JAVA
深度討論考古題2(DEMO完整10題含解答) 選擇使用C,C++,C#或JAVA

轉自ptt: [重要] 發文前務必閱讀:C/C++常見問題十三誡

1. 不可以提取不知指向何方的指標(指標變數必需先指向某個可以合法操作的空間,才能進行操作):
2. 不能存取超過陣列既定範圍的空間
3. 不可以提取不知指向何方的指標

4. 不要試圖用 char* 去更改一個”字串常數”:

5. 不能在函式中回傳一個指向區域性自動變數的指標
(區域變數在離開該區域時被消滅,因此呼叫端得到的指標所指的字串內容失效了,但如果指標內容是用動態的方式配置,這塊空間是在heap而非stack上,heap空間不會自動回收,因此這塊空間在離開函式後依然有效,但要記得free掉記憶體):

6. 不可以只做 malloc(), 而不做相應的 free()

7. 在數值運算、賦值或比較中不可以隨意混用不同型別的數值

8. 在一個運算式中,不能對一個基本型態的變數修改其值超過一次以上
(C/C++並沒有強制規定參數會由哪個方向開始處理(不像Java是由左到右),因此可能會造成與預期不符的情況):

9. 在 Macro 定義中, 務必為它的參數個別加上括號():

10. 不可以在 stack 設置過大的變數
(編譯器會自行決定 stack 的上限,可能是數KB 或數十 KB,當變數所需的空間過大時,很容易造成 stack overflow,程式亦隨之當掉,若真正需要如此大的空間,那麼建議配置在 heap 上,或是採用static / globla variabl):

11. 使用浮點數精確度造成的誤差問題
根據 IEEE 754 的規範,又電腦中是用有限的二進位儲存數字,因此常有可能因為精確度而造成誤差,例如加減乘除,等號大小判斷,分配律等數學上常用到的操作,很有可能因此而出錯(不成立)

12. 不要猜想二維陣列可以用 pointer to pointer 來傳遞:

13. 函式內 new 出來的空間記得要讓主程式的指標接住:

34 thoughts on “軟體/韌體工程師面試重點與考題- 程式語言(C/C++/C#/JAVA),資料結構,演算法,以及OS作業系統..等題目(筆試考題)

  1. 昭哥

    發現一個小bug
    7.write a function that can calculate 1*2+2*3+…..+(n-1)*n
    int nc(int n)
    {
    int sum = 0;
    for(int i = 2; i <= n; i++){
    sum = sum + n*(n-1); <= 這裡錯了 是 sum = sum + i*(i-1); 才對
    }
    return sum;
    }

  2. R.C.

    板主您好,對於這題的解答請問是否應修正為以下這樣,如有錯誤,請不吝賜教:

    1.2 32-bit machine用C語言對位址 0x00005000 的第三個bit設成0,第五個bit設成1。
    #define BIT3 (0x0004)
    #define BIT5 (0x0010)

    unsigned int a=0x00005000;
    void clear_bit3(void) { a &= ~BIT3;}
    void set_bit5(void) { a |= BIT5;}

  3. 1

    在第三題時做strcmp函式那題中,如果兩個參數char a[] 和 b[] 是使用如下宣告: char a[4] = “1234”,這樣的話就不一定會有’\0’在array的最後面,請問這樣的話該如何處理?

    1. 易春木 Post author

      本題是要比較字串, 所以基本上字串結尾必須要有一個「\0」字元作為結尾
      如果不是字串的話, 則不適用strcmp

      若要比較array不是比較字串的話, 也就是說沒有「\0」字元作為結尾
      改寫為

      但其實已經偏離題目的基本設定, 共勉之

  4. Pingback: 工作面試心得(QNAP、緯穎、正文、 工研院、啟碁、全景、智易、CHTTL) – Cinnating

  5. 易春木 Post author

    感謝Cha****支持, 已發送邀請函!
    感謝Ron****支持, 已發送邀請函!
    感謝Eri****支持, 已發送邀請函!
    感謝Sym****支持, 已發送邀請函!
    感謝But****支持, 已發送邀請函!
    感謝1qa****支持, 已發送邀請函!
    感謝Chl*** 支持, 已發送邀請函!
    感謝P51****支持, 已發送邀請函!
    感謝Vin****支持, 已發送邀請函!
    感謝Chu** 支持, 已發送邀請函!
    感謝Dcp*** 支持, 已發送邀請函!
    感謝Pet** 支持, 已發送邀請函!
    感謝Lbj****支持, 已發送邀請函!
    感謝Fre** 支持, 已發送邀請函!
    感謝Pai.** 支持, 已發送邀請函!
    感謝Can** 支持, 已發送邀請函!
    感謝Car****支持, 已發送邀請函!
    感謝Lin****支持, 已發送邀請函!
    感謝Cy6****支持, 已發送邀請函!
    感謝Mrd****支持, 已發送邀請函!
    感謝Jim****支持, 已發送邀請函!
    感謝11*****支持, 已發送邀請函!
    感謝lin****支持, 已發送邀請函!
    感謝leb****支持, 已發送邀請函!
    感謝siu****支持, 已發送邀請函!
    感謝kek****支持, 已發送邀請函!
    感謝all****支持, 已發送邀請函!
    感謝j_a****支持, 已發送邀請函!
    感謝tiz****支持, 已發送邀請函!
    感謝w7****支持, 已發送邀請函!
    感謝rs****支持, 已發送邀請函!

    謝謝熱烈支持, 小編會持續加入更多程式設計的面試重點!
    任何問題或考題都歡迎討論研究, 祝大家求職順利!!

發表迴響

Copy Protected by Chetan's WP-Copyprotect.