微信(两轮技术+两轮面委+一轮hr)面经如下
一面:
从10点面到12点
- 自我介绍
- Linux虚拟地址空间如何实现(扣的很细,我只答出了60%左右)
- 操作系统内存置换的算法(扣的很细, 我只答出了50%左右)
- 操作系统的内核(扣的很细,我只答出来几个基础概念)
- Linux操作系统用户态和内核态的切换
- 从组成原理的角度解释一下操作系统
- Linux操作系统和Window操作系统,说你知道的
- 操作系统的段页式管理
9.Linux是段页式吗?
10.Window操作系统的一些问题,记不清了
- 从一个cpp文件到一个进程的整个过程操作系统都做了什么
12.进程和线程的区别
13.从操作系统的角度说一下epoll模型
14.从网络通信的角度说一下epoll模型
15.epoll涉及的用户态和内核态的转换问题
16.C++11智能指针
17.auto关键字相关的问题
18.左值右值,左值引用和右值引用
19.=delete,=default
20.AVL,RBTree,B B+ Tree,跳表都说一说
21.反射的知识
22.密码学和信息安全的知识(各种加密算法)
23.你擅长什么我再稳一点(我说数据结构,balabalabal,问了写Google搜索用了哪些数据结构)
二面:
2点30面到3点40
算法题:leetcode第4题的升级版“寻找k个正序数组的中位数”(我写了20多分钟才写出来)
- 自我介绍
- TCP粘包(抠得很细)
- TCP的八股文
- 如何增加上面代码(指的是算法题的代码)的可读性
- 如何提升上面代码 (指的是算法题的代码)的健壮性
- http的八股文
7.在腾讯和字节跳动实习的收获分别是什么(我:感觉在字节写的代码比腾讯多。面试官笑而不语)
- 那就说一下你在字节做的东西
9.SQL注入攻击是什么,然后如何防范
接下来就是对着简历问了
- 怎么体现你喜欢读优秀的代码这一点(balabalabala说了好多)
- 怎么体现你喜欢编程这一点
- 为什么不喜欢做客户端
- 以后的职业规划
- 家是哪个省的
6.我们组都是写业务代码的,你说说业务代码和你ACM的区别
面委面:
面委1:三道算法题10分钟a完,然后面试官就说过了
面委2:(总共15分钟)
说一下项目。
如何用管道实现父子进程间的双向通信。答:用两个。面试官:可以很棒
抖音(三轮技术面,还没进行hr面)
抖音一面:
- 自我介绍
2.会不会Go
3.进程和线程的区别
4.多进程和多线程的区别
5.线程数与CPU核心数的公式
6.TCP和UDP的区别
7.http请求有头里面有哪些字段
8.线程同步的方式
9.进程间通信的方式
10.一道算法题
抖音二面:
1.数据库会吗?(我说:不会)
2.死锁的必要条件
3.死锁的检测和预防
4.死锁的避免
5.页面置换算法
6.进程调度算法
7.线程同步方式
8.TCP三次握手,四次挥手,已经保证安全的算法
9.两道算法题
10.两道设计题
抖音三面:
1.一道设计题
2.三道算法题
3.一道智商题
4.FDFS和HDFS的区别
5.FDFS和HDFS的容灾
6.在浏览器输入一个网址会发生什么事
7.为什么不直接在实习的部门转正
8.你实习的部门用没用用到我们部门开发的框架
9.说项目
10.说一下你在字节的实习
11.说一下你在腾讯的实习
12.一道算法题
百度(三轮技术面,还没hr面)
一面:
- C++多态,虚函数
2.static的作用
3.auto关键字
4.手撕单例模式
5.操作系统的内存管理
6.用户态和内核态的切换
7.select,poll,epoll
8.手撕线程池
9.两道算法题
二面:
- C++的基础知识问了一堆
- vector push_back的实现
- sort的内部实现(我说是三路快排+插排)
- 手撕三路快排
- 实现一个循环队列
- 实现一棵字典树
- 实现一棵AVL
- 实现一个跳跃表
- 实现一个堆
三面:
- 问了一道设计题
2.为什么不留在字节?
3.为什么不留在腾讯?
4.为什么要拒绝阿里?
5.为什么首选华为?
6.怎么看待996?
7.怎么看待百度?
8.对薪资的要求?