首页 > 腾讯、字节跳动、b站后端面经
头像
getline(cin,string)
编辑于 2020-04-20 17:22
+ 关注

腾讯、字节跳动、b站后端面经

社招面了三家公司,运气不错,都拿到了offer,分享一波面经。
好多都忘了,出现频率高的或者比较稀奇或者我没回答上来的记得比较清楚。

字节跳动

一面

  1. 介绍下go的chan,chan可以做什么
  2. 你们的项目如何实现限流器,请用chan实现一种限流器,也可以不用chan实现
  3. 线程进程协程区别
  4. go协程好处
  5. gmp模型
  6. 算法题 一个数字比如452484515124845157515,可以去除n个数(比如1234去掉3个数 最大值就是4),求最大值
  7. 智力题 两个人射击,每个人射中的概率都是二分之一,n轮后求第二个人射中的概率

二面

  1. 说说dockerfile?(因为我简历写了docker)
  2. mysql的常见引擎区别,mvcc机制是干嘛的
  3. 按照场景写几个常用sql语句,比如去重复
  4. mysql索引失效场景
  5. 应用编程题,现在有很多评论数据 评论id 被评论的id 具体内容。比如a是b的回复 c是a的回复 d是e的回复则 组织成
a comma
b@a comma
c@a comma
e
d@e comma

三面

  1. 项目介绍
  2. redis各种数据结构可以做什么
  3. redis的持久化方式,区别?持久化过程时如何保证不会出现新的写覆盖数据?
  4. redis主从复制?
  5. 系统设计:如何实现排行榜?我的回答提到了分布式zset然后汇总,面试官要求实现这个算法

四面

  1. 项目介绍
  2. 有没有读过redis源码
  3. 缓存该怎么使用?如何保证一致性?
  4. 并发场景下设计并实现一个hashmap,(隐含要求扩容不阻塞)
  5. 算法题:会议有时间段,有很多会议,求最少需要多少会议室?

总结

三面体验很差,先是面试官迟到,后来面试官说中途离开10分钟,结果离开了一小时还没回来,然后我找到hr,发现他去开会去了,hr说这次面试结束。 第一次遇见这样面试的。三面后是hr面,感觉hr很傲慢,可能是我要的有点多,又加了一面技术面四面。

B站

一面

  1. 项目介绍
  2. go的gmp
  3. cpu特别高如何定位
  4. mysql引擎
  5. 复合索引生效问题
  6. sql执行慢的原因?如何看是什么问题?
  7. redis zset实现
  8. 一致性hash
  9. rpc了解吗?
  10. tcp,udp区别
  11. 操作系统:线程与进程,死锁条件预防等?不要求写银行家算法,提下就行点到为止
  12. http的一些状态码含义?后来聊到服务器推送

二面

  1. 你怎么设计索引,不是优化是设计
  2. 给你场景,你来选择tcp还是udp
  3. 项目中索引优化经历
  4. 还有一些项目合作等非技术问题,就不提了

三面

项目经历加聊天

总结

b站的面试感受很好,面试官都很nice,非常棒

腾讯

一面

  1. go的new make区别
  2. go的slice和array区别
  3. pprof定位问题与调优
  4. 进程线程协程
  5. tcp udp区别
  6. tcp一个分片最大多少字节,由什么决定?
  7. mysql两个引擎比较
  8. 实际项目中进行了那些索引优化
  9. mysql各种日志作用
  10. 一个sql执行比较慢,如何找原因?
  11. http协议格式,长短连接问题
  12. https的四次握手,证书的作用,原理?(因为我简历写了熟悉https)
  13. redis 大key问题
  14. redis zset为什么用跳表?对比b树有什么好处
  15. 算法题:数据流,求中位数?(方法很多,应该分场景考虑,比如数据值范围很小用统计的方法,比如数据不重复用bitmap,比如数据定长用快排变种,不变长用双跟堆;当时答了三四种方法)
一面面了一个半小时,有的会有的不会,有很多题不记得了;都是考察基础 点到为止,但是范围很广从语言到操作系统到缓存到数据库到算法

二面

  1. 项目介绍
  2. 你们如何实现负载均衡
  3. 负载均衡有哪些常见算法
  4. go 协程好处
  5. 大并发项目如何进行测试?
  6. 你对实际项目部署参数有了解吗?并发量是多少?需要多少cpu等?
  7. 算法题:大量数据求最大的n个数?

三面

  1. 项目介绍
  2. 实际项目如何实现分布式,对项目追根问底。比如说负载均衡用了hash,面试官会问hash算法具体公式是什么?
  3. 实际项目如何定位实际处理节点?业界有哪些算法(就是负载均衡算法)
  4. 用了哪些数据库技术调优技术?业界有哪些相关技术(比如索引优化)?
  5. 了解存储吗?业界有哪些?
  6. 什么场景不适合用协程?那该用什么实现并发呢?(epoll)

总结

一面是基础,二面包含项目和稍微深些的知识,三面主要是深挖项目并进行扩展

更多模拟面试

全部评论

(8) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