微信游戏(C++)一面凉经
自我介绍
介绍一下你的分布式KV数据库
为什么用raft不用paxos
paxos和raft区别
你的kv存储数据库存储模型是怎么样的
你了解其他的kv数据库的存储模型吗(说了redis的RDB/AOF leveldb的LSMtree)
为什么LSMtree写入速度快?(没很深研究,只知道这个东西)
进程线程区别
协程了解吗(说了golang的goroutine模型)
协程保存什么东西,保存在哪里(说了栈指针,调度挂起的数据,一时把PC忘记了)
估计是看我忘了PC,问我CPU都有哪些东西。。。(这个太久没看,不太记得了,基本功还是不太扎实,只记得有寄存器。。)
linux的线程调度是怎么样的
我反问要问的是不是进程调度,面试官说这两个在linux有什么不同吗,我说了线程的调度可以在用户态去控制;;
然后把CFS那一套说了一下,然后问我调度的红黑树存的是什么,(不记得了,只记得key是vruntime)
然后问vruntime是怎么计算的,是真实时间吗。(我回答了不是,什么时候计算的猜了一下,每次运行前和调度结束后计算)
select和epoll区别
c++特化是什么(模板那套东西吧,研究不深,就直接说不会了)
换了个问虚函数和纯虚函数区别
智力题:550个瓶子,a和b各可以取7-11个,a先取,问a怎么取可以保证取到第550个。(没答出来)
写题:估计是看我智力题没答出来,一些深入的八股也没答好,来了个解数独,问有多少种解法。
之前写过,框架会了,细节在写的时候还是有问题,最后没写出来。
跪了~
总结:
1. 写代码的细节还是要注意;
2. 看过的东西还是尽可能取往深理解一下;
3. 没事复习一下基础知识,说不定就用得上。
#腾讯面经##腾讯##面经#