小米C++秋招一面

1.实习介绍
2.项目拷打
3.实习拷打
4.场景题:我们这边是做 P2P 的,需要在 UDP 上传输数据,偶尔会发生网络丢包,让你设计一个 SDK 来保证网络的可靠传输,怎么做?
5.场景题:传数据的问题解决了,我们再来解决一下安全的问题,借鉴 HTTP 即 TLS/SSL 的握手机制,设计一套端对端的密钥。
6.手撕题缓存聚合:假设你有一个高并发的键值存储系统,底层使用了非易失性内存。由于 NVM 的特性,我们希望将对键的随机插入操作,转换为批量、顺序的写入。insert 函数在并发环境下必须是线程安全的,但不能使用全局锁,因为这会成为瓶颈。flush 函数应该能够高效地将多个线程插入的数据,一次性地、按序地刷写。请先简述你的设计思路,包括如何保证线程安全、如何实现无锁或细粒度锁的插入,以及 flush 函数如何高效地执行,然后并实现代码。
全部评论

相关推荐

1、实习介绍2、c++面向对象的封装继承多态3、你的项目中怎么用多态的4、c++多态的原理5、c++11之后的新特性6、介绍智能指针,你的项目中用的比较多的是哪几种7、智能指针是线程安全的吗,你的项目中怎么保证安全的8、lamda表达式,除了比较,你还在哪些场景中会用到过9、lamda表达式的传参有什么捕获方式,你的项目中用了哪些10、左值引用和右值引用的区别11、移动语义平常有用过吗,实现原理是什么,如果类的移动构造delete掉,move会怎么样12、你平常写一个类会给他定义移动构造吗13、标准库容器介绍14、这些容器是线程安全的吗,你平常怎么保证安全的15、线程同步的方式你用过哪些16、lock_guard和unique_lock的区别17、信号量具体是怎么实现同步的,和锁有什么区别18、原子变量在项目中是怎么用的,原理是什么,和锁有什么区别,为什么不用锁而是用原子变量19、future了解过吗20、自己实现过线程池吗21、进程间通信的方式有哪些,mmap的具体原理是什么,会有同步的问题吗(项目相关↓)22、讲实习项目的背景和具体工作,异步日志有遇到过乱序等问题吗,同事有反馈过什么问题吗,一个日志文件没有写满,重启文件之后会继续往这个文件里写吗,压缩文件用的什么方法,压缩成了什么文件23、介绍聊天项目,gRPC是怎么用的,同步调用还是异步调用,有考虑过超时的问题吗,项目有做过性能测试吗24、反问
查看22道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务