昨天下午去参加腾讯的面试,感觉面试过程不太理想,很多问题有没有把握好,特此记录、总结,为以后警醒~
4月1号下午是3点半跟余XX和师弟一块去西安桃源假日酒店二楼参加的软件类的DE面试,去了之后,在一个漂亮的HR姐姐那里签到,可惜没有找到我的信息,心里有顿顿的不安,不过腾讯HR团队的老师们态度都很好,很快找到了我的信息,并进行了签到。
面试是下午4点40左右开始的,然后等电梯,等了好一段时间,所以刚上去面试官就问我是不是才来,我只能说电梯比较慢,在2楼等电梯,心想总不能从2楼跑到12楼吧。
面试正式开始后,首先做了一个自我介绍,感觉介绍的不好,因为之前没有打腹稿,也没有任何准备自我介绍,就随意而发了...
自我介绍结束后,面试官就说我的第一志愿在杭州,第二志愿在北京,我一听就表达了我希望去杭州或北京的愿望,结果面试官说他们是深圳部分的,我瞬间就崩溃了。其实,我并不排斥去哪,网上注册简历中填的工作的意向城市也是随便一些,Oh My God!!!
后面面试官看到我简历上写的“熟悉C/C++”,就问我C和C++用的怎么样,我说具备2~3年的使用经验,然后问我什么时候开始学的C语言,成绩怎么样,我说大二上学期学的,95分,但是谦虚了一下,说山东人的应试能力比较强,开始了自黑.....(PS:可能是平时自黑的习惯导致的)
之后,面试官问我C++怎么样,我“谦虚的”说了句用过,然后面试官文科很多基础的问题,大致如下:
1)C++的面向对象性?(感觉很像感念,一时间不知道怎么回答)
如果采用过程性编程方法时,首要考虑要遵循的步骤,然后考虑如果表示这些数据,添加一些执行计算的方法;如果采用OOP编程首先考虑数据,不仅考虑如何表示数据,还有考虑如何使用数据。简而言之,采用OOP方法时,首先从用户的角度考虑对象——描述对象所需的数据以及描述用户与数据交互所需的操作。完成对接口的描述后,需要确定如何实现接口和数据存储。最后,使用新的设计方案创建出程序。
C++具有多态性,继承性,封装性.....
2)什么是多态性?
在C++中,多态性分为两种,一种称为编译时多态,另一种为运行时多态,分别说明如下:
a.编译时多态,也就是函数重载,所谓函数重载是指同一个函数名可以对应着多个函数的实现,具体调用哪个按照由参数个数,参数类型等来决定。
b.运行时多态,就是虚函数,在定义了虚函数后,可以在基类的派生类中对虚函数重新定义,以实现你所想要的功能。
3)如果派生类和父类的函数名相同,且参数列表也形同,但返回值不同,问是多态吗,调用规则是怎样的?
(这部分我打算单独整理一下,多态、重载和覆盖的关系,在这里详细介绍了.....)
4)给了一段函数代码
class="brush:cpp;gutter:true;">A * a = new A(); A * b = a; a = null;
问指针b的情况,是否正常?
b仍然指向A的内存区间,因为指针变量仅仅保存内存区间的首地址,将a置为null并不影响b中保村的地址。通过new运算符分配的动态内存在内存区的堆中。
技术的问过之后,问我知不知道PC客户端开发室做什么的,我说做QQ界面的,面试官说是游戏开发,我瞬间有晕了.........
然后问我,玩没玩过游戏,我说只玩过《红色警戒》,感觉就被鄙视了....
之后又聊了下如何开发游戏之类的,因为对这方面了解比较少,感觉跟面试官有点缺发共同语言。
最后,跟他聊了下职业规划的问题,在软件研发人员中,以一个职位叫做开发经理,做开发和做产品是两码子事,完全是并行的,以后千万不要再问这无聊的话题了.......
总感觉很多地方做的不好,并不是因为技术掌握的不行,而是没有前期做好对应聘岗位的了解,当前技术知识也有待提高!!!腾讯的面试就这样挂了吗。
结束语:路漫漫其修远兮,吾将上下而求索~