小米C++秋招一面

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

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-12 23:50
1.  那你先做一下自我介绍吧。2.  结合你的项目经验,谈谈你对PaaS平台的认知?PaaS平台主要是用来做什么?3.  你觉得PaaS平台相对于传统的开发来说,优势是什么?4.  我看你之前做过一些MySQL的巡查,主要是什么场景?做了哪些工作?5.  你们改进的思路是怎样的?6.  MongoDB相对于MySQL,你们的业务选型考量是什么?它相对于MySQL的优势是什么?7.  MongoDB的数据结构对比MySQL的数据结构,区别是什么?8.  比如在JSON(文档)里,我想更新其中的a字段,应该怎么操作?9.  如果在MongoDB客户端用命令更新(部分字段),应该输入什么命令?10. (Redis)是处理什么样的业务场景呢?11. 你有了解过Redis查询效率高的原理吗?为什么比数据库高?12. Redis里面那些基本的命令,你比较熟悉哪些?13. 如果我想要在Redis里面去实现一个列表(List),(用什么命令)?14. 除了Redis,有了解过本地缓存吗?15. 你们(Redis)设置Key过期时间,在什么场景用过?16. Redis底层是怎么(通过过期)把Key清除掉的?(过期淘汰策略)17. 你在什么业务场景下使用RocketMQ?18. RocketMQ是基于什么策略来保证顺序消息的?19. 为什么顺序消费会对性能产生影响?20. RocketMQ如果出现消息堆积,一般是什么原因造成的?21. 还有其他原因会造成(消息)堆积吗?22. 如果消息在消费者侧消费时报错,会有什么影响?23. RocketMQ的消息重试有什么策略?24. 你们开发过程中使用线程池,是如何定义的?25. 一个任务提交到线程池,线程池是如何处理这个任务的?(执行流程)26. 线程池的核心参数(如核心线程数)可以动态调整吗?27. (算法题)在一个整数数组中,找到两个元素使它们的和等于0。28. (算法题)如果不开辟额外空间,怎么实现?29. (算法题)还有其他方案使时间复杂度小于O(N^2)吗?30. (算法题)如果这个数组是排序的,有什么方案?31. (概率题)一个家庭有两个孩子,已知其中一个是女孩,另一个孩子也是女孩的概率是多少?32. (概率题)一个家庭有两个孩子,这两个孩子都是女孩的概率是多少?33. (概率题)都是男孩的概率呢?34. (概率题)一男一女的概率呢?35. 你有什么需要了解的吗?
汇川技术一面148人在聊
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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