腾讯秋招(C++后台)一二三面(8.31已OC)

7.12突然收到腾讯的面试通知,当时以为还是找我实习(之前拿到过,但因为实验室项目没法去,后来陆陆续续有打电话过来叫我面试),就拒了。后来收到面试官短信说这是正式秋招,就接收了面试邀请。整个流程很快,一个星期走完三面+HR面,目前卡在录用评估,HR说等正式秋招通道开始之后再进行下一步安排。
(更一下,删除了一些从项目拓展的问题,对大家的参考意义不大...)

一面

算法:手撕LRU、非递归中序遍历二叉树

1.自我介绍

2.项目开始一个个问过来

3.跨线程通信、进程间通信、select、epoll、水平触发边缘触发

4.问论文细节

二面

1.leveldb源码怎么看的,看了哪些部分

2.memtable的实现、memtable如何实现无锁下的并发读写安全、为什么memtable选择跳表,innodb选择B+树?

3.如果你来优化leveldb,你会怎么优化

4.你刚才说到不同的存储介质,你知道ssd,hhd每秒的IO量级吗

5.说一下你所知道的leveldb、rocksdb的区别

6.如果你来实现多线程compaction,你会怎么实现

7.协程的底层实现方式;如何调度

8.10亿个敏感词过滤,设计系统

一开始回答布隆过滤器,被面试官连环追问:怎么设计哈希函数、布隆过滤器的大小怎么设计、如果还需要动态增添过滤词呢

后来给出的方法是使用前缀树保存在内存中,如果是100亿个敏感词,可以考虑对字符串分区,然后多台服务器负责不同的分区

9.聊了会设计模式(给了一些学习意见)

11.还看过哪些C++源码

三面

1.了解过几种异步模式;各自说一下他们的使用

2.协程的底层实现(第二次问到了)

3.有栈协程、无栈协程,协程、线程、进程三者的区别

4.详细说一下slub和伙伴系统

5.为什么slub里的object要做padding

6.direct_IO、page_cache

7.内存屏障、memory_order

8.malloc/free的底层原理

当时详细说了一下从malloc到一段虚拟内存到缺页中断到os进行物理内存分配的整个过程,面试官来了句:只有这些吗?后来觉得可能是希望我提到:libc的malloc单独在os和应用层做了内存管理

9.你刚才说到tcmalloc,jemalloc,知道他们怎么提升malloc的性能的吗?

10.内核对信号机制的实现;信号函数处理是否是线程安全的

11.开始闲聊,工作地点的选择意向等等

#腾讯22届秋招面试##面经##校招#

注意!此信息未认证,请谨慎判断信息的真实性!

全部评论
空

相关内容推荐

头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
2022-12-22 16:33
重庆工商大学_2024
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
2022-12-30 20:45
门头沟学院_2023
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像 头像
点赞 评论 收藏
转发
11 69 评论
分享

全站热榜

正在热议