迟到的春招实***结(包含面经)

一直想发个帖感谢牛客在春招中给我提供的帮助,但一来自己太水不好意思献丑二来也没有时间好好组织语言,所以一直耽搁了。这次趁着从公司请假回学校办理实习手续,也趁着窗外天高气爽,终于得了些空闲。
前几天学着网上教程搭了个简单博客,就当是为了让更多人能看到新出生的它,写点东西宣传一下。
肯定比不上大佬们的“手到offer来”(比如我的一些舍友),但如果让牛油感觉到哪怕有一丝帮助,我也会很开心。

按照惯例,首先介绍下自己的基本情况,本科虽是211,但计算机专业算得上是全校末流专业,比一些双非都差得远,后考研考上某985,学校挺好,奈何自己太水,水到一开始私下和同学交流时都不知道他们在说些什么……
我性格有些奇怪,总是喜欢给自己做一些不是主流又吃力不讨好的东西,简单来说就是尤其钟情于那些“入门较难学会很牛逼”的东西,所以在舍友们都是Java的情况下还是选择了C++(其实就是因为Java也没学好,自己又比较想做游戏),所以这篇春招总结主要是给C++道友们看的。
在开始准备春招之前,我对C++的了解程度也仅限于语法,对算法之类更是一窍不通,项目方面更是只有本科毕业设计一条可以稍微一说(事实上在后来的春招期间项目方面主要也就是靠它撑着),刚开通没多久的Github上也是空空如也。
水货如我,竟也想找个实习,实在惭愧。
而水货如我,最后也还是找到了自我满意的实习(有运气成分),可见天无绝人之路。
我的春招准备时间从2018年2月1日开始,4月26日面完网易雷火游戏研发二面,27号收到口头offer,终于结束。

一、书籍

提到书籍,不得不感谢牛客上各位前辈的面经,推荐的书籍十分有用。
因为当时留给自己的时间并不多,所以即便我整个寒假包括春节几天都几乎不出门,也不可能把所有书都看完,更何况有些书看一遍又有何用?
所以斟酌之后我只选择了少数书目,当时也没想别人看了那么多我只看几本能有什么用,只想着看完这几本应该能让自己应付过小公司的面试了吧,只要最后别落得个一个offer都没有的尴尬境地就好了。
说起来你们可能不信,但当时我就是这么想的。
说书单吧。
C++方面必看四件套:
C++ Primer(很厚,提前看,要不然两个月打死我也看不完记不住);
Effective C++(对于理解C++很有用,也会出现一些面试题)
STL源码剖析(书中很多源码,容器部分重点看,面试高频)
深度探索C++对象模型(看完之后能够给面试官手画内存模型图,很有用的)
这几本书都是在年前买的,而且由于是先后决定的所以最后是分开一本一本买的,那几天当当快递员天天往我家跑。快递员是个中年大叔,也没嫌我烦,每次都笑呵呵地把书递给我,唠叨着“看书好,用功好,好好看”,然后驼着背跨上三轮车远去。
看完这四本书,只要理解还可以,讲道理对付一般的基础题都能应付了,但我因为不太放心,还特地看了一本面试题的书——《王道程序员面试宝典》,这本书对C++面试非常有用,极力推荐,电子版可以在网上搜到。

计算机网络、操作系统、数据结构:这几块的话,说实话并没有看太多资料,因为本科学得还行,后来也就是照着在牛客网上其他人的面经看一题弄清楚一题,看得多了也就各个方面都知道一些,只是只是深度是个问题,遇到喜欢刨根问底的面试官就会很绝望。
算法方法,《剑指Offer》不多说,哪里不会刷哪里,一遍不会两遍,两遍之后再查漏补缺,我就是靠着这本书搞清楚了回溯、动规到底是啥东西……汗颜。

书不多,但后面在网上看的东西很多,建议大家在把基础弄好之后大肆搜刮一波网上的面经以及面试准备资料,然后死啃,牛客上就有好多。
我看了很多,但是没有一一保留下来,就留给大家自己找吧。

二、面经

面试大大小小也面了几十家,很多都挂了,也有很多是面Java的……还好投了几家小公司保了底,大公司全军覆没,不过我也没太过绝望,因为自己几斤几两自己清楚,春招不行就秋招再战。
但今年着实运气不从,网易游戏的门槛似乎下降了一些,最后险而又险地踏上了网易雷火的末班车,再加上春招开始心中最想去的就是网易游戏,所以收到口头offer的那一刻我激动地甚至连正在打的LOL排位都抛弃了……
闲话不多说,我记录的面经就全部回馈给大家。

3-20 阿里一面
晚上九点 持续时间38分39秒
阿里是我春招真正意义上第一个面试,当时准备地还有所欠缺,不过问的比较基础我也觉得答得还行,但是最后还是挂了,不过由于一直对阿里抱有敬畏之心所以也觉得不要我很正常,没有多想。
1、自我介绍
2、项目
3、kv store,mapreduce。没有说到索引,下次可以考虑说。
4、快排、堆排序,时间空间复杂度,最好最坏
5、敏捷开发的优点
6、实习,收获。(没答好)
a、提高了实践能力
b、了解了职场工作的基本流程,比如每天刚上班leader是如何组织晨会,分派每个人一天的任务,了解了如何使用公司内部的一些协作同步平台,以及一些版本控制方法,比如我今天提交了一个修改,那么我除了提交代码之外可能还需要提交一份对应的修改表,说明我针对代码做了哪些改变,以便于其他人能够知道我所做的变更,从而同步代码等等。这可以让我在以后的工作中更加专业化和职业化。
c、我也学会了使用一些公司内部的工具app,更好的融入整个公司,也能省去自己很多不必要的麻烦,省出时间来更好的工作。
7、1000亿找最大的1000个数。(优化没想出来,应该是hash)
8、tcp、udp的区别,tcp三次握手。
9、为什么从java转到c++?(答得不好)
准备:
a、c++效率更好
b、c++更难,而且java是c++的变种,它把c++的一些机制都进行了简化,我觉得如果能把c++学得不错的话还算是一件挺有成就感的事,我比较喜欢挑战一下。

3-21 亚信面试
上午十一点,持续50分钟左右。
这是一家我本科实习过一两个月的公司,只不过当时用的是java,这次再投,其实也是想试试水,但是由于我本科设计做的操作系统相关,亚信安全部门的面试官又比较熟悉这块,所以面的还是没有自己想象中的轻松,不过最后还是拿到了offer。
1、项目
2、C++内存模型,虚函数表指针(没答好,基础啊基础,当时有点紧张)
关键点:C++实际模型是,对于一般继承是扩充已有存在的虚函数表;对于虚继承添加一个虚函数表指针。
单继承正常叙述。
多继承下:
a、每个基类有自己的虚表
b、子类的成员函数被放到第一个基类的表中
c、内存布局中,其父类布局依次按声明顺序排列
d、每个基类的print函数都被overwrite成子类的print
虚继承下:
虚继承的子类有单独的虚函数表,另外也单独保存一份父类的虚函数。
派生类的内存布局中,首先是自己的虚函数表,然后是派生类的数据成员,之后是基类的虚函数表,基类的数据成员。
3、证明一下自己的学习能力。

3/28 趋势科技
这家公司本身不错,但是可能是我在投简历的时候写的是“开发实习”而没有注明语言,所以给我安排的是Java大数据面试官,结果可想而知……java尬聊,最后没拿到offer也是意料之中。
这家公司值得一提的这次面试是提前批,后来四月份的时候又投了一次C++安全岗,同样邀请我去参加面试了,但是已经拿了雷火offer就没再去。
1、自我介绍
2、项目,操作系统
3、python ,with用法
4、k-V store
5、写sql
6、linux下查看进程的命令
查进程:ps -aux | grep …
杀进程:kill

3/31 今日头条(三面挂)
头条虽然最后给我挂了,但是面试体验不得不说是我春招中体验最好的了,或者说它的面试流程我比较喜欢,效率很高,面试官也很nice,即使是最后的三面我全程懵逼的状态下面试官也始终面带微笑。
有一些面试题记不得了,记得的全部写在这。
1、自我介绍、项目
2、指针和引用的区别
3、拷贝构造函数
4、I/O复用,select等
5、算法重点(也死在算法上了)
m个有序数组合并后输出前K个数(败者树)
二叉树的最小公共结点
二叉树的分层遍历
m个有序数组合并后输出第k个数(二分)
6、设计题
资源池,get/release/random都实现O(1)。
7、volatile的作用

4/11 聚铭
南京一家本土公司,体验还行,顺利拿到了offer。
27分钟左右
1、计算机网络七层结构,tcp和ip各是哪一层
2、stl了解吗?除了vector还了解其他的吗?
3、析构函数加virtual是为了什么?
4、c++11的特性了解吗?
5、shared_ptr简单说说。
6、了解哪些数据结构?
7、随便说一种算法思想和简单应用。
8、c和c++的区别?
9、用过socket吗?

4/11 喜马拉雅(一面,要转ios)
喜马拉雅是上海的一家独角兽,一面的时候面试官问我愿不愿意转ios,一开始我给了肯定答复。但后来自己考虑再三之后还是决定不转ios继续做c++,所以在后来的沟通里我表明了意思,面试官也表示了理解。
42分51秒
1、数组中重复的数字(剑指offer)
2、一步两步,爬楼梯的总数(经典dp)
3、学习能力强不强啊?
4、为什么从java转c++。

4/14 vivo
vivo是挂在hr面上了,不知道为什么,可能是我说了最想做c++,但如果公司要求转java也可以转?因为南京vivo主要是java、安卓的。
1、引用传递、值传递、指针传递。
2、静态编译和动态编译
3、java和c++的区别
4、malloc/free和new/delete的异同
5、从c文件到执行文件的过程
6、virtual的作用

4/15 网易互联网
网易云的一面是我春招里遇到过最难的一面了,再加上网易是我最想去的公司,全程紧张,一面磕磕绊绊,一面结束我本来都想直接溜了,但却被告知还有二面,一瞬间地狱到天堂。二面自我感觉答得还行,以为能过但最后却挂了,我猜测可能是一面已经挂了只不过让我来二面见识一下?
总之上上下下来的太快,失败之后走在网商路上,走过阿里巴巴站在十字路口望着对面的居民楼,差点没哭出来,心里想着就差一点,要是能在这里租个房子实习多爽啊!
可是就差那么一点。
一面:
1、项目,五子棋,tcp,如何不手动输入ip地址完成连接。
2、虚函数机制
3、从c文件到执行文件的过程
4、内联函数在什么时候扩展?(编译)
5、函数只声明不定义会在什么时候报错?(如果不调用的话没问题,调用的话会在链接时出错)。
6、手写代码,计算一个整数二进制中0的个数。
7、四种类型转换。
8、static的作用,静态变量的作用。
9、平时喜欢做什么?(专业相关方面)
二面(挂):
1、五子棋的pve电脑下棋算法、流程图
2、hdfs的索引
3、笔试没做出来的题有没有再看看?
4、实习时间。

4/17 华为
华为的面试似乎有点水?等待时间超级长,等待四小时面试五分钟的代言者,但最后给了我offer,我就不计较啦~
1、聊操作系统项目
2、对以后用c有什么想法吗?
3、对加班的看法

4/18 雷火一面
网易雷火是3月28号笔试的,微信公众号上的推送也是说10号开始面试,所以我一度以为自己笔试就挂了,万万没想到在4.18上午收到了电面。
当时正在和舍友玩决战平安京呢,最后果断坑了他们一把~
一面(27分13秒):
1、五子棋的socket通信
2、tcp和udp的区别
3、tcp三次握手
4、tcp如何保证可靠传输?
5、udp想要可靠传输的话如何设计?
6、vector和deque的底层实现有什么区别
7、set和map的底层
8、迭代器什么时候会失效
9、emplace_back的实现
10、push_back会对迭代器造成什么影响
11、python和java的垃圾回收了解吗?
12、操作系统,进程空间里有些什么?

4/20 巨人电面
巨人网络的电面挂了,算是我觉得很玄学的面试之一了,本来还想去上海巨人的大厦去参观一下的呢!
21分3秒
1、五子棋,规则判断、数据报文格式
2、操作系统图形化界面
3、实习时间
4、对游戏行业有没有什么了解
5、你有什么想问的吗?

4/21 腾讯电面(挂)
我能说这是我觉得回答的最好的电面吗?可还是挂了……挂了……挂了……
32分25秒
1、项目。
2、stl了解
3、虚函数
4、热爱技术1到10分,给自己打分
5、学生干部经历
6、树的层次遍历。

4/26 雷火二面(视频面,56分钟)
决定命运的面试,十一点半面试到十二点半,面试官每个问题都问的很深,想死的心都有了,越来越紧张基础还没答得太好。
面完后总觉得凉了,但第二天就收到了口头offer。
现在已经入职一周多了,感觉还是很nice的。
现在每天上下班都能走过当初那个十字路口,抬起头就能看到我房间的窗户,窗帘在风中轻轻飘动。
嗯,一点也不差了。
还有点美滋滋。
1、学生干部的事情
2、五子棋项目的tcp
3、ip报文头有什么字段。
4、长度1——10的木棒,铺在1——10000的路上,给一个区间,查有多少根木棒?查木棒覆盖的路径。
5、tcp从发送端到接收端的流程。
6、tcp如何保证可靠传输?不匹配会怎么样?(滑动窗口)
7、虚拟地址和物理地址,调试时指针地址是虚拟还是物理?
8、进程和线程的区别,深入怼线程的栈。
9、avl树,旋转。
10、最小堆。
11、游戏相关了解啥?c#了解吗?
12、除了简历上的项目还做过什么?
13、模板底层实现原理,如何把int和T绑定?

三、总结

贴一下博客的地址,面试分类中有一些我阅读网上资料总结的春招资料,不算太多,但也是一些绵薄心意。
还有一点其他的文字,那就属于个人爱好了。
最后给大家提个建议,如果准备时间充足的,还是可以自己动手做一个和目标岗位相关的小项目的,比如我就机智地趁寒假时间用QT做了一个简单五子棋项目,在春招中也帮了我不少忙,至少问游戏的时候有东西说一说。

故事没结束,别急着去哭。
暂别,秋招再见。

#春招##实习##C/C++#
全部评论
加油!
点赞 回复 分享
发布于 2018-05-31 17:54
膜一发dalao
点赞 回复 分享
发布于 2018-05-31 18:42
点赞,谢谢分享!
点赞 回复 分享
发布于 2018-05-31 22:59
大佬研一就能找实习啦?
点赞 回复 分享
发布于 2018-06-03 14:05
收藏了 慢慢看
点赞 回复 分享
发布于 2018-08-29 15:05
大佬项目部分怎么准备呢?
点赞 回复 分享
发布于 2019-01-29 05:39

相关推荐

秋国🐮🐴:拿到你简历编号然后让你知道世间险恶
点赞 评论 收藏
分享
评论
18
160
分享

创作者周榜

更多
牛客网
牛客企业服务