同为股份一面

1. 移动语义的适用场景是什么?
2. 内存泄露通常有哪些原因?
3. (追问)除了未释放和循环引用,还有哪些原因?
4. 多线程如何处理并发(变量)问题?
5. 防止并发有哪些方式?(追问锁以外的机制)
6. 除了锁,还有哪些方式?(再次追问)
7. 信号量是如何进行管理的?
8. 多进程间通信有哪些方式?请讲几个。
9. 你做的流媒体服务器是单进程多线程架构吗?
10. 一对一聊天和群聊(多对多)在架构上有什么不同?为什么群聊可能需要多进程?多进程具体做什么?
11. 同步和异步的区别是什么?能否举一个异步的业务场景例子(比如你项目中的异步日志系统)?
12. 异步日志系统的大致实现思路是什么?
13. 这个日志系统是自研的还是使用开源组件?
14. 你的项目里用到了哪些设计模式?
15. 单例模式是线程安全的吗?
16. 除了工厂和单例,还了解或使用过其他模式吗?(如观察者、策略模式)它们的使用场景是什么?
17. 你在项目中遇到的最复杂或最难的问题是什么?是如何解决的?(引申出加密解密问题)
18. 加密解密问题具体是什么原因?最终如何解决?
19. 从1000万条记录的数据集中找出分数最高的Top K个记录,你会用什么算法?时间复杂度是多少?
20. (追问)该算法对内存有要求吗?
21. 快速选择(部分快排)算法的时间复杂度是多少?
22. (深入探讨)为什么快速选择算法的平均时间复杂度是O(N)?
23. TCP和UDP有什么区别?
24. 为什么TCP需要三次握手?
25. 什么是I/O多路复用?
26. epoll的边沿触发(ET)和水平触发(LT)模式有什么区别?你的项目是如何支持和选择这两种模式的?
27. 边沿触发(ET)模式是否可靠?在什么情况下可能存在问题?
28. 什么是死锁?在什么情况下会发生?如何避免或解决死锁?
29. 如果发现数据库查询效率很低,你会通过哪些方式来排查和优化?
30. (追问)除了优化SQL、索引和分库分表,还有哪些优化思路?
31. 项目是在什么操作系统上开发的?
32. 是否使用过GDB进行调试?如何调试程序崩溃(如使用core dump文件)?
33. 在项目开发中,除了GDB,还使用了哪些调试工具和方法来排查BUG?
34. 你最近在看什么技术书籍?有什么心得或启发?
全部评论
同学,瞅瞅我司,校招刚开,点击就送,我的主页最新动态,绿灯直达
点赞 回复 分享
发布于 昨天 23:22 湖北

相关推荐

点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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