人人范文网 范文大全

大华面试总结(linux嵌入式软件工程师)

发布时间:2020-03-03 17:15:06 来源:范文大全 收藏本文 下载本文 手机版

面试时间:2012年2月11日9点-15点

面试地点:浙江杭州高新人才市场(文三路199号) 招聘会:浙江大华技术股份有限公司专场

前记:大年初六就出发了,今年必定将是个(忙碌+压力)的一年 最近一直在为面试做准备,两天前得知大华今天要在高新人才市场开招聘会,于是加紧了准备时间,因为没分配好时间,所以没达到很好的复习效果,一会看看培训期间的PPT,一会做做面试题,一会看看同学的笔记,一会改改简历,一会根据简历来复习,就这样,,,,最宝贵的两天针对性复习过去了。

2012年2月11日8点晨………………手机铃声响了………,

下意识的知道要面对某些事了,迷迷糊糊听见某人的起床声, “哦,我也该起床了…可是我好困,我要再睡会儿“(心里默念道)。

起床了,起床了,,,,,杜**喊道,我眯了眯眼看着他,哦…… “是该起床了”,不情愿的掀开了被子,然后习惯性的按了下电脑左上角的启动按钮,还像石像似的发呆了一分钟,都过去两分钟了那些困意才像晨雾见到太阳似的渐渐的消失了。因为前天晚上一直到第二天凌晨一点半才睡,再加上失眠了一阵子。失眠是由于这次面试,因为大华的薪资、福利、待遇、休闲娱乐、企业文化都很不错的,所以我挺看重这次招聘会的。对于准备,自我感觉准备的还可以,但还是不够充分,所以在睡觉前,满脑子想的全是什么TCP/IP、UDP啊,SOCKET通信原理啊,汇编指令啊,linux的操作指令啊,mysql的操作语句啊,还有之前面试被提到的问题以及培训期间写的一些小项目啊……等等……等等,满脑子充斥着这些东西……还自己导演了一把面试对话:“假如被问到SOCKET通信原理该如何回答,如果被问TCP/IP协议的三次握手该怎么回答…………“。额,自己给自己当面试官回答的当然挺好的了,不知不觉就睡着了,,,,,直到凌晨那个刺耳的铃声。

刷牙,洗脸,几分钟搞定;因为最近理了个短寸,这头发是每隔一天不洗就变的更光亮些,因此我还经常指着头对朋友说:“你看我这发型多好,四天不洗,像抹了神马油似的,这么短,梳子的钱都省了。。。“(其实几天不洗头,外表很光亮,但是有点痒,而且越挠越痒) 下楼,,,,本来是想坐公交过去的,结果差半分钟没坐上K74,坑爹的K74弟弟一直到9点还没来,这招聘会都快开始了,被逼无奈之下揽了个的哥。 打的就是TM的快,15分钟就到了。刚进招聘会大门,眼前近300平方的房间全是人,于是我就去找那个前两天联系我面试的人,结果她给我安排了一位大约30岁的面试官对我进行初步的了解。

开始面试了,首先是自我介绍,这个应该难不住一个会说话的人吧,每个人的回答方式都不一样,我是分三部分来介绍自己的。第一部分,自己的基本信息,如名字,毕业院校,哪里人,工作经验,培训经历,为什么来杭州等等。第二部分是个人喜好,比如说:有点宅,喜欢爬山,不喜欢看电影(高质量的影片除外),不喜欢连续剧,不喜欢小说,第三部分是性格特点,比如说,喜欢交朋友,心细,比较关心周边的朋友。第四部分….(自由发挥)。也可以说一下自己的缺点,但是不要说的太严重,我记得有一次面试,我为了表现自己的诚恳,当面试官问我有什么缺点的时候,我说:自暴自弃,自控力差………,TMD当时面试官就傻了,我还试图力挽狂澜,解释这只是以前的缺点。可是这已经挽不回很差的印象了,所以对于这些致命的缺点Please Shut Up(因为我毕业前就是自己做一些事情,一直做到培训前,所以我面试经验基本上是0吧,而且每次都是表现的很诚恳,经常出闹剧,直接pa)。

有一些爱好我把产生的原因也加进去了,这样我就可以拖长面试时间,还可以让面试官更透彻的了解我。我在面试的时候是这样说的:之所以喜欢爬山是因为我喜欢超越的感觉,我并不会叫朋友用相机在那里咔咔咔的给我留下许多照片,因为我想把更多的时间放在征服这座山上,我想爬的更高、更远,每超越一个人我就都有一种小小的成就感,,,,,(略,,,,100字,,,根据个人情况自由发挥)。

(自我介绍完毕就开始提问了,由于是初步的筛选,所以都比较简单) (下面是答题对话的过程,根据回忆,大概就是这样) 第一题

考官:!@#$%^&* (我没理解题意) 我(闷):不知道怎么回答@#¥%……&*(),。

考官(换个方式问):你用字符串给字符数组和字符指针初始化。 我:写了char str1[10] = “abcdefg”;和char *str2 = “1234567”; 考官:str1和str2有什么区别?

