面经 思灵机器人 C++ 一面 凉经 攒人品
1. 介绍项目
2. C++ 11 用过没?
3. 智能指针介绍?
C++11中智能指针的原理、使用、实现
4. shared_ptr智能指针缺陷的解决方法?【提问时通过论述shared_ptr、weak_ptr 的关系引导面试官提问】
循环引用中的shared_ptr和weak_ptr
shared_ptr智能指针缺陷的解决方法
5. Qt槽函数的认识?
信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性。当某个信号被发射,就需要调用与之相绑定的槽函数。这与Windows下的消息机制类似,消息机制是基于回调函数。一个回调即是一个函数的指针,因此如果希望一个处理函数通知一些事件,可以传递一个函数(回调函数)的指针给这个处理函数。这个处理函数就会在适当的时候调用回调函数。但是回调函数有两大缺点:第一,它们不是类型安全的。我们从来不敢确定处理函数会用正确的参数来调用回调函数;第二,回调函数被强力和处理函数联系着,因为处理函数必须知道去调用哪个回调函数。
6. Qt槽函数在单线程和多线程的区别?
不知道怎么回答,当时回答了qt 信号与槽函数连接connect 参数在单线程与多线程中的选择。
可以参考这个
如果有大手子知道面试官在问什么请留言,
7. QT 样式列表了解的怎么样?
大概回答了一些基础,不知道面试官关心的点在哪。
8. Linux如何安全的结束进程?
不太懂,安全的结束进程 我认为只要不是kill 或者被信号杀死 (内存段错误也是被信号杀死)都算是安全结束吧
举例应该比如exit main里return,exit 退出会调用abort,abort 会执行释放资源的操作,_exit 才会结束进程
但是不推荐直接用_exit 原因
1、是Linux特有的系统调用 无法跨平台
2、是不释放资源 有可能造成资源泄露
9. 层序遍历树一般会用到什么数据结构?
层次遍历思想:1.利用队列的数据结构,队列的大小就是当前树层的节点的个数2.先入先出,当队列中的节点出来的时候,存入当前节点的子节点,先入先出,没有影响层次遍历可以顺序遍历,左节点,右节点,
也可以逆序遍历;右节点,左节点,在队列中先存入右节点,后存入左节点,先入先出使用 BFS 进行层次遍历。不需要使用两个队列来分别存储当前层的节点和下一层的节点,因为在开始遍历一层的节点时,当前队列中的节点数就是当前层的节点数,只要控制遍历这么多节点数,就能保证这次遍历的都是当前层的节点。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
