第一次看到这么抽象的英文面试。。。。

相关推荐

岗位是:KVcache/高性能缓存开发上来先让做自我介绍(这里切出来看自己写好的自我介绍了),自我介绍完后因为听面试官声音有点小就又切出来提音量了,然后面试官就恼火了,说别一直切屏,他那边一直弹提醒(赛码网面试不写代码的时候切屏也会提醒,注意一下),之后就是面试官自我介绍,开始八股:1. 智能指针有哪些以及适用场景2. c++中有哪些常用的锁,使用场景是什么(这块问的很多,但是答得不够流利,得练习)3. 自旋锁和排他锁有什么区别4. 如何排查进程中cpu最繁忙的api或者说函数(这里没整过不太会,说的gdb写个脚本查看,太夸张了,下来查了一下大概是`top`+`perf`+`pstack`, top(或者htop可以更直观的查看cpu各个核心的使用率以及进程的资源占用,top -H -p PID也可以直接查看进程中的线程CPU占用)查看高消耗CPU的进程,然后执行pred top -p PID即会显示进程中系统调用和模块(可执行命令,链接库等内容)所占用CPU的百分比,然后pstack -TID(或PID)打印线程的调用栈(PID就是打印所有线程的调用栈),就可以排查高占用的进程以及函数。可以举一反三一下:内存,磁盘等IO占用率高如何排查?5. STL标准库中哪些容器是用树实现的,哪些容器是用哈希表实现的。6. 项目里的thread_local高并发内存池,三级缓存是怎么做的,使用什么数据结构管理这些缓存页以及分割为大小不一的对象的。7. 手撕:hashmap,要求使用开放地址法里的线性探测法实现,实现put和get函数(这个线性探测法第一次写,直接写成index一直++寻找空的了,面试官提醒要考虑最后找不到回来从头找的情况,因为可能hash算出来的key直接在最后,直接index++然后认为hash桶不足然后rehash的话可能会频繁发生rehash)8. 反问:业务,是小红书哪儿做分布式高性能缓存的团队,还是需求挺多的,然后现在一个小组大概8个人主要做缓存这一块,处理一些什么什么的具体问题。这个小红书的面试官真的是雷厉风行,大开大合的那种,30min急速八股然后手撕结束,一点实习没问,恼火恼火的也快,然后问问题的时候也会回答的很细很多,经常他回答的时候我都插不上话,如果不挂我的话,那我觉得他性格还不错,挂我我就要怪他调个音量就恼火我了。
查看8道真题和解析
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务