三位斩获百度C++后台开发offer大佬的口述分享!!!

前言

全文大多数文字由获得百度/猎豹/华为sp/作业帮等C++后台开发offer的大佬完成,少数文字由我(乔戈里)完成,并又去听取了两位斩获百度C++后台开发offer的大佬的意见,最终成文于下,可谓是"集百家之长,成一家之言",希望能为大家的C++求职的漆黑的路上点亮一盏明灯~

学习路线

三位斩获百度C++后台开发offer的大佬都推荐的学习路线~

C++

C++方面就是把《C++ Primer》《Effective C++》《STL源码》这三本书都看了一遍,大佬们原话都是这样说的:“这三本书都看一遍,然后上面的所有的知识记住,面试官问的C++问题还没有不会的”。这里画重点了,不仅仅要看一遍,上面的三本书的知识得印在脑海,那么面试的时候吊打面试官提出的任何C++问题。

其他

数据库,操作系统,计算机网络,数据结构与算法,Linux这个都是通用的可以参考乔戈里的这篇文章

如果时光倒流,我会这样学java

总结

上面的所说的知识记住并理解,《剑指offer》上面的题都会做,自己的项目好好准备一下,那么不说bat这些公司,至少互联网前50+的公司都是非常有可能拿到offer~

大佬亲述

自我介绍

自我介绍是面试中我们唯一的主动展现自己的机会,一定要好好把握。

在面试中知晓如何发挥自己的长处才也是很重要的,如果茶壶煮饺子也是一种很难受的情况了。我因为自身c++的基础知识准备的很充分,所以一般在自我介绍说完名字和学校之后就会紧接着说自己熟悉c++,名字+学校+熟悉c++,一般在面试官最容易记住的头三句介绍中就传递给面试官这个信息,然后面试官如果熟悉c++,那他在接收到这个信息之后,会开始分一个线程开始思考c++方面该问你什么问题,还有另一个线程继续听你讲述你的项目经历,然后自己开始介绍自己的项目,因为应聘是c++,自己跟着导师做的项目反而是使用java的,其实我一直想说的就是要思考面试官会问你什么问题,而且要试图去引导面试官问你问题。你看,这个项目是java的,那么你应聘c++,那人家多半会问,为什么项目是java的,那就可以说明是和导师要求的整体项目走的,记住强调你熟悉c++,这个时候说“以前本科一直使用c++,和导师要适应这种变化,所以就学习java,可以侧重说自己认为学习语言是有通性的(隐藏诱导题目),而且体现自己接受新事物的学习能力也比较强”。那么你说了语言是有通性的,可能诱导面试官问“那你说说java和c++语言之间的通性和区别,你怎么理解”,当然这道题就在我的面经里啦~

我自己整理的面经在公众号程序员乔戈里后台回复C++面经即可获得~

项目介绍

当然只做这一手准备肯定不行,c++的应聘有一个java项目,如果人家不接受,你就需要有别的特点,那就找其它方面的侧重点,比如我在介绍时,会侧重使用的算法介绍,以及处理整个项目问题的解决能力的说明,毕竟面试官是想看你怎么解决整个项目的能力,而不是只解决一个项目的能力,他要看到的是你可以应用到别的项目上的能力。

那我是分两个方面来说的,1. 算法,2. 解决项目能力。当然讲述的过程中两点是结合在一起按照时间顺序说的,样例:这种导师布置的任务,一般就是导师说要实现一个功能,当然说的也不是很明确,自己需要追着老师问具体的需求(自己在做需求分析阶段),然后根据老师的需求,寻找解决方案,在实行前需要和老师讨论这个方案的可行性(在做概要设计和详细设计阶段),当然也有老师独裁的时候,就比如我就遇到老师的独裁,老师说LDA算法就可以解决这个问题,在我尝试和老师讨论之后,老师也没有同意,所以我就只能实现出来(在做编码阶段),然后用结果和老师说这个算法的效果确实不好,(这个时候也可以提现自己确实有能力编码,而且在遇到和老板意见不统一时,自己也会尝试谏言,但是如果老板实在独裁,自己也会忠于老板实现,但是也坚持着劝谏老板,懂得换方式劝谏老板),拿数据说话了之后,自己又适时的提出了自己找到的NER算法,然后讲述可行性,最后用自己找到的算法进行了实现,在讲述一下得到的成果。

自我介绍与项目介绍的个人总结

