腾讯网易百度面经(C++,后端和iOS岗)
211通信本硕,自己搞了差不多一年的时间,学C++,通过面经学操作系统和计网,通过刷题学数据结构和算法
楼主现在入职字节抖音iOS了,以这个帖子为媒介搞点内推。有想来抖音iOS的可以联系我,深圳最好,北京也可以,想去其他岗位的也可以帮忙推,只不过我们团队是深圳的iOS,真的很缺人。
腾讯因为是提前批的,所以很多问题不记得了,见谅!
腾讯PCG一面(1h)
1.进程和线程的区别
2.死锁的原因
3.介绍虚拟内存
4.常见排序算法,排序算法稳定的意思,快排的复杂度什么时候退化,基本有序用什么
5.TCP可靠性
6.http+https
算法:Z字遍历二叉树,归并排序
后面说因为我不会java和安卓,会帮忙转推到iOS的组(面试的这个组是java客户端)
腾讯PCG iOS一面(1h)
1.聊项目,聊了很久,一开始没有意会面试官想知道什么,最后说是想知道我这么做比起从客户端自己去实现的区别(这个项目是小米实习时候的项目,做的浏览器内核,页面翻译功能,
基本每一个客户端应用都会有一个类似于浏览器内核的东西,对页面进行渲染,呈现,也可以叫渲染引擎,学前端的肯定知道这个东西,他主要是解释html,css,js的。
我做的这个页面翻译功能可以不经过内核直接由客户端工程师用安卓客户端实现整套逻辑,所以这么问我了)
2.实现string类,实现构造,析构,里面加一个kmp
3.介绍智能指针,智能指针保存引用计数的变量存在哪里,引用计数是否线程安全
4.算法:两个只有0和1的数字序列,只能0 1互换,每次当前位互换都会使后面的也换掉(比如,011000,换第二位,成了000111),计算从一个变到另一个需要几步操作。
5.https,验证公钥有效的方法,为什么非对称对称并用
腾讯PCG iOS二面 (40min)
1.算法:合并排序链表
2.static关键字的作用
3.const关键字的作用
4.成员初始化列表的作用
5.指针和引用的区别
6.又是很久的项目,怎么去学习浏览器内核(chromium内核的代码量有几千万行,而且写的很难懂,用了大量的设计模式,作为一个菜鸡真的很痛苦)
,怎么去调试项目中遇到的问题(这里主要是一个ipc接口没用对),你觉得人家google的是怎么去调的,你为什么和人家做法不一样?
腾讯PCG iOS三面(2h)
1.还是聊了很久项目(已经麻了,做过的东西一定要能说出口)
2.浏览器呈现一个页面经过了哪几步(DOM树,layoutobject树,browser进程绘制)
3.C++多态的实现
4.DNS解析,递归与迭代的区别
5.chromium用的渲染引擎是什么,这个渲染引擎对应的js解释引擎是什么(blink和v8,前几个问题表现有些差,这会在问一些1+1的问题了,哭)
6.平时怎么学习技术的,看过哪些书,有过哪些输出(我把实习时写的项目wiki给截了个图)
然后反问,打开牛客让我写了个代码,他不知道去哪了,我自己在这写,写了一个多钟头,你以为这是道很难的题吗?no,是我那会确实很菜,哈哈
题目是,给一个字符串插入最少的字符,让这个字符串变成回文
腾讯 hr面 (40min)
1.有哪些缺点
2.投了哪些,为什么不投阿里头条(实习忙的我面你们都要面不过来了)
3.如何选择offer
4.家是哪的,为什么愿意去深圳
每一个问题都不是简单的答完就完事了,他会跟着问很多
然后反问时我问问题给我说了20分钟
腾讯是第一个offer,那会菜得很,大佬们对我的评价估计也一般,所以offer档位很低,但可气的是我明知道面试评价不怎么地,还躺了,难受了好久,参加了一波补招
网易杭研补招,也挺久了,回家后事情多也给忘了很多,见谅!
网易杭研C++一面 (1h):
上来给我介绍了一下团队是做数据库内核的,唠了一会磕
1.操作系统八股文(进程线程,虚拟内存,页面置换)
2.计网八股文(TCP,TIME_WAIT,为什么四次)
3.C++八股文
4.操作系统有哪些模块(想到啥说啥,最后他说他们比较注重io,我以为要问我epoll八股文,结果问了内存访问磁盘数据的过程,gg)
5.算法:判断链表有环,找到环的入口
网易杭研C++二面 (1h)
项目聊了十几分钟,实习快结束时遇到一个难缠的bug,后面每次讲项目时,都把面试官注意力转换到这个bug上了
1.虚函数实现原理
2.虚表存在哪里
3.C++内存分区
4.内核态用户态的区别
算法:寻找第K大的数
网易杭研C++hr面 (20min)
1.为什么想来网易
2.为什么想来杭州
3.做过什么疯狂的事(和室友们一起不复习,然后一宿舍人一起挂科,哈哈,玩的有点过)
4.有哪些offer,价格
5.网易不给offer怎么办
过了两天说是前面评价不错,邀请总监面 (40min)
1.还是项目,三十分钟的项目,这是我讲项目最详细的一次
2.希望往哪个方向发展,希望以后做哪方面的技术
3.反问(其他的每轮面经也都有反问,只是我个人认为总监面的反问环节可能更重要些)
最后的offer是sp
百度搜索架构部后端面经
一面(1h)
vector扩容机制
一个vector保存了十个int,这个vector对象的大小
vector调用clear后,保存的对象有没有被析构
还有一些c++的常见问题,忘了
数据库用过没(知道一些理论,没怎么用过)
网络编程接触过没(接触的不多)
项目(20多分钟)
代码:判断二叉树是否对称,递归+迭代
寻找第一个大于k的数组(就是个二分)
反问
vector扩容机制
一个vector保存了十个int,这个vector对象的大小
vector调用clear后,保存的对象有没有被析构
还有一些c++的常见问题,忘了
数据库用过没(知道一些理论,没怎么用过)
网络编程接触过没(接触的不多)
项目(20多分钟)
代码:判断二叉树是否对称,递归+迭代
寻找第一个大于k的数组(就是个二分)
反问
二面(1h)
闲聊一会
你给我解释一下浏览器内核,让我知道这是什么东西
你在浏览器内核里面做了什么,主要是用了他哪部分功能,浏览器内核还有什么功能,广告过滤让你实现你会怎么实现,还能怎么实现,我这么实现行不行(呈现的时候根据元素内容判断是否呈现),不行(开销太大)
项目中有没有用到进程间通信(用人家写好的api)
说说进程间通信(就是让说个八股文)
c-s之间保持会话要怎么做(session),之后引申了很多问题,花了二十多分钟
代码:根据前序遍历和中序遍历构建二叉树
反问
算法题都千篇一律了,我也不知道为什么我写算法题时基本没有被为难过😂😂
三面(20min)
问问职业规划,实习生活,对自己手里几个offer的看法这些。
#腾讯##网易##C++工程师##iOS工程师##面经##校招##百度#闲聊一会
你给我解释一下浏览器内核,让我知道这是什么东西
你在浏览器内核里面做了什么,主要是用了他哪部分功能,浏览器内核还有什么功能,广告过滤让你实现你会怎么实现,还能怎么实现,我这么实现行不行(呈现的时候根据元素内容判断是否呈现),不行(开销太大)
项目中有没有用到进程间通信(用人家写好的api)
说说进程间通信(就是让说个八股文)
c-s之间保持会话要怎么做(session),之后引申了很多问题,花了二十多分钟
代码:根据前序遍历和中序遍历构建二叉树
反问
算法题都千篇一律了,我也不知道为什么我写算法题时基本没有被为难过😂😂
三面(20min)
问问职业规划,实习生活,对自己手里几个offer的看法这些。