2019百度实习C++后台开发面经 (口头offer)
12.11 更新:已拿口头offer,邮件offer迟迟未收到。
其他面经传送门:https://blog.csdn.net/zxwsbg/article/details/103499632
一面
- static 和 普通的全局变量有什么不同。它在类里面又有什么特点
- malloc和new的区别
- malloc分配的是物理内存吗
- C++程序有哪几个段
- 可以只有堆没有栈吗
- 为啥要有页表,直接查物理内存它不快吗
- vector内存是咋分配的
- 知道线程池吗
- 红黑树和平衡二叉树有什么区别
- map和unoderedmap的区别
- 哈希表满了,效率变低怎么办
- 死锁是什么?怎么解决
两道完全不会,三四道答的不好,居然也过了一面。
二面
一天以后接到的二面电话。
- 一面中有哪些印象深刻的地方(我把我没答出来的题复述了一遍,因为去网上查过了)
- 说说虚函数咋实现的,咋用的
- const引用和const *啥区别
- .....一些挺基础的C++问题,不太记得了
- 你还擅长啥(算法),那我问你个算法题:假如有n个字符串,要求匹配一个模式串p,问哪些字符串里面出现了p,用什么数据结构维护(trie树)
- 还是上面那个问题,不让你用trie树了,用O(1)实现,怎么解决(我傻了,读进来不都O(n)了吗),面试官补充:假如已经在内存里了,然后提示是用字符串哈希做...觉得有点诡异
二面加面
二面面完了5分钟,面试官打电话来要加一轮代码面。
- 已知字符串a,b,长度分别为n1,n2,假设编辑距离函数为funcD(x, y),请设计函数,返回字符串a中与b编辑距离最小的子字符串;
- 假设有平衡二叉树s,有2个叶子结点,请设计函数查找并返回最近公共祖先;
第二题比较简单,3分钟写完,通过平衡二叉树的性质可以推出一个很简单的递归。
然后翻过来写第一题,从一个ACM选手的角度来说,这题出的有点莫名其妙,选两个长度都是1的子串不一定最优吗?然后瞎写了个算法,面试官也给过了
三面
部门经历面。就聊聊人生,问问有啥爱好,有无女朋友(又提起了伤心的往事),什么时候能来之类的。然后就说:“过会给你发邮件offer。”
这一过就是七天。
#百度##C++工程师##面经##校招#