我:str1是指向一个字符串的指针,str2是常量字符串指针,str1被分配了地址空间而str2没有分配地址空间,它只是指向这个常量字符串。

考官:字符串str1和str2分别是存在哪里? 我:str1是存在栈上,str2是存在静态存储区。 …………..略(100字扩展回答) …………..考官:写出你知道的用字符指针定义的变量;

我(自信的):1,char *c; char **c; 2,char *c[10];….3,char (*)[10];….4,char *(*)(int);5,char *((void*)())(int); 等等写了大约10个,因为我对第五个不熟悉,也不知道写的对不对,于是他就在这个点上对我进行狂轰滥炸,幸亏我及时想起来了,那个是函数指针,于是我开始解释,,,,,,此处略去五十字。 分析:不要把自己往不熟悉的问题上扯,那样会引火烧身。

(就这样,我通过了初步面试,然后面试官就拿了张试卷给我,题目如下) (下面是题目,大家可以自己做一下,答案在最后面) 1, 已知文件in.txt,该文件记录某班级某门课的学生考试成绩,每次记录一条信息,格式为姓名+空格+成绩+回车换行,比如

//////////////////////////////////////////////////////////////////////////////////// In.txt中的数据 排完序写入out.txt 张三 86 ……

李四 79 => 王五 93 王五 93 => ……… ……….张三 86 赵六 71 …………

李四 79 …………. 赵六 71 //////////////////////////////////////////////////////////////////////////////////// 请编程实现对考试成绩按照从高到低的顺序排序,把结果输出到文件out.txt,函数声明如下,fin为输入文件,fout为输出文件,成功返回0,失败返回-1; Int fsort(const *fin,const char *fout);//要实现

2,一般的应用网络协议数据由帧头和帧数据体组成,帧头会描述数据的长度。请使用已经实现的数据接收函数recvData和帧数据处理函数proceFrame,完成连续接收数据并封装成帧数据进行处理的函数recvAndProceFrame.//数据帧头定义

Struct DataFrameHeader {

} // 数据接收接口,buffer表示用来接收数据的缓冲,length是需要接收的长度 // 返回实际接收到数据的长度,如果接收失败返回-1.// 实际接收到的数据长度不定,但肯定小于或等于需要接收的数据长度length。 Int recvData(void *buffer,int length); //处理帧数据接口,header是帧数据头指针,data是帧数据体指针。 Void proceFrame(DataFrameHeader *header,void *data); //连续接收数据并封装成帧数据进行处理,接收失败退出函数,否则继续接收并处理。 void { } 3, 链表节点定义如下: //…需要实现 recvAndProceFrame() Int size; //…其它头数据

Struct Node { Int data; Node *next; }NODE; 有两个链表,已经按data从小到大进行了排序,请编写编写链表合并函数,将两个链表合并为一个有序的链表。// NODE* connect(NODE *head1,NODE *head2) { } ////////////////////////////////////////////////////// (因为我复习期间大部分时间放在了代码练习上,再加上一些小道消息,所以我基本上是顺水推舟般的完成了所有题目,写完了就立马交卷。) …………………. 写完试卷就去找对应的考官,我找到了他,不过要等他结束面前的工作,才可//…需要实现

以审阅我的卷子。 (考官结束了手头工作,于是轮到我了) …………………. 我静坐在考官的对面,而他在阅我的试卷,此时的我只能看到试卷的北面,大约过了2分钟,我也静坐了2分钟,总觉得有点不舒服,于是我就站起来走到考官左侧面说:“如果有什么疑问就直接问我,,,,,,,“.(此处省略50字,是关于个别代码的解释)。 因为试卷做得还可以,用时又短(心里很得意),于是在考官快阅完的时候我小小的装了下逼:“我是班级学习委员,我做这些题目很轻松的!@#¥%……&*()“。其实我只是想表现一下自己有优秀的一面,唉,,,事实证明我不应该装逼的,俗话说的好:”装逼遭雷劈“,虽然我没被雷劈,可是在后面我是被羞辱的体无完肤。 (总结:低调点,小心驶得万年船,自大是考官讨厌的人之一) 试卷这个环节结束了,考官说:“恩,你在这里等一下,我去找部门老大(应该是技术总监吧)面试你”,大约3分钟后我在窗口接到了‘老大’的电话,于是我在原地挥挥手,他在电话里说,“我看到你了“,于是我左右张望找了会终于看到了这位老大-----是位40多岁的中年人,于是开始了新一轮的面试。

第一题:

考官(大概的看了下我简历):请写出一个互斥锁的例子。 我(有点紧张):

(心里独白:我以为是叫我用汉字描述互斥锁的,由于我是在几个月前写过这样的代码,但是时间太久了,只记得理论知识,忘记代码了,于是我就宁愿相信是汉字描述)。 这时,他把笔递给我,我才相信是要我写代码,于是我写了个循环语句,变量都没定义,真丢人啊,…….

考官(看我不会写):那你知道在编程中,是如何来保证共享数据操作的完整性?

