秋招总结(内附C++高频面试题)

0 写在前面

秋招在牛客网上受益匪浅,主要包括秋招的知识储备、面试经验分享以及招聘信息获取。非常感谢热于分享的牛友们,也想把自己的经历整理出来,帮助到有需要的人。

1 个人情况

楼主普通双211水硕,绩点还行,ACM铜铁选手,本科毕设有一个实验室划水横向项目(C#WebForm框架),研究生搞了一年算法没成果,2019年初决定转C++。在牛客上找了几条C++的精华贴,便照着书单一本一本看,中间掺杂着实验室杂事和小论文的事情,个人的时间规划能力比较弱,复习效果一般般,最终也没搞出个C++的项目。七月末开始疯狂投简历,提前批基本全挂,九月初拿到猿辅导offer后开始转运,十月拿到锐捷、亿联、吉比特offer,十月下旬有幸拿到网易互娱游戏研发、滴滴国际化、百度地图的offer

2 秋招经历

秋招投的基本是C++相关的岗位(没有的就投后端开发),总共投了36+份简历,16家公司给了面试机会,总共与27个面试官进行了交流,最终拿到7offer,每个offer都来之不易,非常满意,感谢这些公司对我的认可,给了我继续前进的动力。

2.1 OFFER(7)猿辅导、百度、网易互娱、滴滴、锐捷网络、吉比特、亿联网络。

2.2 中途放弃的(3)海康威视、拼多多、华为、4399

2.3 失联的(5)字节跳动(1面后失联)、网宿科技(1面通过后失联)、美团点评(内推后失联)、京东(笔试后失联)

2.4 面试挂(6)腾讯WXG(1面挂)、深信服(2面挂)、趋势科技(1面挂)Shopee(1面挂)360(2面挂)、贝壳找房(1面挂)

2.5 笔试/测评挂(7)网龙、中兴、B站、东方财富、携程、富途、快手

2.6 简历挂(8)虎牙直播、ZoomThoughtWorks、追一科技、作业帮、昆仑万维、瓜子二手车、厦航。

3 帮助最大的材料

牛客精华贴1https://www.nowcoder.com/discuss/147538

CyC大佬的github链接:https://github.com/CyC2018/CS-Notes

牛客精华贴2https://www.nowcoder.com/discuss/57978

刷题平台:LeetCode、牛客上的剑指offerLeetCode上讨论区里面的Most Voted方案很有参考价值。

记笔记工具:幕布,一款能够自动将列表转化为思维导图的应用,跟百度三面面试官聊到了这个,感觉是个加分项。

简历制作工具:wondercv

4 关于书籍

4.1 看过的书:剑指offer、现代操作系统、CSAPP2和第3部分、计算机网络自顶向下方法、C++ PrimerEffective C++、侯捷老师的STL源码剖析。

4.2 没看但觉得很重要的书:深度探索C++对象模型、apueunplinux内核相关、redis设计与实现、Head First设计模式、TCP/IP详解。

5 关于心态

心态最炸的是8月份,面完360后极度怀疑自己,在床上躺了一天。楼主调节心态的方式是面试之前暗示自己,只要把会的知识点讲清楚就行,不会的通过复盘查缺补漏,尽人事听天命,尽力就不后悔。所以楼主一路走来感觉很踏实,会的都努力讲好,不会的也会尝试在面试官的引导下解答,基本都能正常发挥。楼主这边推荐一个网易公开课上的“积极心理学”课程,这门课程给楼主带来了很多正能量。

6 高频面试题

楼主根据自己的面经,整理了一份按频次排序的面经合集,括号里面为被问到的次数,基数为27场。原料取自:https://www.nowcoder.com/discuss/334298

6.1 C++

1、STL容器(vector, list, set, map),一般问vectorlist区别,vector扩容,setmap底层红黑树这些?(8)

2、C++内存管理?mallocnew的区别?野指针?内存泄漏?(6

3、智能指针(shared_ptrweak_ptrunique_ptr)?手撕shared_ptr?(5

4、C++多态?虚函数如何实现?(3)

5、staticexternconstvolatile关键字?(3)

6、构造函数可以是虚函数吗?析构函数可以是继续函数吗?为什么析构函数要定义为虚函数?(2)

7、声明和定义的区别?(1)

8、指针函数和函数指针?(1)

9strcpy的问题?(1)

10、指针常量?常量指针?(1)

11、深拷贝与浅拷贝?(1)

12、右值引用?(1)

13、脚本语言懂吗?(1)

14、类对象的大小?内存对齐?成员函数是否占空间?·(1)

15C/C++python的本质区别?(1)

16C++异常机制?(1)

17pythonGC机制?(1)

18structclass的区别?(1)

19、面向对象与面向过程的区别?(1)

20C++重载与重写?(1)

6.2 操作系统:

1、进程与线程的区别?线程池?什么时候用进程?什么时候用线程?(9)

2、进程之间的通信方式?(6)

3、了解协程吗?(4)

4、linux基本命令?psgreptop等?强行杀一个进程怎么杀?glibc是干什么的?(4)

5、进程调度算法?抢占式非抢占式?(3)

6、虚拟内存机制?mmu(3)

7、什么叫死锁?死锁必要条件?避免、预防、恢复、检测?(2

8、selectpollepoll(2)

9、静态链接与动态链接?(2

10、手撕LRU页面置换算法?(2)

11、怎么保证线程安全?(2

12、线程之间的同步方式? (1)

13、同步、异步、阻塞、非阻塞?(1)

14、操作系统拿来干什么的?(1)

15、进程切换?(1)

16、进程的内存空间分布?堆与栈的区别?为什么用堆这种数据结构?(1)

17、操作系统的用户态与内核态?(1)

18linux常见信号?kill -9?进程组?Group IDPPID什么区别?(1)

6.3 计算机网络:

1、TCP/IP三次握手(为什么三次)、四次挥手(为什么四次)、滑动窗口、流量控制、拥塞控制?(10)

2、socket编程了解哪些?(9)

3、http状态码?(3)

4、http报文结构?getpost的区别?postput的区别?还有哪些请求头?post可以在url里面携带参数吗?(3)

5、TCPUDP的区别?(3)

6、计算机网络7/5层结构?各层常见协议?(2)

7、httphttps的区别?http的加密方式?(2)

8、消息队列有用过吗?(1)

9、介于TCPUDP之间的一些协议?(1)

10、两台机子互ping的过程?(1)

11TCP的粘包问题怎么解决?(1)

12、网络库有用过什么?(1)

13IP层如何找MAC地址?如果对应IP不在局域网呢? (1)

14、网桥?虚拟设备对?(1)

15ARP攻击,ARP欺骗?(1)

16UDP数据报文多大?(1)

6.4 数据库:

1、B树与B+树?(4)

2、乐观锁&悲观锁?如何实现?(3

3、联合索引?最左匹配原则?(3)

4、数据库事务?mysql事务隔离级别?(2)

5、数据库索引有哪些?(2)

6、redis了解吗?一致性哈希如何优化(虚拟结点)(2)

7、数据库引擎(innodbmysima)(2)

8、数据库优化(如何定位慢查询?如何改进?)(1)

6.5 算法与数据结构:

1、动态规划介绍?(4)

2、红黑树?(3)

3、哈希函数设计?哈希冲突的处理方法?(3)

4、常见排序算法?时间复杂度?基本原理?手撕快排?(3)

5、最短路算法介绍?如何优化?(2)

610亿行32位无符号整数,找出第7亿大的数是多少?只给300M内存?(2)

7、扫雷写一个随机埋n个雷的算法(洗牌算法原理)?  (1)

8、链表反转?(m到第n个?每隔k个?(1)

9、一个n位数,现在可以删除其中任意k位,使得剩下的数最小(前导零忽略)(1)

10、有符号大数链表加法,靠近头结点为高位?(1)

11、二叉树中序便利后继结点?(1)

12、无向图的联通块?(1)

13、手撕并查集?(1)

14、链表合并?(1)

15、有序链表删除重复结点?(1)

16、二叉树根到叶子的路径和为sum的路径?(1)

17、二叉排序树第三大结点?(1)

1820个银币,1个金币,每次拿1个到4个,金币只能最后一个拿,且金币银币不能同时拿,现在你先开始拿,问如何拿到金币?(1)

19、环形缓冲区?(1)

20、斐波那契数列求第n(递归、迭代、矩阵快速幂、公式)(1)

21、二叉搜索树的插入?(1)

22、分解质因数?(1)

23500个数组,每个数组有500个元素,从大到小排序好,找出前500个最大的数?(1)

24、旋转数组找最小值?(1)

2510亿个IP,取出频次出现最多的TOP10IP(1)

6.6 项目:

1、项目介绍?项目难点?遇到的困难?为什么这样技术选型?(13)

2、科研课题介绍?难点?创新点?科研课题的实际应用场景?(5)

3MVC三层架构?(1)

4、权限管理?用户登录验证?(1)

5、服务器宕机怎么排查错误?(1)

6.7 开放性问题:

1、设计一个红包系统?红包的分配在什么环节去分配?金额在发的环节去分配还是在抢的环节去分配?怎么随机分配?需要考虑哪些问题?(1)

2、估算一个上班区域一天的营销额?(1)

3、微信搜索附近的人怎么设计?(1)

6.8 其他问题:

1、自我介绍(开始)?有什么想问我的(结束)(18)

2、手头offer?怎么看待这些offer(地点、薪资、平台、岗位等)?意向的工作城市?(7)

3、对公司了解吗?对求职岗位了解吗?胜任岗位的优势?为什么选这个岗位?对未来职位的兴趣点?(5)

4、课外关注的技术?有没关注开源社区?是否了解当前热门技术?(5)

5、你的优点/你的缺点?(3)

6、设计模式了解吗?手撕单例?工厂模式为什么不直接用构造函数?(3)

7、加密算法?MD5加密算法?(3)

8、怎么看待算法岗和开发岗?(2)

9ACM经历?如何团队协作?(2)

10、编译原理了解吗?(2)

11、期望薪资?(2)

12、最近看的书?(2)

13、遇到的最困难的事情?(2)

14、学习某个技术需要的时间周期?(2)

15、有比较崇拜的人吗?(1)

16、特别有成就感的事情?(1)

17、职业规划?个人优势?(1)

18、正则表达式?(1)

1953个人中,任选3个人至少有两个人生日相同的概率?(1)

20、平时的学习习惯?(1)

7 遗憾的事情

1、研一入了算法的坑,中途发现自己太菜搞不动。

2、春招的时候没有去实习,没有投简历。

3、秋招计划安排不够详细,走一步算一步,导致最终没有C++项目,很多书没时间看。

8 有趣的事情

1、觉得能过的却挂掉了,觉得没有希望的却拿到offer了。秋招不要把自己吊死在一棵树上。

2、面试时长最短8分钟,最长1个多小时,基本没有HR面。

3、发现ACM+C++投游戏岗位真香。

4C++选手最后要投敌加入Java阵营了。

5、想重新对面试官小哥说,我最崇拜的人不是技术大牛,而是IU小姐姐。

9 写给未来的自己

多锻炼身体、多看书、造一些轮子、做一些有挑战性的事情。

#校招##C++工程师##面试题目#
全部评论
赞。
4 回复
分享
发布于 2019-11-04 21:03
哈哈老哥真棒
1 回复
分享
发布于 2019-11-04 22:19
博乐游戏
校招火热招聘中
官网直投
猿辅导太香了!
1 回复
分享
发布于 2019-11-05 15:07
谢谢楼主分享
1 回复
分享
发布于 2020-03-22 00:11
另外能问一下最后老哥的面试项目是什么吗
点赞 回复
分享
发布于 2019-11-04 22:20
楼主没实习吗
点赞 回复
分享
发布于 2019-11-04 23:55
请问数据库应该看什么书呢?
点赞 回复
分享
发布于 2019-11-05 20:20
谢谢楼主啦
点赞 回复
分享
发布于 2020-01-07 17:21
点赞 回复
分享
发布于 2020-01-07 19:58
谢谢楼主分享
点赞 回复
分享
发布于 2020-01-12 23:58
感谢楼主分享,借个楼发个美团内推感谢
点赞 回复
分享
发布于 2020-03-22 12:13
楼主最后投递java是啥意思
点赞 回复
分享
发布于 2020-05-29 23:23
老哥现在发展的如何了,我做通信沾点机器学习,目前刚研二决定做开发/通信算法了,主要还是想做开发。
点赞 回复
分享
发布于 2020-11-29 21:47
打卡
点赞 回复
分享
发布于 2023-05-18 21:10 北京
太强了
点赞 回复
分享
发布于 2023-06-17 10:26 香港

相关推荐

部门介绍自我介绍短连接是你自己的项目吗?(回答做了一点优化,详细说了一下)说一下布隆过滤器为什么你项目说布隆过滤器比分布式锁好,怎么比较的先更数据库再删缓存怎么保证一致性(我提了一嘴会有短暂不一致)短暂不一致怎么办(不会)如果删除缓存的过程中出现问题怎么办(我提到用canal读binlog到消息队列)如果缓存是新的,消息队列的数据是旧的怎么办(寄,只说了个乐观锁,不知道怎么实现)分表怎么考虑的数据量怎么考虑的,做测试的时候数据库表里有多少数据(偷懒没做,牛友们别学我)redis怎么保证数据不丢失aof、rdb写时复制会阻塞吗rdb不就是个快照吗,数据修不修改跟它有啥关系(这个没太理解,面试官让我再看看)bigKey了解吗,会有什么问题Innodb和MylSAM的区别三层的B+树存储的数量级是多少普通索引的过程联合索引是一棵树吗你项目上的消息队列幂等怎么做的手撕:1、冒泡排序和优化(优化面试官觉得不行)2、一个n+1长度的数组,范围1-n,只有一个重复2次,说解题思路(Hash,循环、环形链表、相加再减、异或位运算都说了,实在想不出来了)反问:大概什么时候出结果(一周)腾讯云主要什么语言(python和go,java很少)腾讯现在hc多吗(不清楚,他们面的话就有)总结:问了面腾讯云的同学面经,一直在看计网和操作系统,mysql和redis快忘光了,秋招再战
点赞 评论 收藏
转发
197 1029 评论
分享
牛客网
牛客企业服务