首页 > 腾讯字节面经
头像
胖柴柴柴丶
编辑于 2021-08-25 11:14
+ 关注

腾讯字节面经

很巧的两个hr面都安排到了昨天晚上,腾讯已填云证,hr说3个工作日出结果。字节说最快3-5天,心塞。许愿意向书,还愿后给大家分享面经。

8.10晚上终于收到字节的意向书了,先分享下字节的面经。

1.一面

7.22 80分钟。

  • 自我介绍,项目问题(我项目就是烂大街的web服务器,大概问了10几分钟)。
  • 常规的八股文,问的太多了,但都是比较简单的,总结的一般都有,就没记录了。
  • 最长递增子序列求字典序最小结果。(贪心+二分)
  • 写完题当场通知通过了。第二天hr打电话通知,但是下一场约到了7.28。

2.二面

7.28 45分钟。

  • 自我介绍。
  • redis删除策略,置换策略。我说完lru就出了个lru的算法题。
  • LRU,如何发布给别人,考虑并发吗。最后我加了个unique_lock。
  • 验证BST,用的迭代中序遍历。
  • 场景题。聊了20多分钟。我方进行数据分析,广告方限制QPS5000,问调用方如何设置频率,不会超频。
    • 应该是考限流算法,我答了计数器和漏斗。考虑了固定时间窗口的计算(1s内超频会阻塞)和时间流动(达到实时效果)计算。之后面试官一步一步引导,考虑了多线程多进程多机分布式各种情况。
  • 分布式锁
  • 反问。问了下部门干啥的就没了,然后我扯了一嘴中台的mq,然后又问了我一些mq的内容(嘴贱)。
  • 结束后过了10分钟刷新页面成了第3轮。第二天hr打电话约到了30号。

3.三面

7.30 35分钟。

  • 自我介绍,直接出题了。

  • 最小路径和

  • 连续子数组的最大和

  • 查看进程的命令。查看进程内存,什么字段显示的内存。

  • 面试官和我输入相同的url,但是返回的页面有差别是为啥。完全没见过,瞎扯,从静态页面到cookie到分布式到一致性。最后扯了扯dns负载均衡。面试官一句话没说就在那听我编。。

  • select和epoll区别,lt和et区别。

  • c++ hash实现原理。

  • 虚拟内存详解。

  • 生成唯一id的方法有啥。答uuid、mysql的auto_increment和redis的INCR。

  • B-树,B+树区别。

  • 轮流抛硬币,先到正面的赢。问概率。等比数列求和,2/3。其实做过,但是看见时间过得太慢了,假装思考了5分钟。。。让我写了下求和公式,估计是看我演的不像,怕我背答案?好在我求和公式也背了。

  • 反问。
有小伙伴问我项目问啥了,如果说也有做web服务器的可以参考一下,其实就是一些线程池、线程调度、任务拒绝、事件模型,怎么优化的问题,还有问到的有线程如何同时处理多个任务的。我自己使用reactor加请求队列实现的,后面也学习了陈硕的one threap one loop,感觉可以不要做的那么完美,故意留几个点让面试官问,然后讲一下你发现不足以后怎么学习别人的思路的也是很棒的选择。我自己扩展的功能的话是大文件下载和断点续传,只要有一个自己的亮点经得住问就足够了,选了web服务器项目的话面试官其实也都懂。不过定时器、日志啥的好像面了这么多次确实没有问过。

总结:第一个面试官挺和蔼的,问的很细致,看我做题很耐心,主要牛客不能调试,出了个bug我cout测试了半天;第二个面试官是个小姐姐挺出乎意料的,上来就是直接撕了两道算法,一道场景基本就结束了;第三位比较严肃一些让我及其紧张,。二面三面的代码确实没想到考核的这么简单,基本都是秒做,真的是太简单都不敢装做没做过,甚至怀疑是不是hc够了随便出几个简单题应付一下。所以后两面时间也短很多。感觉字节确实比较注重算法,概念问的并不是很难,相比之下,之前面百度概念难度差了不是一点半点,所以大家想冲字节的话,leetcode刷起来。


8.25!!太不容易了,一早上hr打电话通知意向。

1.一面

7.23 90分钟
  • 自我介绍+项目问了很久。
  • 红黑树和avl树
  • stl线程安全(好像没实现,被钓鱼了),智能指针线程安全吗
  • 进程通信,哪种最快,为啥,拷贝发生几次系统调用,DMA为什么快,零拷贝,mmap怎么快的,sendfile怎么快的。
  • 归并排序思路,复杂度,稳定吗。
  • 其他记不太清了。
  • LFU
  • 数组中两两数字相乘,相乘结果再求和,让和最小。求和次数题目给,意思就是可能数组大小是10,只让你加2次。
    • 可以先排序,然后首尾相乘再相加。根据次数选择要计算的数组,比如加两次,选4个数字就行了。
  • 海盗分金币。10个海盗,只不过变成大于等于50,就通过。和常规的有点点区别,就是最后一个海盗你同不同意,倒二海盗都能分100金币。

2.二面

7.29 60分钟

  • websocket和socket
  • http除了get和post,其他协议知道哪些,详细讲一下。
  • http 3开头的状态码,304的缓存
  • tcp、udp细节方面。
    • tcp、udp能否同时访问一个端口,5元组,协议不一样可以访问。
    • tcp的time_wait过多怎么办,可能导致6W个fd用完。
    • tcp的流量窗口大小怎么控制。
    • 客户端发送了fin关闭请求,但是又发了数据,网络不好有数据先到怎么处理。
    • 坚持计时器和保活计时器
  • mysql数据类型;varchar是如何实现可变长存储的,头部有一个标志位。不能用redis的类似vector来扩容,因为在磁盘上,不方便。
  • mysql事务、隔离情况、redolog。
  • redis渐进式rehash
  • 5种IO模型,说我了解的比较浅显。
  • 缺页什么时候会触发。这个只知道两个情况,比较尴尬。
  • epoll底层原理
  • 一个进程启动后发生的全部过程,细致些。
  • 可以利用堆实现栈吗。我答可以,然后说了自己的想法。后来面试官说根据语言来区分的,有的语言实现了,不过大多数还是用os自己分配的栈。大致这个意思。
  • 压测过程中,cpu、mem、disk状态是啥样的。
  • 合并有序链表
  • 两数之和。

3.三面

电话面 30分钟。

  • 项目内容问,项目自己写的吗等等
  • 是否自学,学习多久了,c++代码量。是否有其他公司offer。
  • 对深圳看法,我是北方人
  • stl线程安全、红黑树和avl树,map是红黑树吗,mysqsl为啥不用红黑树。应该是看了一面的面试官记录
  • new和malloc底层原理,malloc失败会怎样,多线程new需要加锁吗
  • 拷贝构造函数const能去掉吗,引用呢。
  • 进程和线程区别,多进程多线程怎么选取
  • 进程通信哪个最快,为啥,怎样互斥,线程呢
  • 无算法

4.hr

  • 常规问题,大部分面经都有
  • 最后就是云证和测评。等了大概20天的样子才意向书。
最后许愿阿里三面!!



全部评论

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

推荐话题

相关热帖

近期精华帖

热门推荐