请问这个面试题是个什么水平?

2019-03-01 10:13:59 +08:00
 jxf2008

坐标:无锡 月薪 10k,c++/qt 开发人员一名

1 一个类,成员函数 f1 会抛出异常,在 linux 下,一个进程里产出了 A 和 B 两个线程,线程 A 调用该类对象的成员函数 f1,抛出异常,如何在线程 B 中捕获该异常 追问,如果换成两个不同进程,该如何捕获?

2 问:你用过智能指针么? 我:很少用 问:你不用智能指针的话如何避免内存泄露? 我:。。。。(不知道如何回答这个问题,他的意思好像没有智能指针就会内存泄露。。)

3 问:一个函数提示越界错误该肿么办? 我:各种方法找错误,GDB,异常代码,各种测试等 问:如果你找不出来那该怎么办? 我:。。。。(我真不知道这问题该怎么回答,这到底想考我哪方面的知识) 追问:如果产品在客户那里发生问题,你又找不出原因,那该怎么办? 我:。。。。。(我还是不知道他想考我啥。。)

这是我在无锡飞谱电子遇到的面试题,我都没回答的出来,然后 GG 了?

2021 次点击
所在节点    酷工作
3 条回复
current
2019-03-01 10:44:46 +08:00
第一个问题我猜是想问 promise ?可以跨进程的 C++异常没有听说过。

第二个智能指针应该是常见问题。即使不用,基本概念和 raii 还是应该知道的,不过只理解为内存泄漏也有点少了。另外如果你写的代码是某些流程稳定可控的底层组件,不使用智能指针我觉得是完全可以接受的。

第三个问题我觉得挺扯的。。。报了错找不出来我特么能怎么办?当然是删库跑路啊


如果面试问题和过程真的如你所说,我觉得这个面试官是不合格的。
after1990s
2019-03-01 14:05:51 +08:00
1.Windows 下有 API 可以安装一个进程级的异常处理函数。Linux 下不清楚。跨进程捕获异常需要捕获进程注册为调试器,附加到被捕获进程。

2.面试大概是要问,不适应智能指针怎么保证资源一定会释放。

3.重载 new 和 delete.
after1990s
2019-03-01 14:06:22 +08:00
s/适应 /使用 /g

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/539897

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX