2018校招,这不仅仅是一篇面经


51天+41家公司+31场笔试+22场面试

一天最多做过四家公司的笔试题

一天最多面过三家公司

二本本科


这些数字大概可以总结我的秋招之路了


【前言】
2018年校招,比以往来的要早一些。7月底就已经有公司陆陆续续开始内推了,8月初就有了提前批笔试面试。那时候我还在实习,每天完成mentor交给的任务,基本每晚都要加班。因为忙不过来,也没时间复习,所以就放弃了走内推流程。我参加的所有笔试面试走的都是大流程校招。


【面经】
 

G-bits


扫描二维码关注公众号,回复: 897051 查看本文章

【时间】2017.8.31

【岗位】游戏研发

【形式】视频一面-1个半小时

【结果】一面挂

1.自我介绍

2.聊项目(简历上的每个项目都问了一遍,聊得时间很长)

3.笔试中第二个编程题如何去解(是一道DP问题)

4.C++多态实现原理

5.如何避免内存泄漏

6.智能指针原理,如果让你实现如何去做

7.看过Effective C++吗?讲其中两个条款说一下

8.sin1度如何计算

9.进程同步的方法

10.同步和异步的区别

11.UDP和TCP的区别,为什么项目中要用UDP?

12.UDP如何进行广播

13.网络场景题

14.堆排序原理,时间空间复杂度

15.证明建堆的时间复杂度

16.知道哪些游戏算法?碰撞算法了解吗

17.渲染管线流程

18.平时如何学习的

19.对未来的规划

20.对G-bits的了解

21.有什么要问我的


G-bits是我感觉秋招里态度最好的公司,面试官和HR都非常好。线上笔试两天后就出来了结果,没过的人都发了拒信,处理效率非常高,起码不让人一直干等着。面试官也非常好,很负责,非常耐心地听着我讲,还给我些建议,所以一面时间就大概持续了1个半小时,这也是我经历过最长的一轮面试。因为实习耽误了很多时间,也就准备了不到一天,所以很多问题答得也是模棱两可,当然结果也是没过,第二天没过的人都收到了拒信。不管G-bits的待遇如何,我都觉得他们很重视校招,面试官也很有耐心,技术水平很高;HR们的效率非常高,不得不赞



大疆创新


【岗位】PC开发

【时间】2017.9.17

【形式】电话一面-30分钟

1.自我介绍

2.static的作用

3.为什么类中的成员函数可以访问类中的数据成员(不知道想考什么,我简单答了下C++类的内存模型,后来想了想答了this指针)

4.C++中的调用约定

5.函数中的可变参数是如何实现的?为什么参数要从右到左压栈

6.函数的返回值是在哪个寄存器中

7.堆和栈的区别

8.系统清空堆栈是怎么实现的?(不知道)

9.C++多态性怎么体现

10.见我投的工作地点在北京,考虑过上海和深圳吗?(只要能拿Offer,工作地点我说全国均可)

11.问面试官问题(难道这么快就结束了?问了一下如果进去会负责什么内容)

12.项目中遇到过什么问题?如何解决?

以为要结束了,然后开始问网络和操作系统:

13.进程和线程的区别

14.同步的几种方式,说区别

15.并发和并行的区别

16.计算机网络的模型,每层都干嘛(答了七层和四层,并说了每层的功能,说到会话层,见我背的挺熟叫停了)

17.TCP如何保证可靠性

18.滑动窗口和拥塞控制原理

19.说一下红黑树的几个性质(太可惜了!!忘记复习红黑树了,只好说忘了)

20.让我挑一个数据结构内容他来提问,我说图论。面试官好像挺尴尬,一时想不出什么问题。。

21.还是我想了一下,介绍了最短路原理,BFS广搜、Dijkstra、Floyd适用场景,解决什么问题。重点说了一下Dijkstra的原理。

这次一个项目都没问,全是基础知识。其实基础知识大部分都能答出来,但主要是答得要条理,最好有逻辑性,不能卡壳,要做到这点是不容易的,只能多背吧。尤其是操作系统和网络那块要背熟,C++一些也要熟背,但更多还是要理解。然后过了两天收到二面通知。


【时间】2017.9.19

【形式】电话二面-40分钟

1.自我介绍

2.讲一个主要的项目,项目干了啥,遇到什么问题,怎么解决的。

3.因为项目中用到多线程,问了一下哪些地方用到多线程,为什么要这样做

4.面向对象的三个特性

5.解释一下多态是什么意思,C++中如何体现多态

6.带有虚函数的多继承下子类的内存布局

7.虚函数表在哪个地方

8.菱形继承会有什么问题?如何解决

9.模版有什么作用,它的好处是什么?什么时候适合用模版

10.回调函数有什么用,举个回调函数的例子(我说Windows窗口创建的时候)

11.lambda表达式如何实现函数回调(不太了解)

12.如何避免内存泄漏

13.上一个问题说到智能指针,说一下智能指针有哪些。BOOST中还有哪些

14.详细说一下weak_ptr的作用,能解决什么问题(还以为要问shared_ptr)

15.设计模式有了解吗?说一下单例模式是干嘛的,如何编程实现?

16.单例模式有哪些实现方式,介绍两三个实现,哪些是线程安全的

17.如何使单例模式线程安全

18.上一问说到锁,问了一下死锁的必要条件

19.如何避免死锁的发生

20.TCP如何保证传输可靠性

21.URL解析的过程

22.HTTP和HTTPS的区别

23.数字签名证书的一个问题(不知道,没了解过)

24.开放题:现在要设计一个新系统的SDK,软硬件都有结合,可能要不断地增加新模块,如何设计这个SDK?(有点懵,没了解过这方面的知识,举了个QT SDK中类继承关系图的例子,按自己想法答了下,一般般吧。面试官很好,还说不要紧张,能想到什么说就好了)

25.平时怎么学习的,看过哪些书

26.有什么问题要问我的


感觉大疆这轮的面试官很好,问题由浅入深,直到问到我不会为止,尤其是那道开放题,说我还不错了解过QT,中途还说不要紧张。顺便每次面试都是查缺补漏的过程,把不会的知识点都查了一遍。


【时间】2017.9.24

【形式】现场三面(终面)-20分钟

1.自我介绍

2.项目细问

3.介绍红黑树,和BST、AVL的区别,适用场景

4.介绍map和unordered_map区别,适用场景

5.C++11特性

6.智能指针有哪些,每个的区别

7.思考题:海量数据处理相关问题(64MB内存限制,1亿个数要如何如何...)

8.有什么问题要问的所有问题都答上来了,面试官对我评价不错,还算满意,说结果应该没问题的。所有人都只安排了一面,HR说让我们安心等结果就好。(国庆节后发现官网状态已变,挂了,有缘无份吧)



涂鸦移动


【岗位】游戏研发

【时间】2017.9.18

【形式】电话一面-20分钟

1.自我介绍

2.介绍一下FPS游戏的项目,很简单说了一下,也没问啥

3.C++多态是怎么实现的

4.最长回文字串的算法,要说明算法过程和时间空间复杂度

(1)暴力枚举

(2)动态规划,要解释转移方程的含义

(3)中心扩展方法

(4)Manacher算法,简单介绍了下原理

5.Dijkstra算法的原理,详细过程。说明应用场景

6.对公司有什么了解吗

7.有什么要问我的


涂鸦移动是做海外手游的,目前还在创业,游戏类型大部分是休闲类。这轮面试答得还算满意,幸好复习过算法,没有被问住,所有问题都答出来了。


【时间】2017.9.19

【形式】电话二面-20分钟

1.自我介绍

2.问了下我平时刷题经验(OJ经验)

3.介绍三种最短路算法:BFS、Dijkstra、Floyd,我自己又补充了SPFA

4.说下最小生成树Kruskal 算法

5.上一道题目引出了并查集,问了下并查集是干什么的,怎么实现

6.并查集中的路径压缩是怎么回事,有什么好处

7.学过哪些课程?图形学了解吗?(图形学不太会,我说自己了解图像处理,面试官没追问)

8.问实习

9.在学校有哪些印象深刻的事(这不是应该HR面问的么?)

10.自己在技术方面有哪些优点,和哪些缺点

11.自己有没有开发小游戏的经历

12.平时怎么学习的,看过哪些技术书籍(重点说了C++的一些书)

13.上一道题目引出《Effective C++》,让我介绍其中两个条款

14.向面试官提问


感觉公司好像很重视算法,面试也一直在问算法,还问我刷题经历。面试之前看了一些游戏相关的算法,但没被问。这次问的算法比较容易,都是数据结构的东西,信手拈来。可惜图形学不是我的强项,没太多了解。


【时间】2017.9.26

收到Offer-所有流程结束




三七互娱


【岗位】游戏研发

【时间】2017.9.19

【形式】电话一面-15分钟

没想到第一面是HR,和HR姐姐聊了会儿天,聊实习,平时的学习情况,目前有无Offer等

因工作地点和岗位没能达成一致,卒。。。所以就不安排面试了。过了很久,国庆节后又接到面试电话,要去上海现场面,因地域原因无法参加,所以放弃了后续面试。


【时间】2017.10.17

【形式】现场一面

HR要求去上海面,因为地域原因放弃面试




欢聚时代


【岗位】C++研发

【时间】2017.9.2

【形式】现场零面-15分钟

1.自我介绍

2.介绍项目

3.问平时如何学习

4.对未来的规划

5.聊天


我投的是C++岗位,可是把我安排到了音视频编码解码算法的房间,我还以为HR把我安排错了,其实是面试官把我简历看中了(当时心里暗自窃喜,没想到我简历还有被看上的一天)。面试官想先了解我一下,就把这个当成零面吧。面试官重点问了一下项目,因为他见到我做过音视频相关开发,所以问的稍微深入一点,可惜这方面了解的也不多,被问的有点惨,很多东西没听过。中途还看了我的博客,给了我一些很好的建议,他说我了解的知识面挺广,深度涉猎还有欠缺,更合适去做集成开发。我说自己喜欢做C++前端,面试官也说前端可能不好找,毕竟市场越来越小,YY的一部分产品使用QT,他说这方面我还是挺适合的。面试官对我评价也很好,见我虽然是本科,但水平还是不错的。


【时间】2017.9.25

【形式】现场一面-40分钟

1.自我介绍

2.inlie关键字有什么用

3.static关键字有什么用

4.RAII是什么(忘看这个了,没答好)

5.仿函数是什么,有啥用,和函数指针区别

6.进程间通信的方式,它们的区别

7.知道哪些锁,说一下互斥锁和自旋锁

8.TCP三次握手过程

9.SYN Flood攻击(一下子想不起来了,大概说了下,面试官说你说的这个对也不对)

10.算法题,要讲思路+手写伪代码

数组中只有1,2,3这三种数字,要进行排序(其实就是荷兰国旗问题),O(N)解决,给面试官画图讲思路,他听的很认真,我的算法也得到认可

11.再来道算法题,讲思路+手写伪代码

将一个数组分成两部分,使两部分和的差值最小(01背包变形问题)当时想了好长时间,用各种方法去尝试,但转移方程写错了,虽然没解出来但思路还是得到了认可

12.项目简单问了一下

13.向面试官提问


面试官:MXD,先做一下自我介绍吧!

我:呃...我叫FXL(尴尬,今天已经是第二个把我名字叫错了)

面试官还是挺严肃的,问我问题一直盯着我看,讲算法的时候要把每一步都讲清楚,想蒙混过关估计是不可能的。可惜的就是第二个算法题没答上来,还有几个C++的知识答得不太好。

最后问他问题,我最关心的还是岗位方向的问题,问他们是否会招C++前端的开发。

没想到反被面试官问:“你投简历的时候见上边有写C++的职位描述吗?”

我:“我记得上边有写Windows客户端...”

“嗱,说明就招呗~”

略显尴尬。。感觉这个面试官技术上很严肃,聊天还是挺有趣的,哈哈。


【时间】2017.9.26

【形式】现场二面(BOSS)-20分钟

1.自我介绍

2.项目细问

3.对音视频编码解码的了解

4.进程同步方式

5.网络编程方面(问了我一个不知道的东西,忘了是啥了)

6.聊人生

7.为啥想做PC不想做server


二面是BOSS,感觉资历很深,岁数也比较大。BOSS说他们主要招server的,前端开发这块很难说,形势一直不好,而且基本成熟了,项目可能也不合他胃口,感觉我对多媒体方面这块还是有些欠缺,GG了~




迅雷


【岗位】C++研发

【时间】2017.9.25

【形式】现场一面-20分钟

1.手写冒泡,问优化

2.面试官在纸上写了段程序,让我求类的sizeof

3.同上题,问构造函数、析构函数相关问题

4.同上题,多态、虚函数相关问题,画内存分布图

5.C++11了解哪些

6.内存池是干啥的?如何自己去设计,从哪些方面考虑?

7.上一问提到STL,问了STL几个相关的问题

8.TCP三次握手四次挥手

9.拥塞控制原理,窗口大小如何确定的

10.SYN Flood攻击

11.HTTPS加密过程

12.HTTP和HTTPS区别

13.向面试官提问


迅雷和YY面试地点都在同一个酒店,人非常多,等了好长时间。面试官也是开门见山,估计人比较多直接给我一张纸,问我知道哪些排序算法,我说基本的排序算法都了解,你让我写哪个都行~以为要写快排堆排啥的,结果让我写了个冒泡...后边让我进行优化。C++问题都没难住,主要是网络答得不太好。我感觉对自己发挥有点失望,面试官很nice,说不要妄自菲薄,对我基本满意。


【时间】2016.9.26

【形式】现场二面-20分钟

1.聊项目

2.项目中有网络,问了网络编程的一些问题

3.TCP三次握手四次挥手

4.拥塞控制原理

5.问TCP相关问题,出了个场景题,问中间可能传输什么报文、发生什么现象等

6.又出了一道思考题,和网络相关(并发的问题,细节记不清了)

7.聊人生


迅雷不愧是做数据传输的精英,几乎全程问的我网络......其实感觉答得一般般,能不能过看命了。另外做交流会的时候,发现很多都是名校,大家在一个桌子上,说自己拿了几个Offer、嫌哪家给的低拒了、哪家不好哪家钱多诸如此类问题。我就静静坐着看大佬们秀Offer......


【时间】2017.9.27

【形式】现场终面(HR)-20分钟

【结果】Offer-流程结束

HR该问的那些问题,此处略


据说有HR面挂的...我运气不错,发了Offer然后和其他一起拿了Offer的小伙伴一起吃了饭,加了好友~之后其他小伙伴要去面美团(美团我没投),另外我也去了剩下两家的面试地点。



好未来


【岗位】C++研发

【时间】2017.9.27

【形式】现场一面-30分钟

1.聊项目

2.MFC消息映射原理是什么

3.QT中的信号和槽有哪几种类型

4.模态对话框和非模态对话框的区别,可以将非模态转换成模态吗

5.控件如何随窗口大小缩放

6.有没有自绘过控件

7.进程间通信的方式

8.进程的几种状态,如何转换,画图

9.同步的几种方式和区别

10.手写二叉树非递归后序遍历,解释过程

11.手写堆排,解释过程


之前打听到好未来要手撕算法,还好临阵磨枪看了一下,都能写出来。就是刚开始QT的几个问题没答好。另外面试的这家酒店挺有趣,坐电梯要找保安刷卡才行,我刚进去按楼层没反应还以为电梯坏了。


【时间】2017.9.27

【形式】现场二面-50分钟

1.聊项目

2.音视频相关知识(尴尬,因为项目中有这块,面试官正好是搞这个的,被问了很惨)

3.有一个几M的大文件,里边存放了很多数,找出最小的K个数...在面试官电脑上编程实现TOP K,要跑出来结果

4.我上一问用的优先队列,面试官说再让我自己实现一个堆,所以把TOP K问题自己用堆又实现了一遍

5.在纸上写了段程序,类之间复杂的继承关系,让我找里边的错误(答得不好,好多没找出来)

6.聊人生


刚进门就感觉气氛有点不对,昏暗的房间里一台电脑亮着...面试官问了我项目,见我做过音视频开发问了几个问题,他就是搞这个的,所以被问的有点惨。然后开始考算法,要求上机编程实现TOP K。面试官电脑上已经打开了各种IDE:Visual Studio、QT Creator、eclipse...还有虚拟机(还有人用vim写么)。花了点时间写完TOP K,我用的优先队列,面试官说可以。但他还希望我用堆自己实现一遍,我捯饬了20分钟还是没写出来,把堆的一些思路和操作给面试官讲了一遍,他也认可。后边就是聊人生了,面试官对我印象很好,告诉我如何如何学习,C++该看哪些资料,确定我未来的学习方向~给面试官点赞。


【时间】2017.10.13

【形式】电话终面(HR)-15分钟

发Offer,HR该问的那些问题,流程结束



同花顺


【岗位】C++研发

【时间】2017.9.27

【形式】现场一面

本来还要在西安面这个的,因为时间原因,没能参加面试。网上评价不太好,对这个公司并无好感。



CVTE


【岗位】C++研发

【时间】2017.10.10

【形式】电话一面

已放弃面试

面试官在电话那头叹了口气:"唉……"。CVTE可以招人到明年,网上评价不太好,对这个公司并无好感。




盛大游戏


【岗位】游戏研发

【时间】2017.10.11

【形式】现场一面

HR要求去杭州面,因为地域原因放弃面试。




搜狐畅游


【岗位】游戏研发

【时间】10.11

【形式】视频一面-20分钟

1.自我介绍

2.聊游戏经历

3.聊人生

4.聊如何学习

5.聊实习

6.问C++看过的书

7.聊项目

8.向面试官提问


【时间】2017.10.13

【形式】视频二面-10分钟

1.自我介绍

2.聊游戏经历

3.聊人生

4.向面试官提问

(面试时间之短出乎我预料,原来面试官是总监,但不是技术出身,所以没问技术问题)


【时间】2017.10.19

【形式】视频HR终面-30分钟

1.自我介绍

2.聊游戏经历

3.聊人生

4.聊实习

5.向面试官提问

HR姐姐很好,因为是视频面,我在宿舍,室友在睡觉...被她看见了:“哎,你后边那个人是不是在睡觉...我刚才看见他动弹了一下...哈哈哈”。


【时间】2017.10.25

拿到Offer,所有流程结束。



【C/C++方面要准备的工作】

先说点别的:我主要学的C++方向,准确的说是PC开发,也就是C++前端。这个方向很难找工作,因为很多公司都投不了,比如今日头条、滴滴、美团、京东都投不了,他们不需要这个岗位。自从移动端火起来后,PC就已经是夕阳产业了,机会非常少。有人说C++不好找工作,以我的经验来看是的,C++最多的岗位是后台,也就是服务器开发,虽然大部分公司都会招,但假如你去面试,十个面试官八个是Java,你和面试官聊什么?通过了还可能被劝要不要转Java\PHP之类的。另外C++也确实不好学,因为在上学时,很多东西不知道该怎么学,或者说该学什么才能去找工作。
一、要看的书

《编程之法》,七月算法CEO的书,还是可以的,题目多,但讲解比较少

1.《C++ Primer》,面试必看,至少看一遍,除了语法部分要大部分看懂,重点看C++11的介绍

2.《Effective C++》,面试必看,是一本C++面试前的快速复习书,面试官也爱问这里边的问题

3.《深度探索C++模型》,面试必看

4.《STL源码剖析》,面试必看

5.《More Effective C++》,可以看一下,但不是必须

6.《C++编程思想》,可以看一下,但不是必须

7.《C和指针》、《C专家编程》、《C语言陷阱与缺陷》,可以看一下,但不是必须

以上是找C++方向都要看的书,不管是找服务器开发、游戏开发、PC开发都要看的。


接下来就是按方向分了,

A.服务器开发方向:《UNIX环境高级编程》、《UNIX网络编程卷一》、《UNIX网络编程卷二》、《Linux多线程服务端编程—使用muduo C++网络库》、《TCP/IP详解卷一》

B.游戏开发方向:这部分比较杂,《计算机图形学》必看,常用游戏算法也要会。如果是引擎方向,D3D和OpenGL要经常用,Windows编程;如果是客户端开发,Unity要会熟练用,最好有demo。

C.PC开发方向:这部分也很杂,我也不知道该怎么准确地去定义,我就说一下我看过的吧:《VC++深入详解》、《QT Creator快速入门》、《QT Creator与QT Quick开发实战》、用到其他技术:ffmpeg、OpenCV、OpenGL去看别人博客。