我(不自信的): 每个对象都对应于一个可称为\" 互斥锁\" 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象(大概就是这个意思)。 (分析:考察我对互斥锁的理解和编程能力) 第二题

考官(写了个函数):看这个函数有错误吗?

Void GetMemory(char *p,int length) //length是申请内存空间的长度 { P= (char*)malloc(length); If(p != NULL) Else Printf(“fail\\n”); } 我(15秒内仔细的看了三遍小代码):

斩钉截铁的回答“没问题“(晕,这个题目我都做过不知多少遍了,也是一个常考Printf(“succe”);//内容记不得了所以用**表示

的基础题,竟然答错了,都怪我粗心没看完整个程序的意思,这个失误是让考官pa我的致命伤,牢记)。

(错误原因之一:由于考官的函数是分两次写的,第一次写了函数头Void GetMemory(char *p,int length) 把纸递给我并给我解释了一下各变量的意思,然后又继续写下面的部分,写完后就把纸完全递交给我,我不知道怎么回事,完全忘记了函数头,这是个被调用的函数,而我把他当成主函数 里的代码分析了 int main(){ ***代码略*** },于是我的所有注意力都盯在了代码过程上,仔细看了好几遍还是没发现问题,题目是挺简单的,可总觉得有不详的预感)。 第二题分析:主要考察我对指针的掌握程度,TMD,指针是我在C语言那本书的所有章节里学的最好的,这题目也挺简单的,竟然在阴沟里翻船了,很不甘心,草。 第二题总结:答题要仔细审题,再简单的问题也不要急于给答案。

第三题

考官(藐视状):你看过哪些关于编程的书?说一说你最近看的且最喜欢看的那本书。

我:(内心独白:糟了,培训期间使用的课本不可以说吧?那我就没看过什么书了,C指针,C++prime神马的PDF只是2个月前看了看开头几个章节,因为感觉大部分知识都懂了,所以就没坚持往下看,年前、年后时间基本上都花在了面试题,百度文库和百度知道上。怕考官急,思考了很短时间便回答了) 答:“我的大部分时间都花在了百度文库上了,我还有自己的百度博客,我那里转了不少好文章,还有自己总结了好多东西”。

考官(疑问状):那你说出一篇你认为不错的文章。

我:(内心独白:我的时间分明是大部分花在了面试题上,年前在百度文库里看的文章也没什么印象了,基本上是遇到不懂的知识,泛泛的看一下,没深究,印象也不大,因为我怕考官急,于是没加思索的就说了篇还记得标题的文章。) 答:《C语言和C++中’0’和NULL的区别》。

(分析:TMD,这次我是把自己往火坑里推了,这篇文章是我面试前一天晚上在百度文库里看到的,因为都凌晨2点了,太晚了,于是我就把文章下载到桌面准备抽时间看,其实只大概的看了前几行,文章的主体内容都是一扫而过)。

考官:那你说出“C语言和C++中’0’和NULL的区别”,至少三点。 我(慢吞吞的):

答:1,他们在内存中的值都是 0;2,都可以作为返回值。

(因为怕答错,实在不忍心再回答了) sorry,这篇文章写的有点深。

(第三题分析:课后多看些编程和嵌入式方面的书籍,丰富自己的知识面。) /////////////////////////// 回答完第三题,面试官对我说:“对不起,你今天的面试就到这里了,我们要选拔更优秀的人才”。

我垂头丧气的在凳子上坐着,大约过了一个半分钟。 考官:怎么了?

我:不甘心,准备了好多东西没被问到。 (面试到此结束) 下面是我面试时写的答案,根据我当时做的情况整理了下给大家做参考, 没编译,可能有错误。 1, typedef struct student { char name[10]; int score; }STU;

int fsort(const char *fin,const char *fout) { STU student_information[4]; //用链表更好,我用这个演示用,简单点

FILE *file_in,*file_out; if((file_in = fopen(fin,\"r\")) == NULL) { printf(\"cannot open file %s\\n.\",fin); return -1; } if((file_out = fopen(fout,\"w\")) == NULL) { printf(\"cannot open file %s\",fout); return -1; } //feof(file_in)) feof(file_in) 结束是非0 结束是0 int i,j; for(i = 0;i

} } //向fout里写入排好序的数据 For(I = 0;I

} 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) //返回值:整型,数值等于[argument...]的个数 } ////////////////////////////////////////////////////////////////////// 2, void recvAndProceFrame() { int rec_length; struct DataFrameHeader *h;//假设length = 512 char buff[512];

while(1) {

if((rec_length = recvData(buff,length)) != -1) { h = (struct DataFrameHeader*)buff; proceFrame(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; }

嵌入式linu学习心得

嵌入式软件工程师

嵌入式软件工程师简历

嵌入式软件工程师个人简历

嵌入式软件工程师课程

嵌入式软件面试基础

收集的一些嵌入式软件工程师面试题目

嵌入式工程师面试宝典

嵌入式软件工程师工作要求

嵌入式软件工程师评估题目

大华面试总结(linux嵌入式软件工程师)
《大华面试总结(linux嵌入式软件工程师).doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档