資料介紹
??C語言測試是招聘嵌入式系統程序員過程中必須而且有效的方法。這些年,我既參加也組織了許多這種測試,在這過程中我意識到這些測試能為面試者和被面試者提供許多有用信息,此外,撇開面試的壓力不談,這種測試也是相當有趣的。
??從被面試者的角度來講,你能了解許多關于出題者或監考者的情況。這個測試只是出題者為顯示其對ANSI標準細節的知識而不是技術技巧而設計嗎?這是個愚蠢的問題嗎?如要你答出某個字符的ASCII值。這些問題著重考察你的系統調用和內存分配策略方面的能力嗎?這標志著出題者也許花時間在微機上而不是在嵌入式系統上。如果上述任何問題的答案是“是”的話,那么我知道我得認真考慮我是否應該去做這份工作。
??從面試者的角度來講,一個測試也許能從多方面揭示應試者的素質:最基本的,你能了解應試者C語言的水平。不管怎么樣,看一下這人如何回答他不會的問題也是滿有趣。應試者是以好的直覺做出明智的選擇,還是只是瞎蒙呢?當應試者在某個問題上卡住時是找借口呢,還是表現出對問題的真正的好奇心,把這看成學習的機會呢?我發現這些信息與他們的測試成績一樣有用。
??有了這些想法,我決定出一些真正針對嵌入式系統的考題,希望這些令人頭痛的考題能給正在找工作的人一點幫助。這些問題都是我這些年實際碰到的。其中有些題很難,但它們應該都能給你一點啟迪。
??這個測試適于不同水平的應試者,大多數初級水平的應試者的成績會很差,經驗豐富的程序員應該有很好的成績。為了讓你能自己決定某些問題的偏好,每個問題沒有分配分數,如果選擇這些考題為你所用,請自行按你的意思分配分數。
??預處理器(Preprocessor)
??1 。 用預處理指令#define 聲明一個常數,用以表明1年中有多少秒(忽略閏年問題)
??#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
??我在這想看到幾件事情:
??1) #define 語法的基本知識(例如:不能以分號結束,括號的使用,等等)
??2)懂得預處理器將為你計算常數表達式的值,因此,直接寫出你是如何計算一年中有多少秒而不是計算出實際的值,是更清晰而沒有代價的。
??3) 意識到這個表達式將使一個16位機的整型數溢出-因此要用到長整型符號L,告訴編譯器這個常數是的長整型數。
??4) 如果你在你的表達式中用到UL(表示無符號長整型),那么你有了一個好的起點。記住,第一印象很重要。
??2 。 寫一個“標準”宏MIN ,這個宏輸入兩個參數并返回較小的一個。
??#define MIN(A,B) ((A) 《= (B) ? (A) : (B))
??這個測試是為下面的目的而設的:
??1) 標識#define在宏中應用的基本知識。這是很重要的。因為在 嵌入(inline)操作符 變為標準C的一部分之前,宏是方便產生嵌入代碼的唯一方法,對于嵌入式系統來說,為了能達到要求的性能,嵌入代碼經常是必須的方法。
??2) 三重條件操作符的知識。這個操作符存在C語言中的原因是它使得編譯器能產生比if-then-else更優化的代碼,了解這個用法是很重要的。
??3) 懂得在宏中小心地把參數用括號括起來
??4) 我也用這個問題開始討論宏的副作用,例如:當你寫下面的代碼時會發生什么事?
??least = MIN(*p++, b);
??3. 預處理器標識#error的目的是什么?
??如果你不知道答案,請看參考文獻1。這問題對區分一個正常的伙計和一個書呆子是很有用的。只有書呆子才會讀C語言課本的附錄去找出象這種問題的答案。當然如果你不是在找一個書呆子,那么應試者最好希望自己不要知道答案。
??死循環(Infinite loops)
??4. 嵌入式系統中經常要用到無限循環,你怎么樣用C編寫死循環呢?
??這個問題用幾個解決方案。我首選的方案是:
??while(1){}
??一些程序員更喜歡如下方案:
??for(;;)
??{}
??這個實現方式讓我為難,因為這個語法沒有確切表達到底怎么回事。如果一個應試者給出這個作為方案,我將用這個作為一個機會去探究他們這樣做的基本原理。如果他們的基本答案是:“我被教著這樣做,但從沒有想到過為什么。”這會給我留下一個壞印象。
??第三個方案是用 goto
??Loop:
??。..
??goto Loop;
??應試者如給出上面的方案,這說明或者他是一個匯編語言程序員(這也許是好事)或者他是一個想進入新領域的BASIC/FORTRAN程序員。
??數據聲明(Data declarations)
??5. 用變量a給出下面的定義
??a) 一個整型數(An integer)
??b)一個指向整型數的指針( A pointer to an integer)
??c)一個指向指針的的指針,它指向的指針是指向一個整型數( A pointer to a pointer to an integer)
??d)一個有10個整型數的數組( An array of 10 integers)
??e) 一個有10個指針的數組,該指針是指向一個整型數的。(An array of 10 pointers to integers)
??f) 一個指向有10個整型數數組的指針( A pointer to an array of 10 integers)
??g) 一個指向函數的指針,該函數有一個整型參數并返回一個整型數(A pointer to a function that takes an integer as an argument and returns an integer)
??h) 一個有10個指針的數組,該指針指向一個函數,該函數有一個整型參數并返回一個整型數( An array of ten pointers to functions that take an integer argument and return an integer )
??答案是:
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 程序員表白程序
- 嵌入式程序員應知道的幾個基本問題
- 嵌入式累還是程序員累?學嵌入式還是java好?
- 物聯網的嵌入式編程
- 多功能按鍵嵌入式程序設計資料下載
- 說到C語言編程程序的內存是個重要問題,那如何布局呢 ?資料下載
- 怎么才能寫好嵌入式C語言程序?資料下載
- 電路保護器件的重要問題資料下載
- 嵌入式Linux開發教程之嵌入式系統介紹資料免費下載
- 嵌入式開發板的USB驅動程序源代碼資料免費下載 1次下載
- 關于程序員的59條編程語錄詳細資料免費下載 9次下載
- 基于微電子器件應用中的幾個重要問題 21次下載
- 程序員需要學什么,微軟資深程序員學習手冊面試寶典資料 30次下載
- 程序員羊皮卷下載版(程序員必備) 0次下載
- 嵌入式程序員需要知道的16個問題 340次下載
- fpga是嵌入式嗎 1767次閱讀
- 5款程序員最佳的代碼比較工具 5331次閱讀
- 如何為嵌入式軟件開發選擇編譯器 751次閱讀
- 簡化SBC的嵌入式Linux軟件開發 998次閱讀
- 嵌入式系統設計需考慮哪些重要問題 4660次閱讀
- 基于嵌入式軟件的JNI技術應用解析 1020次閱讀
- 程序員需要知道的那些定理和法則 3020次閱讀
- 目前國內在ARM CPU上廣泛采用的三種嵌入式操作系統淺析 3894次閱讀
- 程序員值得一看的9本學習算法經典書籍 4w次閱讀
- 關于嵌入式系統以及嵌入式平臺下的學科分工詳解 1855次閱讀
- 華為資深工程師:程序員與碼農的差異在哪? 3620次閱讀
- 嵌入式C實現延時程序的不同變量的區別 幾種Linux嵌入式開發環境的簡單介紹 1566次閱讀
- 一個電子發燒友的程序員成長之路 6750次閱讀
- 數據顯示:中國程序員是世界上最牛的程序員 606次閱讀
- 嵌入式程序員需要了解的幾個問題 1248次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多