面试感想
经过四到五个月的学习和训练,博主在九月二日参加了人生中第一个真正意义上的面试,这次面试一共分为四轮面试,首先先做一份笔试题目,然后第一轮面试是HR的面试、第二轮是技术总监的面试、第三轮是项目经理的面试、第四轮是项目中一个技术人员的面试,最后是HR来跟你谈谈什么时候可以来实习以及实习薪资方面的问题。今天博主跟大家分享一下自己的经历感想并给大家提一些建议。
博主和公司约定是早上九点开始面试,所以博主只能早上六点钟起床简单洗漱和买点早餐赶到地铁站坐了50分钟的地铁又花儿六七分钟步行到公司所在地去参加面试(期间博主还拉了一次肚子),在这里建议大家一定要挑选自己最适合的时间段去面试以便保持最理想的状态~~
博主大概八点半到达公司里,首先找到公司前台告诉自己是来面试的并报上自己的姓名以便前台人员核实,然后前台人员给了博主一份资料表,博主大概花了十来分钟填完交给前台人员再收到一份笔试试卷,试卷要求在一个小时内完成内容,这份试卷一共七道题目,博主大概花了40分钟左右填写完成交给前台人员然后被告知在休息区等待通知。在这里跟大家分享试卷内容供大家参考学习:
第一道题: 使用最少的计算量算出1到10000中符合ABAB类型的数字。(A、B为0、1、2、3、4、5、 6、7、8、9)。(10分)
第二道题: 设计一个宏计算出两个数字中的小值。(10分)
第三道题: 说一说SendMessage()和PostMessage()的作用和区别。(10分)
第四道题:
int n,b;
int a[5] = {1,2,3,4,5};
a[2] +=a[2];
n = a[2] + a[3] + a[4];
if(a[4] < 10)
{
int n = 32;
}
b = n/2;
计算出最后b的值。(10分)
第五道题: 说说extern的作用。(10分)
第六道题:
struct Ptb
{
int a;
int b;
int c;
}
Ptb ptb;
int aaaa(int m,int n)
{
ptb.a = m;
ptb.b = n;
int *i = new int;
*i = (ptb.a + ptb.b)/(ptb.a - ptb.b);
*i = (ptb.a - ptb.b)/(ptb.a - ptb.b);
return 0;
}
找到上述代码中错误的地方。(10分)
第七道题: 一副牌有54张牌:红桃13张、黑桃13张、方块13张、草花13张、大王小王各一张,现把各种 牌赋上ID编号: 红桃(0-12)、黑桃(13-25)、方块(26-38)、草花(39-51)、大王(52)、小 王(53),现有一副牌的组合,使用函数来判断它是不是顺子。
bool Judge(int nCardID[],int nCardCount)
{
}(40分)
上面七道题只有第三道题博主没有接触过其他都很快的做完了,可能是因为一开始有些紧张的原因在判断代码错误和最后一题中取余取模的问题上出了点差错做得不是很完美最后得了78分~ 算是一个中规中矩的分数了。
不过一会儿公司那里就来HR把我叫走了(心里还是有点小激动),第一轮面试开始了,面试官上来就说你的字写得还是挺秀气的嘛~~
,由此可见一手好字还是蛮重要的,至少在第一印象上是加分的,接下来我赶紧拿出我的简历交给HR,HR问的很简单,就是在学校的状况怎么样,为什么要从上一个实习公司来这里实习,这些对博主来说都是蛮好回答的~也是简简单单过去了,然后HR让我等一等,她去叫技术总监来进行 下一轮面试。
过会儿技术总监就来了,首先我就申请自己先做一个简单的自我介绍(这个蛮重要的,一定要主动),花了不到一分钟的时间对自己做完介绍就到技术总监的提问环节,技术总监其实是一个蛮开朗、和蔼的人(博主真幸运~),他先问我一些笔试试卷题目中自己的思路然后给我说哪道题自己有些疏漏,笔试部分完后让我当场写了一个函数,这个函数叫strcpy();其实这个时候博主还没有很进入状态,这个函数博主之前有准备过,正确的答案应该是这样的:
char* strcpy(char *dest,const char *src)
{
assert((dest != NULL) && (src != NULL));
char *address = dest;
while((*dest++ = *src++) != '\0')
NULL;
return address;
}
博主在while循环中的赋值中写错了导致变成了从第二位开始赋值…………
这些做完后开始了口头上的问题,技术总监大概问了下面这些问题:
1、const的作用?
2、const 和 宏定义的区别?
3、const的用法?
4、const修饰函数的作用?
5、面向对象的几个特点?
6、析构函数为什么不虚化?
7、虚函数列表在什么时候创建?
8、变量存储都分哪些区域?
........
以上这些问题大部分都没有难道博主,有一个博主没有回答完全,就是const修饰函数的作用,其实const修饰函数有两个位置,放在函数前面说明该函数返回一个const类型的值,放在后面说明函数块中的成员内容不能被改变。博主只回答出了一种情况…………
还有一个博主没有回答上来,就是析构函数为什么不虚化,技术总监最后说析构函数不虚化是因为构造函数和析构函数的调用有一个先后顺序,不虚化是因为要保证这两种函数按照正确的顺序执行,然后博主的回答是虚化析构函数的意义……也就是实现多态时保证析构函数的正确执行以防二义性。
技术问题问完了,技术总监对我的建议是再加强C++的基础知识、多了解网络方面的知识,比如socke,网络协议等等。接下来就是展示自己作品的时刻也就是博主的跳棋和现在正在做的项目、技术总监则问了些博主在开发阶段遇到的问题和收获,这段博主滔滔不绝的说了些自己遇到的问题和收获,看样子技术总监对我是挺满意的,让我稍等下一轮面试。
又过了会儿,上次的HR来把我叫到上一层楼的一个房间,在路途中HR给我介绍说给我面试技术的是一个在技术方面很资深的人~ 把我引到新的房间后HR叫我等一等,一会儿会有人来面试你,过会儿来了一个人,这个人是项目经理,他拿着我的简历先让我做了一个自我介绍,然后问我在大学中学了些什么课程,其实就是看一看你们专业主要给你们培养哪些方面的技能、主要学哪方面的知识,问完后又看了看我的作品也是让我多了解了解网络通信方面的知识,不要让我使用一些封装好的东西…………。
接下来就是最后一轮面试了,这次是一个技术人员,也是问一些技术方面的问题,不过内容不一样,比较针对性的问了我一个Cocos2d-x中的内存是怎么管理的,这个之前有了解智能指针方面的知识,也是有的说,不过面试官说我回答的不错但是Cocos2d-x内存管理还有一方面就是使用引用计数来判断一个对象被使用了多少次,什么时候释放,这些内容都被放到一个池中用来随时判断。这问题问完后面试官就给我说他们公司在最近一年的发展方向(也就是你要进来的话可能要新学习的知识),结束前也看了看我的作品并问我Spine骨骼动画制作的一些流程(因为这些在我的最新项目中有用到)。
四轮面试都面试完了,最后HR来找我谈,主要谈我什么时候能来这里实习之类的,这个时候自己要有自己的观点和打算,如果你有想找更好的面试机会的话就要找一些理由把自己的答复尽量拖后一些,不过这种情况公司也应该是知道的,所以心里也不要有太大的压力,多面试几家说不定有更好的呢~ 最后实习薪资方面作为即将大四的学生尽量不要有要求,这样可能会让你在公司印象里扣分影响你以后在该公司的工作,当然一般实习薪资在3000左右不要太担心~。
面试完了大概都快十一点半了,差不多面试了两个半钟头,一早上都过去了,到最后整个人精神状态都差得不行…………
以上是博主第一次面试的经历和感想,希望对大家有用~