【嵌入式筆試題】主要針對嵌入式軟件開發工程師的一份常見也是必須知道的面試題總結(持續更新中)

這篇主要是今年跑校招過程中的各大公司筆試和麪試真題。
主要投遞崗位是“嵌入式軟件工程師”、“C語言軟件開發工程師”、“C/C++軟件開發工程師”,C語言工程師中肯定會考一些硬件的知識,因人而異去複習,主要是I2C協議,SPI,寄存器等入手。因爲跑校招的時間也比較緊,所以只能一遍跑一遍更新出來,如果有時間會具體總分類。希望大家找到一個好工作

簡答題

  1. 什麼是指針?指針有哪些類型?
  2. 分別用a定義一個函數指針、指針函數和函數指針數組,指針數組和數組指針?
  3. 進程的類型有哪些?具體講一講。
  4. 進程間通信方式有哪些?簡述其中一種通信方式的實現過程。
  5. 程序、進程、線程怎麼理解他們之間的關係?
  6. 如何實現線程之間的同步?你知道的解決辦法有幾種?
  7. #include<>和#include""有什麼區別?
  8. 定義一個純虛函數
    10.vector容器中的刪除一個元素的函數是什麼?清空函數是什麼?
  9. 文件io和標準io有什麼區別?他們操作文件的入口是什麼?
  10. 什麼是文件描述符?
  11. 如何利用文件io實現文件的加密?
  12. 文件操作函數你瞭解多少?
  13. 單播、組播、廣播通信你瞭解多少?如何實現組播?
  14. 什麼是IP?什麼是端口號?
  15. 如何實現併發服務器?任意敘述其中一種的實現原理。
  16. linux子系統由哪五個部分組成?分別有什麼功能?
  17. 什麼是殭屍進程?如何創建守護進程?
  18. 說一下TCP/IP客戶端和服務端的創建流程。socket的參數都是什麼意思?
  19. 現在有一個文本文件,如何將最後100行輸出到屏幕上?
  20. epoll和select有什麼區別?分別用於什麼場景下?

編程題

  1. 用子函數的形式,實現兩個單向循環鏈表的合併
  2. 用子函數的形式,實現單向不循環鏈表的反轉
  3. 不借助第三方函數,實現strcpy函數的功能
  4. 不接助第三方函數,實現strcat函數的功能
  5. 寫一個TCP的服務器和客戶端代碼
  6. strcpy和memcpy有什麼區別?
  7. 什麼是局部變量、全局變量、靜態局部變量、靜態全局變量、寄存器變量,他們的作用於和生命週期都是什麼?
  8. 不借助第三個變量如何實現兩個整數的交換?
  9. 設計一個算法實現迴文子串。
  10. 對數組進行冒泡排序。
  11. 對數組進行快速排序。
  12. 從m個數中隨機取n個數,要求每個數被取到的概率相等,時間複雜度爲O(n).

問答題

  1. malloc和new有什麼區別?delete能不能用於malloc出來的內存?
  2. 在C++中的多態是怎麼實現的?具體說下實現原理。
  3. 什麼是進程?什麼是線程?兩者有什麼區別?
  4. 在tcp操作中,如何判斷你讀到了客戶端完整的數據?
  5. c++中的STL你瞭解嗎?用過迭代器嗎?map和set具體講一講。對紅黑樹怎麼理解,怎麼使用哈希函數?
  6. shell命令簡單說幾個你經常使用的。查看堆棧信息的命令是什麼?
  7. 平時用的數據庫是什麼?怎麼理解索引這個概念。主鍵是什麼?
  8. 如何判斷兩個單項循環鏈表是否交叉?
發佈了34 篇原創文章 · 獲贊 41 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章