字节游戏中台一面2020/12/1/14:00(一个小时)
闲聊
- 自我介绍:只说了学校
- 实习时间
- 上一段实习时间(两个月?)
实习经历
- 实习经历
- ++++++
- ++++++
- ++++++
- ++++++
- ++++
- ++++
- ++++
- 用的数据库,mysql
mysql
-
你一般用的什么存储引擎:默认那个innodb
-
事务的四种隔离性:
- 未提交读
- 提交读
- 可重复读
- 序列化
-
序列化解决了什么问题:幻读
-
什么是幻读
-
用什么实现了可重复读:mvcc
-
具体讲一讲mvcc
- 版本链
- 阅读视图
-
有没有听过**锁:没有
-
说一下B树和B+树:
说了相同空间下,B+树的高度比B树矮的优点
-
只看数据结构呢,从查询的角度:
B+树更好地进行范围检索
-
B树在什么情况下比B+树要好:。。。不太清楚
-
知道monngodb吗,它用的B树:只知道名字,没去看过
网络编程
- 做过网络编程吗:只是看过,但是没有自己实现过
- 实习中有搭过http服务器吗:没有,实习时间比较短,没有接触过这方面的代码
c++基础
- 说一说模板和类的区别:说的不太好
- 指针和引用的区别
- 指针指向地址,引用自身就是地址
- 指针是固定8字节大小
- (提示)指针可以为空,引用声明的时候需要初始化
git
- 用过git,说一下git的命令:一些简单的,add,commit,push,status这些
- 知道rebase命令吗:好像是撤回?
- 不,也是一种merge
linux
- 用过grep吗:用过,就是过滤
- grep的过程是怎样的:。。。字符串匹配。。。(不知道咋说了)
- (提示):一个递归
- (继续提示)比如说cat file | grep A | grep B:就是先把全文扫出来,再从结果里面找包含A的,再从结果里面找包含B的。
- 这是不是像一个漏斗呀,就是管道,知道管道吗:你说的这种管道的概念,我之前没有遇到过
手撕
- 现在开始写几个题吧,先来一个难一点的(然后面试官小哥很认真的帮我把题目念了一遍,问我题目懂了没):懂了
-
我是直接敲代码还是先说思路:先说一说吧
滑动窗口,一个大小为m的窗口,用哈希统计窗口里面各个字符的数量,然后比较字符数量和m的字符进行比较。如果相同,就是满足条件了
-
代码(十分钟不到解决了。。。)
#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;
bool equal(unordered_map<char, int> a,