資料介紹
??C語言測試是招聘嵌入式系統(tǒng)程序員過程中必須而且有效的方法。這些年,我既參加也組織了許多這種測試,在這過程中我意識到這些測試能為面試者和被面試者提供許多有用信息,此外,撇開面試的壓力不談,這種測試也是相當有趣的。
??從被面試者的角度來講,你能了解許多關(guān)于出題者或監(jiān)考者的情況。這個測試只是出題者為顯示其對ANSI標準細節(jié)的知識而不是技術(shù)技巧而設(shè)計嗎?這是個愚蠢的問題嗎?如要你答出某個字符的ASCII值。這些問題著重考察你的系統(tǒng)調(diào)用和內(nèi)存分配策略方面的能力嗎?這標志著出題者也許花時間在微機上而不是在嵌入式系統(tǒng)上。如果上述任何問題的答案是“是”的話,那么我知道我得認真考慮我是否應(yīng)該去做這份工作。
??從面試者的角度來講,一個測試也許能從多方面揭示應(yīng)試者的素質(zhì):最基本的,你能了解應(yīng)試者C語言的水平。不管怎么樣,看一下這人如何回答他不會的問題也是滿有趣。應(yīng)試者是以好的直覺做出明智的選擇,還是只是瞎蒙呢?當應(yīng)試者在某個問題上卡住時是找借口呢,還是表現(xiàn)出對問題的真正的好奇心,把這看成學習的機會呢?我發(fā)現(xiàn)這些信息與他們的測試成績一樣有用。
??有了這些想法,我決定出一些真正針對嵌入式系統(tǒng)的考題,希望這些令人頭痛的考題能給正在找工作的人一點幫助。這些問題都是我這些年實際碰到的。其中有些題很難,但它們應(yīng)該都能給你一點啟迪。
??這個測試適于不同水平的應(yīng)試者,大多數(shù)初級水平的應(yīng)試者的成績會很差,經(jīng)驗豐富的程序員應(yīng)該有很好的成績。為了讓你能自己決定某些問題的偏好,每個問題沒有分配分數(shù),如果選擇這些考題為你所用,請自行按你的意思分配分數(shù)。
??預處理器(Preprocessor)
??1 。 用預處理指令#define 聲明一個常數(shù),用以表明1年中有多少秒(忽略閏年問題)
??#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
??我在這想看到幾件事情:
??1) #define 語法的基本知識(例如:不能以分號結(jié)束,括號的使用,等等)
??2)懂得預處理器將為你計算常數(shù)表達式的值,因此,直接寫出你是如何計算一年中有多少秒而不是計算出實際的值,是更清晰而沒有代價的。
??3) 意識到這個表達式將使一個16位機的整型數(shù)溢出-因此要用到長整型符號L,告訴編譯器這個常數(shù)是的長整型數(shù)。
??4) 如果你在你的表達式中用到UL(表示無符號長整型),那么你有了一個好的起點。記住,第一印象很重要。
??2 。 寫一個“標準”宏MIN ,這個宏輸入兩個參數(shù)并返回較小的一個。
??#define MIN(A,B) ((A) 《= (B) ? (A) : (B))
??這個測試是為下面的目的而設(shè)的:
??1) 標識#define在宏中應(yīng)用的基本知識。這是很重要的。因為在 嵌入(inline)操作符 變?yōu)闃藴蔆的一部分之前,宏是方便產(chǎn)生嵌入代碼的唯一方法,對于嵌入式系統(tǒng)來說,為了能達到要求的性能,嵌入代碼經(jīng)常是必須的方法。
??2) 三重條件操作符的知識。這個操作符存在C語言中的原因是它使得編譯器能產(chǎn)生比if-then-else更優(yōu)化的代碼,了解這個用法是很重要的。
??3) 懂得在宏中小心地把參數(shù)用括號括起來
??4) 我也用這個問題開始討論宏的副作用,例如:當你寫下面的代碼時會發(fā)生什么事?
??least = MIN(*p++, b);
??3. 預處理器標識#error的目的是什么?
??如果你不知道答案,請看參考文獻1。這問題對區(qū)分一個正常的伙計和一個書呆子是很有用的。只有書呆子才會讀C語言課本的附錄去找出象這種問題的答案。當然如果你不是在找一個書呆子,那么應(yīng)試者最好希望自己不要知道答案。
??死循環(huán)(Infinite loops)
??4. 嵌入式系統(tǒng)中經(jīng)常要用到無限循環(huán),你怎么樣用C編寫死循環(huán)呢?
??這個問題用幾個解決方案。我首選的方案是:
??while(1){}
??一些程序員更喜歡如下方案:
??for(;;)
??{}
??這個實現(xiàn)方式讓我為難,因為這個語法沒有確切表達到底怎么回事。如果一個應(yīng)試者給出這個作為方案,我將用這個作為一個機會去探究他們這樣做的基本原理。如果他們的基本答案是:“我被教著這樣做,但從沒有想到過為什么?!边@會給我留下一個壞印象。
??第三個方案是用 goto
??Loop:
??。..
??goto Loop;
??應(yīng)試者如給出上面的方案,這說明或者他是一個匯編語言程序員(這也許是好事)或者他是一個想進入新領(lǐng)域的BASIC/FORTRAN程序員。
??數(shù)據(jù)聲明(Data declarations)
??5. 用變量a給出下面的定義
??a) 一個整型數(shù)(An integer)
??b)一個指向整型數(shù)的指針( A pointer to an integer)
??c)一個指向指針的的指針,它指向的指針是指向一個整型數(shù)( A pointer to a pointer to an integer)
??d)一個有10個整型數(shù)的數(shù)組( An array of 10 integers)
??e) 一個有10個指針的數(shù)組,該指針是指向一個整型數(shù)的。(An array of 10 pointers to integers)
??f) 一個指向有10個整型數(shù)數(shù)組的指針( A pointer to an array of 10 integers)
??g) 一個指向函數(shù)的指針,該函數(shù)有一個整型參數(shù)并返回一個整型數(shù)(A pointer to a function that takes an integer as an argument and returns an integer)
??h) 一個有10個指針的數(shù)組,該指針指向一個函數(shù),該函數(shù)有一個整型參數(shù)并返回一個整型數(shù)( An array of ten pointers to functions that take an integer argument and return an integer )
??答案是:
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 程序員表白程序
- 嵌入式程序員應(yīng)知道的幾個基本問題
- 嵌入式累還是程序員累?學嵌入式還是java好?
- 物聯(lián)網(wǎng)的嵌入式編程
- 多功能按鍵嵌入式程序設(shè)計資料下載
- 說到C語言編程程序的內(nèi)存是個重要問題,那如何布局呢 ?資料下載
- 怎么才能寫好嵌入式C語言程序?資料下載
- 電路保護器件的重要問題資料下載
- 嵌入式Linux開發(fā)教程之嵌入式系統(tǒng)介紹資料免費下載
- 嵌入式開發(fā)板的USB驅(qū)動程序源代碼資料免費下載 1次下載
- 關(guān)于程序員的59條編程語錄詳細資料免費下載 9次下載
- 基于微電子器件應(yīng)用中的幾個重要問題 21次下載
- 程序員需要學什么,微軟資深程序員學習手冊面試寶典資料 30次下載
- 程序員羊皮卷下載版(程序員必備) 0次下載
- 嵌入式程序員需要知道的16個問題 340次下載
- fpga是嵌入式嗎 2420次閱讀
- 5款程序員最佳的代碼比較工具 5640次閱讀
- 如何為嵌入式軟件開發(fā)選擇編譯器 905次閱讀
- 簡化SBC的嵌入式Linux軟件開發(fā) 1170次閱讀
- 嵌入式系統(tǒng)設(shè)計需考慮哪些重要問題 4928次閱讀
- 基于嵌入式軟件的JNI技術(shù)應(yīng)用解析 1106次閱讀
- 程序員需要知道的那些定理和法則 3170次閱讀
- 目前國內(nèi)在ARM CPU上廣泛采用的三種嵌入式操作系統(tǒng)淺析 4021次閱讀
- 程序員值得一看的9本學習算法經(jīng)典書籍 4w次閱讀
- 關(guān)于嵌入式系統(tǒng)以及嵌入式平臺下的學科分工詳解 2025次閱讀
- 華為資深工程師:程序員與碼農(nóng)的差異在哪? 3731次閱讀
- 嵌入式C實現(xiàn)延時程序的不同變量的區(qū)別 幾種Linux嵌入式開發(fā)環(huán)境的簡單介紹 1673次閱讀
- 一個電子發(fā)燒友的程序員成長之路 6963次閱讀
- 數(shù)據(jù)顯示:中國程序員是世界上最牛的程序員 661次閱讀
- 嵌入式程序員需要了解的幾個問題 1289次閱讀
下載排行
本周
- 1IP6823 支持 qi 認證的無線充電發(fā)射控制 SOC
- 1.01 MB | 1次下載 | 免費
- 2IP6824? 全集成QI?無線充電發(fā)射控制SOC
- 1.22 MB | 1次下載 | 免費
- 3GD32G5x3 FFT模塊用戶指南
- 920.15KB | 次下載 | 免費
- 4GD32H73x/H75x的器件限制
- 774.05KB | 次下載 | 免費
- 5PDTA115EU配備PNP電阻的晶體管規(guī)格書
- 189.74KB | 次下載 | 免費
- 6帶注入電流控制的1.8V通用SP8T-Z和2個SP4T-Z模擬開關(guān)
- 847.62KB | 次下載 | 免費
- 7PESD18VY1BBIF保護二極管規(guī)格書
- 4.56MB | 次下載 | 免費
- 8視頻處理器晶振應(yīng)用方案
- 515.02 KB | 次下載 | 免費
本月
- 1A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 2零死角玩轉(zhuǎn)STM32F103—指南者
- 26.78 MB | 41次下載 | 1 積分
- 3PIC12F629/675 數(shù)據(jù)手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 4PIC16F716 數(shù)據(jù)手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 5dsPIC33EDV64MC205電機控制開發(fā)板用戶指南
- 5.78MB | 8次下載 | 免費
- 6STC15系列常用寄存器匯總免費下載
- 1.60 MB | 7次下載 | 5 積分
- 7AN-1267: 使用ADSP-CM408F ADC控制器的電機控制反饋采樣時序
- 1.41MB | 5次下載 | 免費
- 8LP9962集成 PFC 和 和的 高壓半橋驅(qū)動的 LLC 諧振
- 3.30 MB | 4次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935124次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73813次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論