同为股份-C++软件开发-一面

先自我介绍

八股文:
1. IO多路复用
2. epoll水平和边缘模式(之前看过但是忘了没答上来)
3. 虚函数位置,在类还是实例上(答错了,还问我是否确定,我坚定错误答案⊙﹏⊙)
4. 移动语义、STL中是不是所有容器都支持移动语义
5. TopK问题(之前学过快速选择算法,但是一回答就忘记了╯︿╰),如果用暴力搜索和时间空间复杂度是什么
6. QTimer如何只触发一次(只记得一个shot,后面提示是否是singleshot才想起来)
7. Qt视图可不可以关联多个Model
8. 多进程、多线程通信
9. 智能指针有哪些
10. 线程同步、死锁排查方法
11. 依赖注入

项目:
1. 写过设计文档吗?设计文档、方案设计文档怎么写(写过,回答了一些步骤)
2. 对C/S架构了解(不了解。。。)
3. 项目用了哪些设计模式(回答了单例、工厂、代理、观察者等)
4. CPU跑满后你是怎么排查问题的(回答用VS的性能探测器)
5. 数据库设计、优化会吗(回答了只知道基础的用法,就没往下问了)
6. 如果界面交互后要实现某些功能,写在哪里(没听懂◑﹏◐)
7. 内存泄漏怎么排查的?(回答用了VLD)
8. 源码管理工具git熟悉吗(回答以前公司用的svn,对git不太熟悉)
9. 其他就是项目技术实现等(回答的一般,可能解释不清楚)

结果:面试官挺友好的,整个过程(1.5h)还算轻松。不知道算不算通过,以为结束了,但是两天后接到二面的通知了
全部评论
楼主这是社招还是校招?
点赞 回复 分享
发布于 11-04 23:06 湖南

相关推荐

10-10 23:04
门头沟学院 C++
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. 你最近在看什么技术书籍?有什么心得或启发?
点赞 评论 收藏
分享
评论
2
7
分享

创作者周榜

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