人生第一次面试,还是有点紧张面试前一天晚上两点左右才睡着,一直在脑子里不断说着自我介绍,哈哈;
我的自我介绍:
老师您好,我叫 ***,来自 ***,现在在西电学习了六年时间,现在的专业是 ***;
研究生阶段我的研究课题是 ***,主要做的是 ***。
我面试的岗位时软件开发工程师。在专业技能方面,我主要使用的语言是 c/c++、matlab,***。在课余时间我也参加了一些算法大赛,比如之前 ***,近期也参加了咱们中兴的算法大赛,我们 ***,最后也提交了有效作品。
第一面是技术面,面试官好像也是西电毕业的,态度还是很亲切的;
我坐下之后想着先来个自我介绍吧,就跟面试官说,我要不先来个自我介绍吧;然后就把我凌晨想的自我介绍按部就班说了一遍;哈哈
说完之后就开始发问了
1、首先让我写一个双向链表,我心头一愣,不会这么简单吧, 然后就写了个双向链表的结构;
- struct dlist{
- int val;
- dlist *next;
- dlist *last;
- }
这道题应该主要考察 next 和 last 指针是什么型的,这里应该是 dlist 类型;
2、然后面试官让我写一个函数指针,瞬间感觉有点蒙了,以前写过,但是好久没用一时真想不起来;
回来查了下才回忆起来,函数指针就是一个指针,但是这个指针指向的是函数,简单的不是定义成数据类型的定义如下:
- #include
- int(*func)(inta,intb);// 声明函数指针
- intmax(inta,int b){
- returna > b a : b;
- }
- int main(){
- func = max;//将max函数的地址赋给funcprintf("%d\n",(*func)(1,2));//先使用*解引用,然后使用该函数
- return 0;
- }
上面函数指针定义为一个返回值为 int 型,包含两个 int 型参数的函数,在使用函数指针的时候,先给指针 func 赋值,然后解引用函数指针;
还有一种就是定义一个函数指针类型:
- #include
- typedef int(*PTRFUN)(int,int);//定义一个新的函数指针类型,PTRFUN,这种类型的变量为指向返回值为int型,有两个int型参数的指针PTRFUN func2;//然后就可以想使用int、char一样使用PTRFUN,func2就是一个函数指针
- intmax(inta,int b){
- returna > b a : b;
- }
- int main(){
- func2 = max;//将max函数的地址赋给func2printf("%d\n",(*func2)(1,2));//先使用*解引用,然后使用该函数
- return 0;
- }
3、第三个问题,面试官问我什么是 static:
这道题还好,之前看过很多遍所以回答的挺快:
第一个作用:限定作用域。当同时编译多个文件时,所有未加 static 前缀的全局变量都具有全局可见性。例如在两个不同的 cpp 文件中,在 a.cpp 中定义的变量 int A 如果是全局变量,那么在 b.cpp 中可以加上依据 extren int A,然后就可以直接使用了;
但是定义变量 A 的时候加上 static int A; 那么 a 中定义的静态全局变量就不可以在 b 中可见;当然,static 也可以作为函数的前缀,也是用来限定作用于,在当前文件内可见;
第二个作用:保持变量内容持久化,只初始化一次。如果函数内局部变量是非静态的话,每次进入调用函数,操作系统会自动在栈中开辟一个地址用于保存这个变量,然后让函数结束时,该变量由系统自动注销。
当定义的是局部静态变量时,该局部变量只初始化一次,然后保存在静态数据区 (保存在静态存储区的变量只有两种,static 变量和全局变量),函数结束改变量不注销,下一次调用函数的时候,该变量依旧存在,并且值不变;
当结构或类中定义静态成员变量时,该变量属于所有对象,而不是某一变量私有成员变量;
第三个作用:默认初始化为 0. 静态存储区内的所有字节默认值都是 0x00,包括静态 static 变量和全局变量;
4、第四个问题,问我 int * 占几个字节,char * 呢?答案是跟随系统,如果是 32 位系统的话就是 4 字节,如果是 64 位系统的话就是 8 字节,不管是什么类型的指针都一样;因为指针就是一个地址,跟随着系统的寻址空间走,系统寻址空间是 32 位,指针的大小就是 2^32,也就是 4 个字节;
5、最后一个问题:一个很普通的问题,但是提前没准备也是有点蒙。。。问我有什么要问面试官的吗?我愣了几秒钟,就说我本科不是通信方向的,硕士阶段也不是哪个方向,如果以后可以进中兴的话,有什么需要重点补习的吗?然后面试官说这个根据以后分的不同岗位而定,现在把自己的课题搞好就行了;一面就这么结束了
技术面的时候大概就问了这么五个问题,总体还算简单,都比较基础,但是函数指针那个确实有点遗憾,中兴的面试一般都比较基础;
除了这些基础的问题,还问了项目上的问题主要问项目的难点在哪里,我是怎么解决的;这个就因人而异了
技术面结束后,在外面等了没多久,hr 小哥就过来说一面过了,直接带我去综合面那里;
综合面:
相比技术面,综合面就显得随性多了,我还是跟技术面一样,先来了个自我介绍,但是跟综合面不一样的是,这次说完我叫 *** 后,脑子瞬间有点蒙,把之前的自我介绍基本上忘光了,,,,还好慢慢说着就想起来了,要不然就真尴尬了;
综合面记得聊得挺久的,问了好多问题,有的想不起来了,就说些能想起来的;、
你觉得你是一个什么样的人?
你研究生阶段有什么遗憾?
课题组有多少人,项目分工如何?
怎么跟课题组的博士交流?
老师有没有夸过你?
遇到老师不理解的时候会怎么样?
平时有什么爱好?
平时会看什么书?鬼知道我为什么答得是算法导论
研究生阶段有没有组织过什么活动?
还有一个我自找的问题,我中兴和华为的软件大赛都参加了,然后面试官就问我中兴和华为哪个好?
两面结束后说是让我在外面等下,然后过会 hr 小哥过来就说你可以走了,我问没有结果吗?他说回去等短信吧, 然后小声说了句过了;
总结:中兴面试总体还是比较简单的,更偏向基础,因为不管是干什么,只要基础打牢了,就都容易多了这点还是比较好的;
还有一块去的同学说面试官问了他好多不知道的问题,我觉得应该自己主动点,先主动向面试官介绍自己有什么擅长的,然后在哪些方面下过功夫,然后面试官如果有兴趣,继续聊下去的话,会对自己有利的多;
慢慢求职高峰期就要来了,希望大家能找个好工作,加油,学习很重要;
来源: http://www.cnblogs.com/jhmu0613/p/6884866.html