面试背景:
在App上投递了c++研发岗位,下午接到面试电话。这个电话比较唐突,当时还没有准备什么的东西。接了之后就直接开始第一轮电话面试了。面试官还不是HR,应该是某个技术,面试比较随意,随我说,说到哪里就问到哪。
第一轮电话面试内容:
- 自我介绍。 答:简短介绍。
- 问什么语言熟悉。 答:C++
- 问对c++和java看法。 答: C++最先学,竞赛打的多,更喜欢C++;Java跨平台以及有更多的库,等等瞎答。
- 问C++的STL容器用过哪些。 答:map、set、vector等常用容器。
- 问map底层怎么实现的。 答:没有深入了解,知道是红黑树。
- 问指针和引用区别。 答:一个有分存储空间,一个只是别名,一个会产生悬空等问题,引用不会。(Oh说的都是什么)
- 指针悬挂什么情况。 答:指针原地址已无效或回收,但没注意还是拿来用了,会导致错误。
- 多态实现方式,具体讲解一下怎么实现。 答:静态联编——重载,动态联编——虚基类。
- 动态联编(虚基类)的作用。 答:同样的指令对不同对象产生不同的动作效果。
- 虚函数的具体实现方式。 答:父指针指向子对象,再调用。
- 虚函数底层实现方式。 答:没了解过…猜是有映射表,然后调用虚函数的时候回去索引吧。
- 构造函数和析构函数能不能用基类指针多态操作。 答:应该不能吧?因为没有意义。(面试官不告诉我正确答案)
- 了解设计模式吗、多线程会不会,线程同步讲一下吧。 答:没有了解过。。。
- 介绍一下简历上的项目,讲毕设,其他的太简单了。。。 答:…巴拉巴拉….
结果:还行。面试官建议要多了解一些原理层的东西,比如多态的实现、多线程这些、设计模式,坐等通知。
岗位内容:有客户端的工作,是做MFC的,技术是老技术,但是已经够用,能跑业务就OK了,我先拒了;
服务器端是PHP、C++、NGIX,内容是Web服务器、中间件、为客户端提供服务、H5页面、交易系统、主站、新功能新业务的实现、维护优化、数据分析。
03-13 通知现场面试时间
03-18 抵达现场面试,下午1点半。依然没有丝毫准备,裸去的。本来是HR面,但是HR有事,又换成了一位技术经理做技术面了。公司很大。
第二轮现场面试内容:
1、给了我一张卷子,做一下笔试,时间1H,闭卷。题目做的很烂。
第一题考察C++基本功:new、delete、malloc、free的异同是什么。
第二题考察C++基本功:strcpy、sprintf、memcpy在对象、效率、功能的区别。
第三题考察线程:线程同步的方法有哪些?多线程的死锁什么原因?
第四题考察地址:一道指针变换、变量占字节内容数的程序题,写出结果即可。
第五题考察MFC:CString在不同动态库之间的传递是否安全?
第六题考察设计模式:写一个单例设计模式。
第七题考察基本算法:手写冒泡排序。
第八题考察高并发工程经验:写一个高性能高并发的工程,10w请求/s,如何设计以及关键技术。
回答的不是很理想。
2、做完以后来了面试官,进行自我介绍。
3、问什么项目经验能体现自我介绍。
4、有没有能拿出手的项目,现场给他看一下,比如APP,微信公众号什么的。 答:没有
Q:这么说你不喜欢编程。 答:喜欢的。
Q:那为什么没有拿得出手的工程项目。 答:搞acm后去搞课题,没有接触工程项目。(面试官不理解)
5、讲简历的某个项目吧。 答:又讲了毕设。
6‘、难点是什么。 答:是XX算法的选取和实现。
7、有做过什么工程项目吗。 答:服务外包。
Q:用什么语言与技术。 答:安卓和java,用Hibernate和JNA等。
Q:那不是C++的了。 答:对。
Q:那你C++只用来写面向过程的算法,没有写过工程项目。 答……对。
8、你觉得ACM对你有什么帮助。 答:思维啊熟练啊理解啊算法啊
9、你还有什么问题吗。
结果:
一般。第二天晚上拿到Offer.
- 面试官觉得我没有想好确定要投这份岗位,因为很多面试的基本问题都不晓得(笔试中的题目),设计模式多线程等也没去看,觉得我态度不是很端正,虽然他说结果还好。。。这一份观点和之前的面试官讲的都是一致的。而我也确实纯靠平时积累,来参加面试。
- 面试官基本都不看也不问你的荣誉情况,看来这个东西除了让简历和面试者的印象分增加以外,好像并没有什么软用。
- 像这种面向业务的软件部门,不会很看重你的科研能力而更看重你的工程能力,更看重你有什么能够体现你技术水平的项目,最好能现场拿出来演示的那种。
- 面试官回答我问题的时候说,他们的工作内容是面向业务的,谁能够解决业务问题谁就更强,技术中没有也不会特别考虑算法相关、科研能力。同花顺公司是面向业务的软件工程方向公司。
- 公司工作时间996。
岗位内容:
有客户端MFC的,服务器端比较杂,面试官部门是负责交易系统的,C++很多模块写好了就不常用了,主要是用各种脚本补充,平台当前是windows的,以后考虑改成linux。