第一篇:大華面試總結(jié)(linux嵌入式軟件工程師)
面試時間:2012年2月11日9點(diǎn)-15點(diǎn)
面試地點(diǎn):浙江杭州高新人才市場(文三路199號)招聘會:浙江大華技術(shù)股份有限公司專場
前記:大年初六就出發(fā)了,今年必定將是個(忙碌+壓力)的一年 最近一直在為面試做準(zhǔn)備,兩天前得知大華今天要在高新人才市場開招聘會,于是加緊了準(zhǔn)備時間,因?yàn)闆]分配好時間,所以沒達(dá)到很好的復(fù)習(xí)效果,一會看看培訓(xùn)期間的PPT,一會做做面試題,一會看看同學(xué)的筆記,一會改改簡歷,一會根據(jù)簡歷來復(fù)習(xí),就這樣,,最寶貴的兩天針對性復(fù)習(xí)過去了。
2012年2月11日8點(diǎn)晨………………手機(jī)鈴聲響了………,下意識的知道要面對某些事了,迷迷糊糊聽見某人的起床聲,“哦,我也該起床了…可是我好困,我要再睡會兒“(心里默念道)。
起床了,起床了,,,杜**喊道,我瞇了瞇眼看著他,哦…… “是該起床了”,不情愿的掀開了被子,然后習(xí)慣性的按了下電腦左上角的啟動按鈕,還像石像似的發(fā)呆了一分鐘,都過去兩分鐘了那些困意才像晨霧見到太陽似的漸漸的消失了。因?yàn)榍疤焱砩弦恢钡降诙炝璩恳稽c(diǎn)半才睡,再加上失眠了一陣子。失眠是由于這次面試,因?yàn)榇笕A的薪資、福利、待遇、休閑娛樂、企業(yè)文化都很不錯的,所以我挺看重這次招聘會的。對于準(zhǔn)備,自我感覺準(zhǔn)備的還可以,但還是不夠充分,所以在睡覺前,滿腦子想的全是什么TCP/IP、UDP啊,SOCKET通信原理啊,匯編指令啊,linux的操作指令啊,mysql的操作語句啊,還有之前面試被提到的問題以及培訓(xùn)期間寫的一些小項(xiàng)目啊……等等……等等,滿腦子充斥著這些東西……還自己導(dǎo)演了一把面試對話:“假如被問到SOCKET通信原理該如何回答,如果被問TCP/IP協(xié)議的三次握手該怎么回答…………“。額,自己給自己當(dāng)面試官回答的當(dāng)然挺好的了,不知不覺就睡著了,,,直到凌晨那個刺耳的鈴聲。
刷牙,洗臉,幾分鐘搞定;因?yàn)樽罱砹藗€短寸,這頭發(fā)是每隔一天不洗就變的更光亮些,因此我還經(jīng)常指著頭對朋友說:“你看我這發(fā)型多好,四天不洗,像抹了神馬油似的,這么短,梳子的錢都省了。?!?其實(shí)幾天不洗頭,外表很光亮,但是有點(diǎn)癢,而且越撓越癢)下樓,,本來是想坐公交過去的,結(jié)果差半分鐘沒坐上K74,坑爹的K74弟弟一直到9點(diǎn)還沒來,這招聘會都快開始了,被逼無奈之下攬了個的哥。打的就是TM的快,15分鐘就到了。剛進(jìn)招聘會大門,眼前近300平方的房間全是人,于是我就去找那個前兩天聯(lián)系我面試的人,結(jié)果她給我安排了一位大約30歲的面試官對我進(jìn)行初步的了解。
開始面試了,首先是自我介紹,這個應(yīng)該難不住一個會說話的人吧,每個人的回答方式都不一樣,我是分三部分來介紹自己的。第一部分,自己的基本信息,如名字,畢業(yè)院校,哪里人,工作經(jīng)驗(yàn),培訓(xùn)經(jīng)歷,為什么來杭州等等。第二部分是個人喜好,比如說:有點(diǎn)宅,喜歡爬山,不喜歡看電影(高質(zhì)量的影片除外),不喜歡連續(xù)劇,不喜歡小說,第三部分是性格特點(diǎn),比如說,喜歡交朋友,心細(xì),比較關(guān)心周邊的朋友。第四部分….(自由發(fā)揮)。也可以說一下自己的缺點(diǎn),但是不要說的太嚴(yán)重,我記得有一次面試,我為了表現(xiàn)自己的誠懇,當(dāng)面試官問我有什么缺點(diǎn)的時候,我說:自暴自棄,自控力差………,TMD當(dāng)時面試官就傻了,我還試圖力挽狂瀾,解釋這只是以前的缺點(diǎn)??墒沁@已經(jīng)挽不回很差的印象了,所以對于這些致命的缺點(diǎn)Please Shut Up(因?yàn)槲耶厴I(yè)前就是自己做一些事情,一直做到培訓(xùn)前,所以我面試經(jīng)驗(yàn)基本上是0吧,而且每次都是表現(xiàn)的很誠懇,經(jīng)常出鬧劇,直接pass)。
有一些愛好我把產(chǎn)生的原因也加進(jìn)去了,這樣我就可以拖長面試時間,還可以讓面試官更透徹的了解我。我在面試的時候是這樣說的:之所以喜歡爬山是因?yàn)槲蚁矚g超越的感覺,我并不會叫朋友用相機(jī)在那里咔咔咔的給我留下許多照片,因?yàn)槲蚁氚迅嗟臅r間放在征服這座山上,我想爬的更高、更遠(yuǎn),每超越一個人我就都有一種小小的成就感,,,(略,,100字,,根據(jù)個人情況自由發(fā)揮)。
(自我介紹完畢就開始提問了,由于是初步的篩選,所以都比較簡單)(下面是答題對話的過程,根據(jù)回憶,大概就是這樣)第一題
考官:!@#$%^&*(我沒理解題意)我(悶):不知道怎么回答@#¥%……&*()。
考官(換個方式問):你用字符串給字符數(shù)組和字符指針初始化。我:寫了char str1[10] = “abcdefg”;和char *str2 = “1234567”;考官:str1和str2有什么區(qū)別?
我:str1是指向一個字符串的指針,str2是常量字符串指針,str1被分配了地址空間而str2沒有分配地址空間,它只是指向這個常量字符串。
考官:字符串str1和str2分別是存在哪里? 我:str1是存在棧上,str2是存在靜態(tài)存儲區(qū)?!?.略(100字?jǐn)U展回答)…………..考官:寫出你知道的用字符指針定義的變量;
我(自信的):1,char *c;char **c;2,char *c[10];….3,char(*)[10];….4,char *(*)(int);5,char *((void*)())(int);等等寫了大約10個,因?yàn)槲覍Φ谖鍌€不熟悉,也不知道寫的對不對,于是他就在這個點(diǎn)上對我進(jìn)行狂轟濫炸,幸虧我及時想起來了,那個是函數(shù)指針,于是我開始解釋,,,此處略去五十字。分析:不要把自己往不熟悉的問題上扯,那樣會引火燒身。
(就這樣,我通過了初步面試,然后面試官就拿了張?jiān)嚲斫o我,題目如下)(下面是題目,大家可以自己做一下,答案在最后面)1,已知文件in.txt,該文件記錄某班級某門課的學(xué)生考試成績,每次記錄一條信息,格式為姓名+空格+成績+回車換行,比如
//////////////////////////////////////////////////////////////////////////////////// In.txt中的數(shù)據(jù) 排完序?qū)懭雘ut.txt 張三 86 ……
李四 79 => 王五 93 王五 93 => ……… ……….張三 86 趙六 71 …………
李四 79 ………….趙六 71 //////////////////////////////////////////////////////////////////////////////////// 請編程實(shí)現(xiàn)對考試成績按照從高到低的順序排序,把結(jié)果輸出到文件out.txt,函數(shù)聲明如下,fin為輸入文件,fout為輸出文件,成功返回0,失敗返回-1; Int fsort(const *fin,const char *fout);//要實(shí)現(xiàn)
2,一般的應(yīng)用網(wǎng)絡(luò)協(xié)議數(shù)據(jù)由幀頭和幀數(shù)據(jù)體組成,幀頭會描述數(shù)據(jù)的長度。請使用已經(jīng)實(shí)現(xiàn)的數(shù)據(jù)接收函數(shù)recvData和幀數(shù)據(jù)處理函數(shù)processFrame,完成連續(xù)接收數(shù)據(jù)并封裝成幀數(shù)據(jù)進(jìn)行處理的函數(shù)recvAndProcessFrame.//數(shù)據(jù)幀頭定義
Struct DataFrameHeader {
} // 數(shù)據(jù)接收接口,buffer表示用來接收數(shù)據(jù)的緩沖,length是需要接收的長度 // 返回實(shí)際接收到數(shù)據(jù)的長度,如果接收失敗返回-1.// 實(shí)際接收到的數(shù)據(jù)長度不定,但肯定小于或等于需要接收的數(shù)據(jù)長度length。Int recvData(void *buffer,int length);//處理幀數(shù)據(jù)接口,header是幀數(shù)據(jù)頭指針,data是幀數(shù)據(jù)體指針。Void processFrame(DataFrameHeader *header,void *data);//連續(xù)接收數(shù)據(jù)并封裝成幀數(shù)據(jù)進(jìn)行處理,接收失敗退出函數(shù),否則繼續(xù)接收并處理。void { } 3,鏈表節(jié)點(diǎn)定義如下: //…需要實(shí)現(xiàn) recvAndProcessFrame()Int size;//…其它頭數(shù)據(jù)
Struct Node { Int data;Node *next;}NODE;有兩個鏈表,已經(jīng)按data從小到大進(jìn)行了排序,請編寫編寫鏈表合并函數(shù),將兩個鏈表合并為一個有序的鏈表。// NODE* connect(NODE *head1,NODE *head2){ } //////////////////////////////////////////////////////(因?yàn)槲覐?fù)習(xí)期間大部分時間放在了代碼練習(xí)上,再加上一些小道消息,所以我基本上是順?biāo)浦郯愕耐瓿闪怂蓄}目,寫完了就立馬交卷。)………………….寫完試卷就去找對應(yīng)的考官,我找到了他,不過要等他結(jié)束面前的工作,才可//…需要實(shí)現(xiàn)
以審閱我的卷子。(考官結(jié)束了手頭工作,于是輪到我了)………………….我靜坐在考官的對面,而他在閱我的試卷,此時的我只能看到試卷的北面,大約過了2分鐘,我也靜坐了2分鐘,總覺得有點(diǎn)不舒服,于是我就站起來走到考官左側(cè)面說:“如果有什么疑問就直接問我,,,,“.(此處省略50字,是關(guān)于個別代碼的解釋)。因?yàn)樵嚲碜龅眠€可以,用時又短(心里很得意),于是在考官快閱完的時候我小小的裝了下逼:“我是班級學(xué)習(xí)委員,我做這些題目很輕松的!@#¥%……&*()“。其實(shí)我只是想表現(xiàn)一下自己有優(yōu)秀的一面,唉,,事實(shí)證明我不應(yīng)該裝逼的,俗話說的好:”裝逼遭雷劈“,雖然我沒被雷劈,可是在后面我是被羞辱的體無完膚。(總結(jié):低調(diào)點(diǎn),小心駛得萬年船,自大是考官討厭的人之一)試卷這個環(huán)節(jié)結(jié)束了,考官說:“恩,你在這里等一下,我去找部門老大(應(yīng)該是技術(shù)總監(jiān)吧)面試你”,大約3分鐘后我在窗口接到了‘老大’的電話,于是我在原地?fù)]揮手,他在電話里說,“我看到你了“,于是我左右張望找了會終于看到了這位老大-----是位40多歲的中年人,于是開始了新一輪的面試。
第一題:
考官(大概的看了下我簡歷):請寫出一個互斥鎖的例子。我(有點(diǎn)緊張):
(心里獨(dú)白:我以為是叫我用漢字描述互斥鎖的,由于我是在幾個月前寫過這樣的代碼,但是時間太久了,只記得理論知識,忘記代碼了,于是我就寧愿相信是漢字描述)。這時,他把筆遞給我,我才相信是要我寫代碼,于是我寫了個循環(huán)語句,變量都沒定義,真丟人啊,…….考官(看我不會寫):那你知道在編程中,是如何來保證共享數(shù)據(jù)操作的完整性?
我(不自信的): 每個對象都對應(yīng)于一個可稱為“ 互斥鎖” 的標(biāo)記,這個標(biāo)記用來保證在任一時刻,只能有一個線程訪問該對象(大概就是這個意思)。(分析:考察我對互斥鎖的理解和編程能力)第二題
考官(寫了個函數(shù)):看這個函數(shù)有錯誤嗎?
Void GetMemory(char *p,int length)//length是申請內(nèi)存空間的長度 { P=(char*)malloc(length);If(p!= NULL)Else Printf(“failn”);} 我(15秒內(nèi)仔細(xì)的看了三遍小代碼):
斬釘截鐵的回答“沒問題“(暈,這個題目我都做過不知多少遍了,也是一個??糚rintf(“success”);//內(nèi)容記不得了所以用**表示 的基礎(chǔ)題,竟然答錯了,都怪我粗心沒看完整個程序的意思,這個失誤是讓考官pass我的致命傷,牢記)。
(錯誤原因之一:由于考官的函數(shù)是分兩次寫的,第一次寫了函數(shù)頭Void GetMemory(char *p,int length)把紙遞給我并給我解釋了一下各變量的意思,然后又繼續(xù)寫下面的部分,寫完后就把紙完全遞交給我,我不知道怎么回事,完全忘記了函數(shù)頭,這是個被調(diào)用的函數(shù),而我把他當(dāng)成主函數(shù) 里的代碼分析了 int main(){ ***代碼略*** },于是我的所有注意力都盯在了代碼過程上,仔細(xì)看了好幾遍還是沒發(fā)現(xiàn)問題,題目是挺簡單的,可總覺得有不詳?shù)念A(yù)感)。第二題分析:主要考察我對指針的掌握程度,TMD,指針是我在C語言那本書的所有章節(jié)里學(xué)的最好的,這題目也挺簡單的,竟然在陰溝里翻船了,很不甘心,草。第二題總結(jié):答題要仔細(xì)審題,再簡單的問題也不要急于給答案。
第三題
考官(藐視狀):你看過哪些關(guān)于編程的書?說一說你最近看的且最喜歡看的那本書。
我:(內(nèi)心獨(dú)白:糟了,培訓(xùn)期間使用的課本不可以說吧?那我就沒看過什么書了,C指針,C++prime神馬的PDF只是2個月前看了看開頭幾個章節(jié),因?yàn)楦杏X大部分知識都懂了,所以就沒堅(jiān)持往下看,年前、年后時間基本上都花在了面試題,百度文庫和百度知道上。怕考官急,思考了很短時間便回答了)答:“我的大部分時間都花在了百度文庫上了,我還有自己的百度博客,我那里轉(zhuǎn)了不少好文章,還有自己總結(jié)了好多東西”。
考官(疑問狀):那你說出一篇你認(rèn)為不錯的文章。
我:(內(nèi)心獨(dú)白:我的時間分明是大部分花在了面試題上,年前在百度文庫里看的文章也沒什么印象了,基本上是遇到不懂的知識,泛泛的看一下,沒深究,印象也不大,因?yàn)槲遗驴脊偌?,于是沒加思索的就說了篇還記得標(biāo)題的文章。)答:《C語言和C++中’0’和NULL的區(qū)別》。
(分析:TMD,這次我是把自己往火坑里推了,這篇文章是我面試前一天晚上在百度文庫里看到的,因?yàn)槎剂璩?點(diǎn)了,太晚了,于是我就把文章下載到桌面準(zhǔn)備抽時間看,其實(shí)只大概的看了前幾行,文章的主體內(nèi)容都是一掃而過)。
考官:那你說出“C語言和C++中’0’和NULL的區(qū)別”,至少三點(diǎn)。我(慢吞吞的):
答:1,他們在內(nèi)存中的值都是 0;2,都可以作為返回值。
(因?yàn)榕麓疱e,實(shí)在不忍心再回答了)sorry,這篇文章寫的有點(diǎn)深。
(第三題分析:課后多看些編程和嵌入式方面的書籍,豐富自己的知識面。)/////////////////////////// 回答完第三題,面試官對我說:“對不起,你今天的面試就到這里了,我們要選拔更優(yōu)秀的人才”。
我垂頭喪氣的在凳子上坐著,大約過了一個半分鐘??脊伲涸趺戳耍?/p>
我:不甘心,準(zhǔn)備了好多東西沒被問到。(面試到此結(jié)束)下面是我面試時寫的答案,根據(jù)我當(dāng)時做的情況整理了下給大家做參考,沒編譯,可能有錯誤。1, typedef struct student { char name[10];int score;}STU;
int fsort(const char *fin,const char *fout){ STU student_information[4];//用鏈表更好,我用這個演示用,簡單點(diǎn)
FILE *file_in,*file_out;if((file_in = fopen(fin,“r”))== NULL){ printf(“cannot open file %sn.”,fin);return-1;} if((file_out = fopen(fout,“w”))== NULL){ printf(“cannot open file %s”,fout);return-1;} //feof(file_in))feof(file_in)結(jié)束是非0 結(jié)束是0 int i,j;for(i = 0;i < 4;i++)if(fscanf(file_in,“%s %d”,student_information [i].name,&student_information[i].score)!= 2){ printf(“read erro!n”);fclose(file_in);fclose(file_out);return-1;} //程序還少排序和寫入,答案我就略去了,很簡單的 //還是寫上吧,免得有人嫌麻煩 //對數(shù)組中的數(shù)據(jù)進(jìn)行排序 STU temp;For(I = 0;I < 3;I++){ For(j = i+1;j < 4;j++){
} } //向fout里寫入排好序的數(shù)據(jù) For(I = 0;I < 4;I++)If(student_information[i].score < student_information[j].score){
} Temp = student_information[i];student_information[i] = student_information[j];student_information[j] = temp;{ Fprintf(fout,“%s %d%c”, student_information[i].name, student_information[i].score,’n’);} //fscanf(fp,%s%d%lf,a,&b,&c)//返回值:整型,數(shù)值等于[argument...]的個數(shù) } ////////////////////////////////////////////////////////////////////// 2, void recvAndProcessFrame(){ int rec_length;struct DataFrameHeader *h;//假設(shè)length = 512 char buff[512];
while(1){
if((rec_length = recvData(buff,length))!=-1){ h =(struct DataFrameHeader*)buff;processFrame(h,h->data);} else break;} } ////////////////////////////////////////////////////////////////////// 3, NODE* connect(NODE *head1,NODE *head2){ NODE *new_head;NODE *temp;if(head1->data >= head2->data){ new_head = head2;head2 = head2->next;} Else { new_head = head1;head1 = head1->next;} temp = new_head;for(;head1!= NULL && head2!= NULL;){ if(head1->data >= head2->data){ temp->next = head2;temp = head2;head2 = head2->next;} Else { temp->next = head1;temp = head1;head1 = head1->next;} } if(head1!= NULL)temp->next = head1;else temp->next = head2;return new_head;}
第二篇:嵌入式軟件工程師
嵌入式軟件工程師
目錄 簡介 2 待遇 3 職業(yè)要求 4 發(fā)展前景 5 職業(yè)發(fā)展 簡介 2 待遇 3 職業(yè)要求 4 發(fā)展前景 職業(yè)發(fā)展 簡介
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。它一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四個部分組成,用于實(shí)現(xiàn)對其他設(shè)備的控制、監(jiān)視或管理等功能。
嵌入式軟件工程師就是編寫嵌入式系統(tǒng)的工程師。2 待遇
IBM、微軟、華為、Yahoo、聯(lián)想、搜狐、亞信、花旗...2010'應(yīng)屆畢業(yè)生就業(yè)安置計(jì)劃火熱啟動:先實(shí)訓(xùn)后上崗,轉(zhuǎn)正年薪50000元。3 職業(yè)要求
應(yīng)具備哪些能力
最直接的方法,就是去根據(jù)各公司,招聘網(wǎng)站的嵌入式軟件工程師的應(yīng)聘要求來分析
我?guī)湍憧偨Y(jié)下:
1.最重要的是C語言編程,以及C++,這個與你讀程,應(yīng)用,開發(fā)項(xiàng)目,做系統(tǒng)移植息息相關(guān);
2.操作系統(tǒng): LINUX,WINCE等,至少學(xué)習(xí)過一種,(目前主流的還是Linux)并且還需要對些基礎(chǔ)知識有蠻多的了解;
3.對ARM,FPGA,DSP等這些硬件比較了解。(目前主流的是ARM,像三星,華為,小米等大型的生產(chǎn)廠商最底層的硬件用的都是ARM)
這是最常規(guī)的條件
當(dāng)然,最主流的一般就是LIUNX.同時具備一些基本素質(zhì),像英語能力,有相關(guān)的項(xiàng)目經(jīng)驗(yàn),也很重要
推薦: 你可以去按照招聘要求分析,也可以按照培訓(xùn)機(jī)構(gòu)的培訓(xùn)目的,方向,內(nèi)容來分析得知,像海同科技就是蠻不錯的.算得上是業(yè)內(nèi)的領(lǐng)軍企業(yè).4 發(fā)展前景
嵌入式領(lǐng)域較新,發(fā)展非???,很多軟硬件技術(shù)出現(xiàn)的時間都不太長(如ARM處理器、嵌入式操作系統(tǒng)、LINUX操作系統(tǒng)),大多數(shù)人沒有條件接觸或進(jìn)入嵌入式行業(yè),更談不上能有機(jī)會接受專業(yè)人士的指導(dǎo)。因此,踏進(jìn)這個行業(yè)的難度比較大,嵌入式人才稀缺,身價自然也水漲船高。
權(quán)威部門統(tǒng)計(jì),我國嵌入式人才缺口每年50萬人左右。根據(jù)前程無憂網(wǎng)發(fā)布的調(diào)查報(bào)告,嵌入式軟件開發(fā)是未來幾年最熱門和最受歡迎的職業(yè)之一,具有10年工作經(jīng)驗(yàn)的高級嵌入式工程師年薪在30萬元左右。即使是初級的嵌入式軟件開發(fā)人員,平均月薪也達(dá)到了3000—5000元,中高級的嵌入式工程師月薪平均超過10000元。做軟件實(shí)際上有高下之分,開發(fā)語言從機(jī)器語言、匯編到C、C++,再到紅透半邊天的Java、C#等,該學(xué)哪種呢?為什么有些開發(fā)者工資低,而有些開發(fā)者千金難求?為什么3年的Java高級程序員薪水僅僅8k-10k,而一個Linux底層C語言程序員兩年經(jīng)驗(yàn)就敢要10k的薪水?
還是門檻,比如月薪15k的Linux嵌入式開發(fā)職位,門檻就有 Linux系統(tǒng)、Shell編程、Linux開發(fā)環(huán)境、C語言、ARM硬件平臺、數(shù)據(jù)結(jié)構(gòu)、Linux內(nèi)核、驅(qū)動程序等,粗略數(shù)數(shù)就有8道關(guān)口,他需要非常熟悉整個的計(jì)算機(jī)體系,能做出實(shí)際的產(chǎn)品,而Java的開發(fā)者卻僅僅是會使用名叫Java的語言工具,始終高高飄在眾多層次之上,開發(fā)項(xiàng)目非常快,甚至可以不知道OSI模型,很可能自始至終都是軟件藍(lán)領(lǐng)。
嵌入式開發(fā)本身也有高下之分,至少包含嵌入式應(yīng)用程序工程師和底層的驅(qū)動內(nèi)核工程師兩種。前者同樣是使用現(xiàn)成工具進(jìn)行簡單勞動,比如使用J2ME開發(fā)小游戲或者進(jìn)行一些界面開發(fā),而后者是根據(jù)芯片具體情況把操作系統(tǒng)(如Linux)移植到上面,同時編寫必要的驅(qū)動程序,改寫相應(yīng)的內(nèi)核代碼。很顯然后者是一個公司真正的技術(shù)核心。而技術(shù)核心的工資很可能是其他開發(fā)者的數(shù)倍。
嵌入式開發(fā)突出強(qiáng)制和項(xiàng)目,學(xué)習(xí)不僅僅是學(xué)習(xí)幾項(xiàng)技術(shù),而是構(gòu)建你的知識體系。比如學(xué)習(xí)嵌入式開發(fā),就要從基礎(chǔ)Linux,C語言,數(shù)據(jù)結(jié)構(gòu)開始,到ARM,匯編,Linux內(nèi)核、驅(qū)動等,更重要的是更多的項(xiàng)目練習(xí),設(shè)計(jì)至少5個項(xiàng)目,多達(dá)10000行強(qiáng)制核心代碼的編寫可以讓你真正獲得知識。為進(jìn)入外企或者出國做準(zhǔn)備。
未來的幾年內(nèi),隨著信息化,智能化,網(wǎng)絡(luò)化的發(fā)展,嵌入式系統(tǒng)技術(shù)也將獲得廣闊的發(fā)展空間。美國著名未來學(xué)家尼葛洛龐帝99年1月訪華時預(yù)言,4~5年后嵌入式智能(電腦)工具將是PC和因特網(wǎng)之后最偉大的發(fā)明。我國著名嵌入式系統(tǒng)專家沈緒榜院士98年11月在武漢全國第11次微機(jī)學(xué)術(shù)交流會上發(fā)表的《計(jì)算機(jī)的發(fā)展與技術(shù)》一文中,對未來10年以嵌入式芯片為基礎(chǔ)的計(jì)算機(jī)工業(yè)進(jìn)行了科學(xué)的闡述和展望。1999年世界電子產(chǎn)品產(chǎn)值已超過12000億美元,2000年達(dá)到13000億美元,預(yù)計(jì)2005年,銷售額將達(dá)18000億美元。一些先進(jìn)的PDA在顯示屏幕上已實(shí)現(xiàn)漢字寫入、短消息語音發(fā)布,日用范圍也將日益廣闊。對于企業(yè)專用解決方案,如物流管理、條碼掃描、移動信息采集等,這種小型手持嵌入式系統(tǒng)將發(fā)揮巨大的作用。自動控制領(lǐng)域,不僅可以用于ATM機(jī),自動售貨機(jī),工業(yè)控制等專用設(shè)備,和移動通訊設(shè)備結(jié)合、GPS、娛樂相結(jié)合,嵌入式系統(tǒng)同樣可以發(fā)揮巨大的作用。5 職業(yè)發(fā)展
從個人整體發(fā)展來說,如果想創(chuàng)業(yè),做自已的產(chǎn)品,嵌入式軟件開發(fā)可以開發(fā)出專利產(chǎn)品。
另一個發(fā)展路徑是:積累豐富開發(fā)經(jīng)驗(yàn)的嵌入式軟件開發(fā)工程師可以向嵌入式系統(tǒng)開發(fā)工程師發(fā)展,從而晉升為產(chǎn)品研發(fā)經(jīng)理或IT項(xiàng)目經(jīng)理。對測試?yán)碚摵头椒ㄓ幸欢私獾那度胧杰浖_發(fā)工程師還可以轉(zhuǎn)作嵌入式系統(tǒng)測試工程師,最終也可發(fā)展為IT項(xiàng)目經(jīng)理
第三篇:嵌入式軟件工程師個人簡歷
嵌入式軟件工程師
個人信息:
姓名:董國杰
學(xué)歷:本科性別:男 專業(yè):電子信息工程現(xiàn)居住地:上海市浦東新區(qū)出生日期:1991.1.1
手機(jī):電子郵件:
自我評價:
性格樂觀嚴(yán)謹(jǐn),行為處事態(tài)度認(rèn)真,力求完美,喜歡鉆研,尤愛軟件開發(fā)等科研性知識學(xué)習(xí)。喜歡團(tuán)隊(duì)合作,善于觀察身邊人事,發(fā)現(xiàn)各人特點(diǎn),利于團(tuán)隊(duì)交流。不喜歡個性張揚(yáng),追求更多不斷提升自己,鍛煉自己的機(jī)會。求職意向:
Linux系統(tǒng)開發(fā)、C語言、C++、數(shù)據(jù)結(jié)構(gòu)、驅(qū)動、ARM、Linux系統(tǒng)移植 技術(shù)方面:
? 熟練使用C、C++語言編程及程序調(diào)試工具,充分理解面對過程與面對對象的編程思想。
? 熟悉TCP/IP、UDP網(wǎng)絡(luò)協(xié)議等Linux操作系統(tǒng)知識,有Linux下OICQ局域
網(wǎng)聊天項(xiàng)目編程經(jīng)驗(yàn)。
? 掌握使用QT進(jìn)行界面化編程的基本方法。
? 了解Linux內(nèi)核裁減和移植的基本知識。
? 基本了解驅(qū)動程序基礎(chǔ)知識,能夠編寫基礎(chǔ)的驅(qū)動程序。
? 了解基本硬件知識。
?
學(xué)習(xí)經(jīng)驗(yàn):
熟練掌握C語言、C++語言編程,對Linux操作系統(tǒng)下的程序編寫基本熟練,能夠使用gdb、gcc進(jìn)行程序調(diào)試,了解arm等底層以及硬件相關(guān)的基礎(chǔ)知識,能夠完成基本的驅(qū)動程序編寫以及掌握基本的內(nèi)核裁剪、移植等相關(guān)知識。運(yùn)用所學(xué)知識獨(dú)立完成相關(guān)項(xiàng)目如下:
1.火車訂票系統(tǒng)
平臺和開發(fā)環(huán)境:
linux系統(tǒng)+Gcc+Gdb
項(xiàng)目功能:
使用終端命令界面,作為系統(tǒng)的輸入輸出界面。系統(tǒng)運(yùn)行時把信息保存在內(nèi)存中,系統(tǒng)退出后保存至文件。實(shí)現(xiàn)對列車車次、車站以及用戶信息、和訂票、預(yù)訂票信息增加、刪除、修改、查看等功能。設(shè)計(jì)管理員權(quán)限以實(shí)現(xiàn)對車次、車站的增刪修改和對用戶信息的管理。
模塊化設(shè)計(jì):
分為車站、車次、乘客、管理員等模塊實(shí)現(xiàn)各自功能,使程序清晰易讀。
2.基于linux的局域網(wǎng)OICQ聊天系統(tǒng)
平臺和開發(fā)環(huán)境:
Linux系統(tǒng)+Gcc+Gdb
功能描述:
基于linux系統(tǒng)實(shí)現(xiàn)多客戶端局域網(wǎng)的通訊功能。系統(tǒng)包含客戶端和服務(wù)端。
服務(wù)端功能:
1、接受用戶注冊、并實(shí)時保存信息至數(shù)據(jù)庫中。
2、對登錄用戶進(jìn)行認(rèn)證。
3、動態(tài)維護(hù)在線用戶列表。
4、及時為每個在線客戶端更新在在線好友列表。
5、非在線用戶的消息數(shù)據(jù)緩沖。
客戶端功能:
1、客戶端注冊登錄功能。
2、客戶端使用心跳機(jī)制維持與服務(wù)端的連接,并隨時更新客戶端基本信息。
3、客戶端與其他的客戶端之間的消息數(shù)據(jù)的封包和收發(fā)。
4、保存聊天信息及通信時間。
使用技術(shù):
完成配置文件讀寫規(guī)則,服務(wù)端和客戶端日志記錄,使用TCP協(xié)議完成客戶端與服務(wù)端的通訊,使用I/O復(fù)用機(jī)制完成服務(wù)端一對多鏈接,完成應(yīng)用數(shù)據(jù)協(xié)議的封包解包、使用心跳機(jī)制維護(hù)客戶端與服務(wù)端得鏈接,使用TCP協(xié)議實(shí)現(xiàn)客戶端的通信。
3.英漢詞典(c++項(xiàng)目,QT界面)
平臺和開發(fā)環(huán)境:
windows系統(tǒng),QT
項(xiàng)目描述:
在QT界面下,基于C++面對對象的封裝、繼承、多態(tài)特性實(shí)現(xiàn)英語單詞查詢,添加生詞本,增加、刪除、修改生詞功能。
功能實(shí)現(xiàn):
1、根據(jù)單詞查詢輸入框中用戶用戶輸入的單詞的變化動態(tài)的從單詞庫中
讀取相關(guān)內(nèi)容動態(tài)顯示在輸出文本框內(nèi)。
2、將要查詢的單詞加入生詞本并彈出相關(guān)提示信息。
3、查看生詞本顯示所有已經(jīng)添加到生詞本的生詞。
4、實(shí)現(xiàn)生詞本的增、刪、改、查功能。
5、實(shí)時更新保存生詞本。
4.linux系統(tǒng)移植
平臺和開發(fā)環(huán)境:
Linux系統(tǒng)、arm9三星mini2440、arm+linux+gcc交叉編譯環(huán)境
項(xiàng)目描述:
完成基礎(chǔ)的Linux內(nèi)核的裁剪,環(huán)境配置,編輯,和燒寫。
教育背景:
2009年9月—2013年7月鄭州航空工業(yè)管理學(xué)院電子信息工程專業(yè)
所學(xué)專業(yè)課程:
C語言,通信原理,Matlab,電路基礎(chǔ),模擬電路,數(shù)字電路,單片機(jī)原理及應(yīng)用,EDA,信號與系統(tǒng),數(shù)字信號處理,微機(jī)原理及接口技術(shù)等課程,基本掌握軟硬件基礎(chǔ)知識
證書及技能:
? 大學(xué)英語四級證書
? 電子線路CAD高級工程師證書
? 嵌入式工程師證書
第四篇:嵌入式軟件工程師課程
課程體系
在實(shí)訓(xùn)項(xiàng)目經(jīng)理的帶領(lǐng)下,通過完成多個企業(yè)級項(xiàng)目(基于ARM的串行數(shù)據(jù)無線傳輸系統(tǒng)、基于ARM的無線數(shù)據(jù)采集系統(tǒng)、基于ARM的GPRS應(yīng)用系統(tǒng))的分析、設(shè)計(jì)和開發(fā),掌握開發(fā)企業(yè)級軟件項(xiàng)目過程所需的設(shè)計(jì)規(guī)范、開發(fā)流程、質(zhì)量控制及項(xiàng)目管理。階課程主題與段
實(shí)訓(xùn)內(nèi)容
第Unix開發(fā)環(huán)一境、開發(fā)規(guī)范階培訓(xùn) 段 Unix系統(tǒng)原
理、Unix開發(fā)環(huán)境、Unix常用命令 Oracle數(shù)據(jù)庫 Oracle 10數(shù)據(jù)庫原理、SQL語句、數(shù)據(jù)庫表及索引 PL/SQL語法,存儲過程,存儲函數(shù),觸發(fā)器等 C++核心 數(shù)據(jù)類型,控制語句,自定義數(shù)據(jù)類型,模塊化程序設(shè)計(jì),指針 類與對象(封裝性)類的擴(kuò)展,繼承,虛函數(shù),多態(tài) 數(shù)據(jù)結(jié)構(gòu)和算法、標(biāo)準(zhǔn)庫 鏈表、棧、隊(duì)列、二叉樹、算法 IO、異常、模版(STL)OOAD 面向?qū)ο蠓治?/p>
實(shí)訓(xùn)目標(biāo)
熟練Unix下的C/C++開發(fā)環(huán)境,掌握常用的命令
熟練掌握Oracle 10G下的SQL開發(fā),精通PL/SQL等
熟練掌握C基礎(chǔ)語法,函數(shù)的編寫和調(diào)用 掌握面向?qū)ο缶幊痰娜齻€特性,并熟練應(yīng)用OO思想
掌握各種數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn),并了解常用的算法
掌握多種設(shè)計(jì)模式
實(shí)訓(xùn)項(xiàng)目
Unix下的定時任務(wù)
基于Oracle,完成計(jì)費(fèi)系統(tǒng)的數(shù)據(jù)整合,包括表的創(chuàng)建,數(shù)據(jù)的錄入以及整合等
完成銀行項(xiàng)目的類結(jié)構(gòu)設(shè)計(jì),深入理解面向?qū)ο缶幊?/p>
雙賂鏈表數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)
完成銀行項(xiàng)目的UML設(shè)計(jì),并能使用
和設(shè)計(jì)的方法 了解軟件研發(fā)的整個過程,能夠熟練使用UML設(shè)計(jì)模式進(jìn)行優(yōu)化
UML圖 設(shè)計(jì)模式 項(xiàng)目實(shí)訓(xùn) 銀行項(xiàng)目
第Shell編程 二Shell編程語階法
段 Unix環(huán)境編
程和開發(fā)工具 用戶信息,文件操作,目錄操作,時間處理
make,makefile,gdb
進(jìn)程、多線程 創(chuàng)建進(jìn)程 子進(jìn)程 信號 消息隊(duì)列車 共享內(nèi)存 信號量 線程的創(chuàng)建、線程的狀態(tài) 多線程編程 線程間的通信 線程同步 線程池編程 網(wǎng)絡(luò)編程和數(shù)據(jù)庫編程 網(wǎng)絡(luò)基礎(chǔ) TCP/IP協(xié)議 基于TCP和UDP的網(wǎng)絡(luò)編程 Pro★C數(shù)據(jù)編程 項(xiàng)目實(shí)訓(xùn) 計(jì)費(fèi)系統(tǒng)采集和整合模塊 第ARM系統(tǒng)體
進(jìn)行分析和設(shè)計(jì)
完成銀行前臺業(yè)務(wù),包括基本的存取款和轉(zhuǎn)賬等
掌握Shell編程技術(shù)
掌握和環(huán)境編程相關(guān)的函數(shù),并能熟練使用編程工具
掌握進(jìn)程和多線程編程
掌握網(wǎng)絡(luò)編程,并能編寫支持多客戶端的服務(wù)器軟件
熟練掌握Oracle MySQL等數(shù)據(jù)庫的連接和數(shù)據(jù)訪問
掌握計(jì)費(fèi)系統(tǒng)后臺業(yè)務(wù)流程,綜合使用所學(xué)知識點(diǎn),完成計(jì)費(fèi)數(shù)據(jù)采集和整合銀行項(xiàng)目提升和整合編寫Shell腳本完成FTP功能
計(jì)費(fèi)系統(tǒng)數(shù)據(jù)采集
計(jì)費(fèi)系統(tǒng)C/S分布式架構(gòu)的設(shè)計(jì),掌握線程池的應(yīng)用
計(jì)費(fèi)系統(tǒng)集中式數(shù)據(jù)模塊,該模塊完成數(shù)據(jù)集中化并錄入到ORACLE中
Billing系統(tǒng)提升和整合三系結(jié)構(gòu) 階ARM處理器段 體系結(jié)構(gòu)
ARM編程環(huán)境
指令系統(tǒng)以及尋址方式 調(diào)試 ARM系統(tǒng)編程
過程調(diào)用的標(biāo)準(zhǔn)
匯編程序以用C程序之間相互
調(diào)用的技術(shù) 異常中斷技術(shù) ARM體系中C語言程序設(shè)計(jì)的基本知識 FLASH操作 嵌入式Linux構(gòu)建 嵌入式Linux開發(fā)環(huán)境構(gòu)建 BootLoader引導(dǎo)程序 Linux內(nèi)核代碼移植 交叉編譯、內(nèi)核調(diào)試 嵌入式Linux內(nèi)核開發(fā) 內(nèi)核源代碼架構(gòu) 內(nèi)存管理 進(jìn)程管理、中斷管理 內(nèi)核同步 信號、調(diào)度、進(jìn)程間通訊等 文件系統(tǒng)
對嵌入式系統(tǒng)了解,掌握ARM的編程模型
掌握匯編程序與C程序之間的互相調(diào)用,精通ARM體系中C程序的基本知識 掌握FLASH操作
掌握BootLoader引導(dǎo)程序 熟悉交叉編譯和內(nèi)核調(diào)試
掌握進(jìn)程編程、進(jìn)程間的通訊 精通內(nèi)存管理 熟悉文件系統(tǒng)
驅(qū)動程序開發(fā)環(huán)境
驅(qū)動程序語法基礎(chǔ)
BootLoader引導(dǎo)程序
驅(qū)動程序理論準(zhǔn)備
嵌入式Linux驅(qū)動程序開發(fā) Linux設(shè)備驅(qū)動程序概述 字符設(shè)備驅(qū)動程序開發(fā) 串口、SPL、LLC A/D轉(zhuǎn)換、定時器 Linux驅(qū)動程序開發(fā)高級 A/D驅(qū)動程序編寫 矩陣鍵盤驅(qū)動程序編寫 塊設(shè)備驅(qū)動程序開發(fā) 網(wǎng)卡驅(qū)動程序開發(fā) USB設(shè)備驅(qū)動程序開發(fā) 項(xiàng)目實(shí)訓(xùn) 基于ARM開發(fā)板的Linux設(shè)備驅(qū)動程序研發(fā) 第企業(yè)實(shí)訓(xùn) 四基于ARM的階串行數(shù)據(jù)無線段 傳輸系統(tǒng),主
要有以下三個方面的運(yùn)用:點(diǎn)對點(diǎn)控制;點(diǎn)對多點(diǎn)控制;中繼傳輸
掌握字符設(shè)備驅(qū)動程序開發(fā) 熟悉串口、SPL
驅(qū)動程序總體分析和設(shè)計(jì)
熟練掌握矩陣鍵盤驅(qū)動程序和網(wǎng)絡(luò)設(shè)備驅(qū)動程序開發(fā)
網(wǎng)絡(luò)設(shè)備驅(qū)動程序提升
綜合運(yùn)用所學(xué)知識,特別是ARM,編寫驅(qū)動程序
驅(qū)動程序研發(fā)
參與完成實(shí)際項(xiàng)目,積累軟件開發(fā)經(jīng)驗(yàn),經(jīng)歷完整的軟件開發(fā)過程:需求、軟件分析設(shè)計(jì)、編碼、調(diào)試,交付。
串行數(shù)據(jù)無線傳輸系統(tǒng)
長沙牛耳教育地址:長沙市五一廣場文運(yùn)街省電教館二樓(口腔醫(yī)院左側(cè))| 牛耳教育求學(xué)熱線:
0731-82221222轉(zhuǎn)816 | 牛耳教育網(wǎng)站地圖
培養(yǎng)方案
基于安博集團(tuán)大量的數(shù)據(jù)調(diào)研,該課程專注于培養(yǎng)基于嵌入式Linux平臺,以嵌入式系統(tǒng)的軟件開發(fā)為主,培養(yǎng)學(xué)生在嵌入式領(lǐng)域進(jìn)行軟件開發(fā)、軟/硬件測試、系統(tǒng)維護(hù)等方面的綜合技能,旨在為社會提供嵌入式軟件開發(fā)、產(chǎn)品測試、技術(shù)支持等方面具備優(yōu)秀的職業(yè)素養(yǎng)的實(shí)用型、技能型人才。精通ARM嵌入式系統(tǒng)的驅(qū)動程序開發(fā)、操作系統(tǒng)移植、熟悉基于ARM的串行數(shù)據(jù)無線傳輸系統(tǒng)、基于ARM的無線數(shù)據(jù)采集系統(tǒng)等面向不同行業(yè)的專用嵌入式應(yīng)用系統(tǒng)的開發(fā)。通過該實(shí)訓(xùn)課程,實(shí)訓(xùn)學(xué)員能夠積累1-2年的軟件開發(fā)經(jīng)驗(yàn)。
課程簡介
嵌入式軟件工程師培訓(xùn)課程,由安博教育集團(tuán)聯(lián)合多家知名廠商,并由安博教育實(shí)施專家團(tuán)隊(duì)和精英教師團(tuán)隊(duì)發(fā)起,共同開發(fā)完成。
通過該課程的學(xué)習(xí),學(xué)員熟練掌握Linux平臺下的嵌入式軟件開發(fā)技術(shù),并通過項(xiàng)目實(shí)戰(zhàn)積累工作經(jīng)驗(yàn),進(jìn)而獲得高薪、有廣闊發(fā)展空間的工作機(jī)會
就業(yè)方向
能夠勝任軟件公司中的嵌入式工程師、C/C++軟件工程師、數(shù)據(jù)庫工程師等相關(guān)職位。
安博牛耳嵌入式軟件工程師培訓(xùn)課程,由安博牛耳教育集團(tuán)聯(lián)合多家知名嵌入式廠商,共同開發(fā)完成。通過嵌入式軟件工程師課程的學(xué)習(xí),學(xué)員熟練掌握Linux平臺下的嵌入式軟件開發(fā)技術(shù),并通過嵌入式項(xiàng)目實(shí)戰(zhàn)積累工作經(jīng)驗(yàn),進(jìn)而獲得高薪、有廣闊發(fā)展空間的嵌入式軟件工程師工作機(jī)會
嵌入式軟件工程師課程專注于培養(yǎng)基于嵌入式Linux平臺,以嵌入式系統(tǒng)的軟件開發(fā)為主,培養(yǎng)學(xué)生在嵌入式領(lǐng)域進(jìn)行軟件開發(fā)、軟/硬件測試等技能,旨在為社會提供嵌入式軟件開發(fā)、嵌入式產(chǎn)品測試、嵌入式技術(shù)支持等方面具備優(yōu)秀的職業(yè)素養(yǎng)的實(shí)用型、技能型人才。精通ARM嵌入式系統(tǒng)的驅(qū)動程序開發(fā)、嵌入式操作系統(tǒng)移植、熟悉基于ARM的串行數(shù)據(jù)無線傳輸系統(tǒng)等面向不同行業(yè)的專用嵌入式應(yīng)用系統(tǒng)的開發(fā)。通過嵌入式軟件工程師實(shí)訓(xùn)課程,實(shí)訓(xùn)學(xué)員能夠積累1-2年嵌入式軟件軟件開發(fā)經(jīng)驗(yàn)。
第五篇:嵌入式軟件工程師如何學(xué)習(xí)
嵌入式軟件工程師如何學(xué)習(xí)
嵌入式工程師如何學(xué)習(xí)
嵌入式行業(yè),技術(shù)的更新是非躊的,每一位工程師都需要在中不斷的更新自己的知識,掌握技術(shù)動態(tài)或者解決自己中遇到的問題,以下是嵌入式軟件工程師獲取新知識的一些方式,也給即將成為嵌入式工程師的你一些好的建議:
去相關(guān)專業(yè)網(wǎng)站上學(xué)習(xí):
調(diào)查數(shù)據(jù)顯示,在嵌入式工程師經(jīng)常關(guān)顧的網(wǎng)站中,CSDN和21IC所占的比例最大,分別為23%和18%,而這兩個網(wǎng)站也分別代表了編程開發(fā)人員以及電子工程師兩類人群,而嵌入式在線、電子工程專輯、電子產(chǎn)品世界、EDN、IT實(shí)驗(yàn)室所占比例均為10%-15%左右。
嵌入式工程師通過其它途徑獲取行業(yè)信息:
調(diào)查數(shù)據(jù)顯示,“技術(shù)圖書、專業(yè)論壇、業(yè)內(nèi)門戶網(wǎng)站、搜索引擎”是嵌入式工程師獲取知識的主要途徑(接近70%),其中各項(xiàng)所占比例分別為20%、16%、16%、14%,網(wǎng)絡(luò)已經(jīng)成為嵌入式工程師獲取專業(yè)知識的主要途徑。除了以上4大途徑外,部分工程師也會通過培訓(xùn)、廠商網(wǎng)站、博客/群組、雜志/期刊/報(bào)紙、行業(yè)展會/技術(shù)研討會以及電子郵件訂閱等途徑獲取信息。牛耳教育提供的免費(fèi)電子圖書、視頻教程等資料每年下載次數(shù)已達(dá)到十多萬。
搜索引擎是各類工程師最好的老師:
xinpujingyulecheng89.com E0DNK
對搜索引擎的使用調(diào)查中,百度雖然占據(jù)國內(nèi)搜索引擎市場絕大部分的市場份額,但超過60%以上的嵌入式工程師們卻明顯偏愛于使用google,造成這一結(jié)果的原因是,工程師們可以從國外的網(wǎng)站獲取更多技術(shù)資料以及學(xué)習(xí)資料。同時我們也可以得出這樣一個結(jié)論:在嵌入式這一高端領(lǐng)域的學(xué)習(xí)中,因?yàn)楹芏嗉夹g(shù)資料都是英文的,所以要及時了解技術(shù)發(fā)展、學(xué)習(xí)相關(guān)的技術(shù),開發(fā)者具備一定的英文閱讀能力是非常有必要的。
xinpujingyulecheng89.com E0DNK