08年3月27日正式簽約,找工作的日子終于結(jié)束了,
首先介紹一下我自己,本人畢業(yè)一211院校,電子信息工程專業(yè),在校期間成績一般 ,雖然年年拿獎學金,但是學的東西很一般,原來很喜歡做單片機,但是自己最后簽的并不是單片機的工作,我找工作的路很長很彎,但是運氣還是比較好,這個帖子對于想找硬件研發(fā)類和嵌入式軟件方面工作的大三學生 能會有些作用,,我的經(jīng)歷確實還是借鑒!
在這個中走了很多彎路,由于面試公司較多,我將陸續(xù)以跟貼的形式把后續(xù)經(jīng)歷貼出。
2007年10月17號 北京NEC
17號那天中關(guān)村人才市場去西工大招聘了,起了個早,發(fā)現(xiàn)那個人多的很,由于是年前的第一次大招聘,人很多,秩序也很亂,只有看見人往里面擠,西工大的國際會展中心真小,跟它的這個名字一點都不相稱,當初也沒有想去北京的 ,但是總歸來了,還是投一下,第一個投的是NEC的軟件工程師,收簡歷的看了一下簡歷,給了我一個筆試的紙條,然我們下午去誠字樓去筆試,還不錯,運氣還好,沒有被人拒了(NEC在西安只要四個學校的簡歷),還有很多其他的公司,有浪潮,浪潮挺大的,也投了一份,浪潮要回去等消息(后來沒有等到,被BS了),到了下午就是筆試,我們宿舍一小伙也有,我們就坐一塊了,考軟件,筆試的題目還是比較基礎(chǔ),前面一部分是C語言,C語言說不上精通,但是一直用這個,看的書也不少,不是問題,前面是基礎(chǔ)的選擇題,后面是一道宏的改錯,沒有要寫程序的,NEC的卷子出的很厚,后面還有選作一套是C++ 一套是嵌入式操作系統(tǒng),C++ 一點不懂就做嵌入式的,嵌入式的是A=(XXXX)2 B=(XXXX)2 讓寫出A*B的后32位 ,其實這題簡單,就是移位,后來發(fā)現(xiàn)自己做錯了,后面要解釋什么是RISC什么是CISC
還有一道是嵌入式操作系統(tǒng)的優(yōu)先級反轉(zhuǎn)的題,學計算機的估計會做的好,我不會就把A, B,C三個進程的執(zhí)行順序亂寫了一下,不會 就是在猜,后面還有其他的比較專業(yè)一點的像數(shù)字電視,電機,EDA ~~~ 那都是亂答的估計沒有戲了,交卷走了, 17號晚上沒有收到通知,18號晚上收到了,先給我們宿舍的那小伙先打的電話,都來是我,
2007年10月19號 NEC
NEC面試的地點在高速神州大酒店在東門那,我和我宿舍那小伙早上又起了個早,來到那,等了好久把宿舍那叫進去,后來又叫我進去了,3vs1先是自我介紹,~~~~~說了一通然后看我簡歷上說有三次電子設(shè)計大賽,讓我挑一個說一下,我就挑了一個是說了,感覺沒有說清楚,后來面試官問中途有沒有困難,怎么克服了,我說就是放大器帶寬不夠,換了好幾個芯片,感覺這個問題答的不好,后來問我是不是精通C語言,我說精通說不上,但是用的比較多 ,比較熟悉,后來又看成績單,看有沒有掛科,問我考研沒有,我說沒有,問我為什么不考,我說我比較喜歡實踐,還有就是我父母年齡比較大了,想早點出去工作好像面試官對我的印象還不錯,但是最終還是沒有收到offer,第一次就這么掛了,其實我感覺挺好的,可能是第一次,反正也沒有想去北京的,也沒有什么遺憾的,繼續(xù)找唄!
想做嵌入式軟件的朋友注意了,筆試一般C語言多,推薦把C語言多看幾遍,尤其是指針,我這里推薦幾本教材:
《C專家編程》 《C陷阱與缺陷》 《C和指針》 《高質(zhì)量C/C++編程》
嵌入式操作系統(tǒng),有一本書《嵌入式實時操作系統(tǒng)ucosII》這本書還不錯,花了好久時間才看出個眉目來,這些書在網(wǎng)上都有電子版,嫌電子版看起來不爽就打印一下,我還打印了幾本
2007年10月26號 福建瑞芯微電子
瑞芯微電子的簡歷是網(wǎng)投的(嵌入式軟件工程師),25號晚上有短信 叫我明天下午就西電老校區(qū)筆試,好像是下午 具體時間我也記不太清楚了,過去是一個人力資源把他們公司介紹了一下,工資水平還不錯,中間有有獎問答還送MP3的,由于人很多,我的運氣也一般(很多芯片研發(fā)公司都會有這種活動),弄完這些就開始筆試了,筆試的是C語言,還是比較的基礎(chǔ),是一些經(jīng)典題型,很多都見過,1 是sizeof 的用法,感覺主要記住sizeof(指針)=4 就可以了還有就是給出一段代碼讓你寫結(jié)果的那種,主要也是考得指針,后面還有兩道硬件題,給出內(nèi)存起始地址和能存大小,讓求結(jié)束地址,這樣的題微機原理里面有,還有就是給出波形求出A?。?nbsp;C 的關(guān)系 數(shù)字電路基礎(chǔ),還有就是改錯,無非就是字符串沒有‘/0’或者是字符串緩沖區(qū)不夠存下字符串,大題主要是幾個寫程序的題目比如是一個char型的數(shù)中有多少給1 這個用一for循環(huán)還是比較簡單,還有就是讓寫一個1+2+3+…n的程序,這個估計只要是學過編程的人都會,但是這有個陷阱就是嵌入式中要求速度和內(nèi)存少,我就寫了兩種方法一種常規(guī)的,一種直接由公式給出,過了這兩道題就是操作系統(tǒng)的了,操作系統(tǒng)幾乎就是不懂得,解釋什么是臨界段代碼,給出兩段代碼一道是用信號量來處理的臨界段代碼,一個是用test的方式 ,問哪個好,這兩個都是亂猜的,信號量好 信號量把這個任掛起了,這都是操作系統(tǒng)基礎(chǔ),回去后來我把操作系統(tǒng)猛看,都還是比較基礎(chǔ)的東西,最后一道分值比較大,就是用一方法來測試機器是大端還是小端,很早就看過這個題目,一直沒有去想,心想這下b了,我就隨便亂寫了一個程序
Short *P=0X55aa;char *P1 ; P1=(char*)P
Return (*P1==0x55); 現(xiàn)在我都不會理解這個了,后來面試的時候我還特意問面試官這個對著沒有,他說對著,其他人都是用聯(lián)合體做的,但是我有點想不明白。
總體來說題目還是比較的簡單,后來筆試完我在西電聽另一個宣講就聽見有西電的碩士在議論著題目簡單,說星網(wǎng)銳捷的難,
2007年10月27號 福建瑞芯微電子
26號晚上正郁悶的時候電話來了 叫我早上去驪苑酒店去面試,又起了個清早,早早的就過去了,面試我的是一個小伙,挺年輕的,我們就相當于在聊天了,問我做過的這些項目,其實都是一些小制作,問我家哪的,同步傳輸和異步傳輸?shù)膮^(qū)別,對MP3有什么了解沒有,對聽音樂有什么很高就要求沒有,我說很強的重低音還是能分辨出來的,問我有沒有移植過操作系統(tǒng),中間有哪些困難,軟肋,連操作系統(tǒng)都沒有搞懂怎么移植,當然我只有說沒有,他說這個很重要,一定要懂移植,后來看沒有什么問了就看我的試卷,說我的C還可以,操作系統(tǒng)比較的弱,最后還跟我握手了,走的時候說,我們現(xiàn)在人力資源面還在面,你在這等著時間怕太長了,叫我回去等電話,我也沒有認為這是把我拒絕了,還傻傻的等了一上午后來發(fā)現(xiàn)這種情況一般都是被pass了,只是委婉的拒絕而已,走出驪苑就坐上教育專線打算到交大,沒有想到自己做錯了,教育專線幾乎就把西安繞了一圈,才到交大,到交大都很晚了,蘇州高新區(qū)都都差不多招滿了,就和幾個同學聊了會就準備回了。
微電子公司的嵌入式軟件工程師的技術(shù)含量很高,因為他們都要從頭做起,什么都是自己做的,幫別人把方案提供好,還有驅(qū)動,這樣下游廠商開發(fā)的周期就會縮短,這樣他們的產(chǎn)品就買的更好了,所以很多嵌入式軟件工程師都想去原廠 ,那樣學到的東西就更多了,操作系統(tǒng)很重要。
2007年10月23號 福建星網(wǎng)銳捷
星網(wǎng)銳捷在福州離我女朋友家比較的近,然后我和我女朋友就商量我們一起去福州,福州來這邊的公司少,所以我比較在意這個公司,公司招人很多,主要是做終端設(shè)備,還有路由器交換機啥的,還做KTV點唱系統(tǒng),反正做的東西很雜了,其中軟件工程師有底層軟件,我比較感興趣,以為是去做驅(qū)動,然后就投了,投這個的人很少,第二天就在西電階梯教室筆試,筆試的人還不少,但是底層的估計就10個人左右,這次又是我和我宿舍那小伙一起去了,卷子發(fā)下來,根本就是一個不會,考得太雜了,數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng),數(shù)據(jù)結(jié)構(gòu),網(wǎng)絡
看來看去 就會一道C 就是 ((void*)())XXXX(); 軟跳轉(zhuǎn),就會這個,其他的都是猜的,有什么哈希表,數(shù)據(jù)結(jié)構(gòu)里面的,這個沒戲很正常,結(jié)果真的沒有,晚上我的同學收到了面試通知(他答的也不好),我卻沒有,我還打電話過去問了,他說可能還要等等吧,我就一直等著,早上我同學都準備去了,我還是沒有等到,我想這下沒戲了,本來想去霸王面的,后來想想還是不去了,最后沒有去成,下午我回來的時候我同學都拿到offer了,2800 他,也沒有怎么猶豫就簽了,現(xiàn)在在那邊實習了,搞應用軟件去了,和我當初想的根本不一樣,也不是我感興趣的。
當初對自己的定位不清楚,以為嵌入式軟件就是好的,不知道自己對什么感興趣,就以為底層是搞單片機的,其實不是的,還有就是對自己中意的公司,可能沒有筆試面試的機會,自己盡量去爭取,有時候面試官喜歡這樣的人。
全勝微電子(嵌入式軟件工程師)
后面的幾個公司是筆試沒有過的公司,筆試沒有過在于自己的知識水平不夠
全勝微電子(嵌入式軟件工程師)
又是一個為微電子公司,全勝也是網(wǎng)上投的簡歷,去筆試在西電階梯教室,晚上,我和我女朋友一起過去的,她考的是版圖,呵呵, 我們電工的就沒有學過這個,讓她畫N溝道版圖,她一頓亂答的,我的卷子也比較慘,前面一些是C 語言基礎(chǔ)和操作系統(tǒng),還有就是計算機體系結(jié)構(gòu),后面就是幾個C語言答題,有個是把 一個數(shù)的 第三位置位 ,一個是把一個數(shù)的第三位清零 我知道當時看過這個題目就是部不太會了 ,置位就寫了個這
a=a|0x08 ,清零就寫了 a=a&0xF7 ;
很明顯的就是錯的,沒有考慮到機器的字長,后來想想應該這樣 a=a|(0x01<<3)
a=a&~(0x01<<3);
然后是一道結(jié)構(gòu)體 寫一個宏求aa偏移量
struct a
{
long
aa;
}
#define
abs(sizeof(a)-((struct a *)0 )->aa));
也不知道對不對 ,反正當初也不會,這個是現(xiàn)在做的,估計不對
其他的我也不記得了,好像比較的簡單。
這次沒有面試機會也不是很意外 答的太差了,機會也沒有很多會的 ,但是我還是堅持我的嵌入式軟件工程師的道路
威盛電子(嵌入式驅(qū)動工程師)
威盛很著名的IC廠商,待遇也不錯,威盛得筆試組織的很好,好像是全國統(tǒng)一的筆試,卷子發(fā)下來有很厚全英文,里面有軟件 ,硬件,邏輯, 嵌入式驅(qū)動 ~~~~ 隨便你選一套,當然你強的話也可以做兩套,我的是嵌入式驅(qū)動,其他的我都不會,
威盛就全考的C 對指針考得比較的多,A[4][4]
A ,A+1 A+2代表的意義啊
Int a[5]={1,2,3,4,5};
Int *ptr=(int*)(&a+1);
Printf(“%d,%d”,*(a+1),*(ptr-1));
寫出這些程序
指向返回值是int型的函數(shù)指針 int(*fun)();
函數(shù)返回指針 int * Fun();
函數(shù)指針數(shù)組int(*fun[10])();
步步高
. 用變量a給出下面的定義
a) 一個整型數(shù)(An integer)
b)一個指向整型數(shù)的指針( A pointer to an integer)
c)一個指向指針的的指針,它指向的指針是指向一個整型數(shù)( A pointer to a pointer to an intege)r
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 )
a) int a; // An integer
b) int *a; // A pointer to an integer
c) int **a; // A pointer to a pointer to an integer
d) int a[10]; // An array of 10 integers
e) int *a[10]; // An array of 10 pointers to integers
f) int (*a)[10]; // A pointer to an array of 10 integers
g) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integer
h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer
人們經(jīng)常聲稱這里有幾個問題是那種要翻一下書才能回答的問題,我同意這種說法。當我寫這篇文章時,為了確定語法的正確性,我的確查了一下書。但是當我被面試的時候,我期望被問到這個問題(或者相近的問題)。因為在被面試的這段時間里,我確定我知道這個問題的答案。應試者如果不知道所有的答案(或至少大部分答案),那么也就沒有為這次面試做準備,如果該面試者沒有為這次面試做準備,那么他又能為什么出準備呢?
我都被這繞暈了 ,好像還有好多,主要是C語言的聲明
要是這不是很明白的話推薦看看《C專家編程》 第三章
還有就是問答 const viotile 是什么意思,能不能一起用
Const 表示常量不可以修改的意思,
Volatile 便是提示編譯器對象的值可能在編譯的未檢測到的情況下改變
可以一起用
后面還是操作系統(tǒng),一個題目問有沒有錯誤,我都不記得了
然后就是 智力題了 好像有三道
前面的比較簡單
后面就是 問N*N得方格中共有多少個正方形
我就推理了一下 1^2+2^2+3^2+4^2+…+N^2=n*(N+1)*(2*n+1)/6;
我知道數(shù)學歸納法能做出來,也沒有想做了
最后的就是一道 普通的那種誰是兇手 誰是警察的那種 多人身份確認的題,用表格形式還是比較容易推出來的。
感覺卷子做的還可以,威盛的筆試過后要很久才又面試通知,我就一直等著,到后來我在西電好網(wǎng)上發(fā)帖問,才知道他們已經(jīng)面試過了,比較失望,對威盛的興趣還是很濃的。
步步高(單片機軟件工程師)
步步高是在西電新區(qū)的宣講晚上的,主要步步高在順德,我不是很想去那,但是那天我還是騎自行車去了西電新區(qū),也不是很遠,一般就是半個小時就到了,但是晚上回來的時候,在西電那條路上是沒有路燈的,黑的很,騎車也不是很方便,到哪投了簡歷,然后第二天就收到了筆試通知,我和我女朋友都收到了,步步高的筆試有意思,開始時是綜合測試
什么都有 物理化學 生物 數(shù)學 語文 就是類似高考的那種,最后還有把高考成績寫上,好像聽說 是語數(shù)外都上了120可以每個月多拿600,不知道這個是什么規(guī)矩,呵呵 我比較菜我要是去了,肯定要少拿600了 ,在說要是這幾個都有120 估計差不多都上交大了 ,也不愿意去步步高了,
題目還是比較基礎(chǔ)的 C 語言題目 基礎(chǔ)
void foo(void)
{
unsigned int a = 6;
int b = -20;
(a+b > 6) ? puts("> 6") : puts("<= 6");
}
這個問題測試你是否懂得C語言中的整數(shù)自動轉(zhuǎn)換原則,我發(fā)現(xiàn)有些開發(fā)者懂得極少這些東西。不管如何,這無符號整型問題的答案是輸出是 ”>6”。原因是當表達式中存在有符號類型和無符號類型時所有的操作數(shù)都自動轉(zhuǎn)換為無符號類型。因此-20變成了一個非常大的正整數(shù),所以該表達式計算出的結(jié)果大于6。
后面有兩道是單片機 的題目 一個是用軟件模擬 I2C總線的時序,我最不喜歡的就是這個了,我不喜歡延時這東西,我認為我弄不準,就胡寫在那,其實這個i題目網(wǎng)上有很多答案 ,主要 是延時對的話 就差不多 I2C對延時好像不是很嚴格,不像 DS18B20 那樣,
后面又是一道的單片機讓 燈亮4秒滅一秒,這個其實還是比較簡單的,用的是51單片機,C語言編程,
其實不要你完全寫出來 ,給你填一些空就行了,就用了一個定時器的中斷 在方式2下 ,給我定義了一個計數(shù)變量,是usigned char型的后來我就在一直算 TH1 TL1的初值 發(fā)現(xiàn) unsigned char 255 下中斷 即使是TH1=0x00 ,TL1=0x00;也不能達到5秒 后來我就在 試卷上寫 此題有誤 ,反正感覺不是很好,就亂寫也無所謂了 ,我旁邊坐一西電的 替人代考的單片機一個不會,做完純軟的就走了 , 最后還有一道是關(guān)于鏈表找環(huán)的問題,我個人認為不是原來看過這個題目的人是很難想到用那種標準答案的方法的可能我比較弱吧 呵呵,沒有做出來
原題是 怎樣才能檢測到鏈表中存在環(huán)
這個是《C專家編程》上的答案 首先排除一種特殊情況 就是3個元素的呃時候第二個個元素后面試第一個元素兩個指針 P1和P2 P1指向第一個元素P2指向第三個元素看看他們是否相等如果相等的話就是有環(huán)如果不等 就把P1向后移一個元素 P2 移兩個如果相等的話就存在 如此繼續(xù)下去 。
代碼我沒有 就給了個思路 參考 可以參考《C專家編程》274頁
這個卷子答的爛,沒有希望 硬件的就更難了 很多名詞都沒有聽過,只記得最后一道題了 就是模電書上那個 穩(wěn)壓電源的圖 好像就是書上的。
科達通信
軟件在上海 硬件在蘇州
這個筆試我過了 ,叫我去面試 那天太累了 就沒有去
我開始是想試試硬件的 一個不會
軟件還是相比之下要好些 《高質(zhì)量C/C++編程》最后一套 大部分都是那上面的
我就不都說了 ,這個公司還可以 給的工資待遇不錯,我們級的一個本來可以簽硬件的 由于他已經(jīng)簽了其他公司了 所以 硬件就沒有簽上了