算法一定要看的书:

《剑指Offer》,必看不解释,代码最好都实现过一遍

《程序员面试代码最优解—左程云》,牛客网知名讲师,书里的代码都是Java版,都非常好

《编程之美》,偏理论,里边有些不好懂


其他方面最好要看的书:

《计算机网络:自顶向下方法》:最好看一下

《TCP/IP详解卷一》:有时间就看

《图解TCP/IP》:浅显易懂

《图解HTTP》:浅显易懂

《现代操作系统》:有时间就看

《Head First设计模式》:有时间就看

《深入理解计算机系统》:有时间就看

《程序员的自我修养》:有时间就看


个人认为重要程度:基础知识>算法>网络>>操作系统>数据库。前三个一定要重点看,操作系统和数据库知识够用就好。


二、校招准备的项目

A.服务器开发方向:HTTP Server、FTP Server、高并发聊天室等

B.游戏开发方向:游戏引擎、各种游戏demo等(卡牌、RPG、MMORPG、文字剧情型、FPS、休闲类)

C.PC开发方向:聊天室、note book、输入法、多媒体播放器、ERP、小型GUI引擎、小工具、插件等,尽情发挥自己想象。最好做的美观点,毕竟是前端当然这是校招准备的项目,做简单点能体现自己水平就行,和实际工作项目是不能比的,只要是自己认真做的,肯定和面试官是有的聊的。


三、可以体现优势的地方

1.基础扎实,这已经是不能叫优势的地方了,只要认真看过书,认真复习背过书,项目自己做,基本都可以达到这个水平。

2.阅读开源项目:比如muduo、libevent、Linux源码、OpenCV源码等

3.个人博客:平时多写点文章,最好有自己的开源项目,GitHub STAR数量

4.算法FLAG:不是ACM金牌一般做不到,大部分人在这方面无能为力

5.名企实习:很重要,不解释


【校招常识】

1.关于简历:一页纸就够了,1/3写个人信息和教育经历,1/3写项目,1/3写技术栈+奖项

2.简历最认可的奖项是ACM类(至少拿个铜),然后是名企比赛(天池大数据,百度之星,GCJ等),然后是电赛,最后是一个比较水的数学建模。其他比赛基本不认可

3.等级证书只要四六级就够了,有些大公司对四六级还没要求,最好有个四级吧。千万别把计算机二级写上去,否则你会被笑死

4.能体现优势的地方:第2条里的奖项,双985学历,名企实习,个人博客,优秀项目(访问量大、下载量高、star多)

5.关于笔试:笔试是个坑,能跳就跳,个别公司内推是免笔试的(如阿里)。有些时候笔试感觉非常好,编程AK,但还是没面试。我也和很多人讨论过这个问题,得到的答案如下:

一方面是看自己能力,一方面是看公司筛选标准。有的公司是严格按照笔试成绩排名筛选进面试的,有些公司是提前根据简历判断,如果简历优秀,笔试成绩不是太差也能进面试试。如何评估简历优秀呢?包括你的学历:是否双985?拿过ACM奖牌吗?是否有名企实习经历?项目是否和需求对口?如果以上什么都没有,那么就很困难了,如果不找内推你很可能面临简历被刷的情况;如果参加了笔试,需要比别人做的好很多才可能进面试。

6.面试\笔试完很久没消息就当默认被挂了吧,赶紧去找下家

7.如果面试时听到这些话:“你觉得自己还有什么优势没表现出来”、“我觉得你该适合去考研”,那人家多半是不想要你了

8.有些面试是一站式的,如果别人一天连续三面,而你只面了一两面,那多半不是挂了就是备胎;如果大部分人三面,而你是四五面,那么恭喜你,可能是SP

9.如果是HR现场面,最好早点去,Offer先到先得

10.口头Offer不靠谱,一定要拿到正式Offer再停止找工作,否则就一直投简历一直找工作,千万别停


【其他】

2018校招薪资爆炸的公司:今日头条、滴滴、大疆创新......直接秒杀BAT

2018校招最大的梗:建议去华为实习(微笑)



================================================================

以后想到什么再补充,先写这些

猜你喜欢

转载自blog.csdn.net/flx413/article/details/78376568