当然,对于自己的项目的技术实现上一定要踏踏实实的,我现在侧重说的就是在你自己确实有一定能力的时候,一定要记得在面试的时候发挥出来,尽量扬长避短,就可以得到很好的结果,自己的项目如果不是实实在在完成的,哪怕简单,也要实在,如果被面试官问出来有虚假的部分,面试官就会直接降低对你的印象,切记不要不踏实。

上面这个项目的讲述思路呢,也是源于自己本科时学习软件工程的,解决项目的这种阶段思路,已经刻在脑子里了,所以在想着如何介绍自己的项目时候,自然而然的就想到了这个思路,发挥出自己本科时的功底,扬长避短,当然如果面试官顺利的按照你的思路想问题,那他在知道了你懂得需求分析,概要设计,编码,这种思路,而且我根据自己有因为概要设计阶段没有确定好算法而重新编码的情况,这里也可以介绍一下,自己认为需求分析和设计阶段实际上很重要的观点(也是一个诱导),这个如果面试官想问,那他可能会问“那项目解决问题阶段中,具体你是怎么认为的呢,如果一个项目出了问题,后期加人和前期加人在设计这两种策略会选择哪一种呢?”(一般leader层次的面试官会注意这个能力)。

我无时无刻不在告诉大家,尝试着去做面试过程中的主导者,让自己看似是一个被面试官提问的被动者,实际上自己一直在自己的各个回答中隐藏陷阱,让自己不知不觉变成一个主导者,这样才能让自己的面试结果对得起自己的能力。

面试技巧实例举例

我自己整理的C++的50个面试问题,这50个面试问题是我在看了《C++ Primer》《Effective C++》《STL源码》这三本书之后的高度浓缩,几乎所有的面试官问的问题都无出这50道问题,因为我会去引导面试官,让他就去问我这些问题,而这50道问题足以支撑你在面试过程中面试官对你的C++考察。(需要这份面经的同学,关注公众号程序员乔戈里,后台回复C++面经

下图是我的面经,左侧是目录,右侧是我整理的答案~

三位斩获百度C++后台开发offer大佬的口述分享!!!_第1张图片

下面是我举的例子,这个例子在我面试百度/作业帮/猎豹的时候,面试官都成功地按照我的预想来问,屡试不爽。

例如, 问c++内存分区 ,在内存分区的答案中有栈和堆,在简要答完五个分区之后,不要停下不说了,继续说,可以这样答“c++的内存分区主要有 堆,一句话介绍堆,栈,一句话介绍栈,然后其它都用一句话介绍,介绍之后不容面试官想,你就说对于堆和栈我是这样理解的,接面经3.堆和栈的区别,然后在堆和栈的区别答案中要说堆中使用new/delete,和malloc/free。可以把这个回答放在靠后的位置,然后面试官一般会自然而然的问,那new和malloc的区别是什么啊,巧了,这道题也在面经里,然后你就说new和malloc的区别,记得主动点,要加上delete,和free,这个时候我还会融合另一道面经题就是,为什么有了malloc和free还要有new/delete。”这样  balabala,你就已经就着一个方向回答了好几个问题了,这样给面试官一种你条理比较清晰,懂的关联。

面试的时候,除非面试官打断你,其实你都可以说下去,可能有的时候他面色不好,很有可能是他有个地方没听明白,或者你有说错的地方,他如果想问,会在你说完问你的不用担心,没准你说着说着,有别的感兴趣点出现,他也有可能忘了你之前说错的点,另一种面色不好,也可能是他就是喜欢压力面,那你就更不用担心了,继续说就好,反正说什么他都不会有脸色。其实面试的时候,要懂得表现自己,自己多说,让面试官少说,或者给面试官问题的诱导,也是帮他们解决问题,他们也在思考问什么问题能够给你自己提现的机会,而且越是大厂越喜欢挖掘你身上的优点,那么你只要稍稍诱导,他们很乐意去问一些你可以回答上的问题的。

结束语

以上就是斩获百度C++后台开发大佬的面试经验,目前已经把大佬拉进了微信交流群,有问题可以交流,她目前正在百度实习,可能回复的不是很及时,晚上有空会回答大家的问题~

640?wx_fmt=jpeg

往期精彩回顾

如果时光倒流,我会这样学java
我的2019校招
极有可能是你朋友圈最全的3T编程资料分享!!!

扫一扫

640?wx_fmt=jpeg

有干货

你可能感兴趣的:(三位斩获百度C++后台开发offer大佬的口述分享!!!)