首页 > 腾讯秋招(C++后台)一二三面(8.31已OC)
头像
iovec
编辑于 2021-08-31 10:45
+ 关注

腾讯秋招(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.开始闲聊,工作地点的选择意向等等

更多模拟面试

全部评论

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

推荐话题

相关热帖

近期热帖

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

热门推荐