C++春招面经
基本情况:985研二,临时起意找工作,从4月底开始投递简历,最近才走完流程。。
蚂蚁金服C++ :
一面:
自我介绍和聊一聊项目经历
我的项目比较水,就说了说做的小组件和搞过的数模比赛。。。。
引用和指针的区别,两者传递参数的区别和使用场景。
多态的种类,实现多态的方式,多态实际应用的场景,如何设计一个多态的例子。。。
B+树的介绍,特点(与B树的区别),添加删除操作,是否是平衡树,B+应用场景和他的优势,B+树最坏情况下浪费的空间复杂度(???)
常见排序算法介绍,最好最坏平均的时间复杂度,空间复杂度,稳定性,超大规模的数据并且经常进行插入删除操作如何排序(堆排序)
有n+1个数,范围是从1到n,有一个数是重复的,如何找到这个数(哈希表)
不使用哈希表的情况下(标记数组)
时间复杂度O(n),空间复杂度O(1):通过加n标记是否访问过数字对应下标
个人规划
反问
二面:
首先介绍了一下部门的情况
自我介绍
深挖项目(整个项目的背景,进行过程,优化步骤和可改进的地方)
进程与线程的区别
多个链表合并,时间复杂度的计算过程
反问
三面:
深挖项目
数模竞赛相关
进程与线程间共有与私有的资源,通信方式和同步手段
三次握手与四次挥手,为什么不是两次握手链接,time wait与2msl,如何避免无效链接产生(限制链接数量,设置链接等待时间)
https链接过程,加密方法以及随机数如何传递
隔离级别与MVCC,简单说一下实现方式
算法:超长字符串转数字
多次买卖股票问题
未来的职业规划
反问
拼多多:
一面:
自我介绍
项目介绍
HTTP与HTTPS介绍,区别,HTTPS加密过程
进程和线程的区别
URL解析过程
两道算法题:反转链表和动态规划0-1背包问题
二面:
自我介绍
项目介绍
进程和线程的区别
http与https:常见命令,cookie与session,状态码,长短链接,SSL加密过程,https优缺点与解决方法
系统堆和栈的区别,如何打爆一个栈(递归)
算法TOPK,自己实现堆功能
三面
自我介绍
项目介绍
常见进程调度算法
段页存储
用户态与内核态的区别
算法:字符串乘法
总结:
二面一般都是最难的,考察的内容比较灵活,相对来说三面就较为轻松,很多时候以聊天的形式度过了。另外一定要对自己的简历十分熟悉,简历的项目细节要明确。
(我的蚂蚁一面合并了一二面的内容,既有简历评估也有基础内容和情景题,面试官人很好但是很严格,每个问题都一直问到我不会,而对于我说的不准确的和不全面的问题也会给予解答。)
最后最重要的是千万不要慌!!!!!慌了就凉了一半了。