深圳小厂C++后端面试

20-99人规模,被吊打,全程28min
1.应届生?(可能是社招和秋招不区分)
2.介绍公司业务,主要使用语言,说公司要求很高,比较底层
接下来问问题,说是实际工作场景肯定会遇到的,不是什么八股文:
3.C++中new和malloc的区别(说完了,反问还有吗)
4.C++11智能指针,shared_ptr和unique_ptr区别(面试官不会读)
5.你只是理解概念,不了解怎么去用的话,很多问题你会出bug的,比如文件句柄自动释放,采用哪种智能指针或者类似的方法
6.抓住我之前第4个问题的漏洞,说实际工作场景unique_ptr比shared_ptr多,场景:导出函数要给别人用,入参采用shared_ptr还是unique_ptr还是普通指针,入参和出参怎么给
7.场景题:函数调用者传入值是传统指针,也有可能是智能指针,你函数的入参该怎么写
说前面问的都是最最基础的,只关注代码能不能写
8.(翻篇了)数组越界问题,理解叉了,被前面的问题影响了心态,我说申请空间可能会导致堆栈溢出问题(他说你说的也不对,申请多大空间和堆栈空间没关系...貌似他只了解栈空间)
9.反应过来之后,就回答了数组越界,他问如何避免,我说一般都是在数组循环当中去使用,比如采用vector.size(),表明数组长度。骚的是面试官没听说过vector.size()。。。
10.但是他还想问的是就是在循环过程中如何避免数组越界,已经懵逼了,正常循环使用i如何出现数组越界,想不明白,事后反应过来可能想问try-catch捕获异常,但是每次使用数组元素都要捕获异常使用起来感觉也太麻烦了,真的要在for循环当中也做这种容错判断嘛
11.如果Python,Java出现数组越界会出现啥错误
12.C++14 std_array听说过嘛
后面就宣告g了,不再深问了
13.个人优势,和公司业务不符合
14.英语阅读能力怎么样,丢给你一个英语文档,快速上手看懂去用。。。这个难道不可以翻译吗,而且面试官连share都不会读真的能流畅阅读嘛
总体来说可能就是需要已经有工作经验的,社招。面试官还是可以,不算打击人,只是提的问题有很多槽点
全部评论
try-catch捕获不了sigsegv。数组越界没什么特别好的避免方法,不然linux那么多缓冲区溢出导致的致命漏洞也不会有了。
点赞 回复
分享
发布于 2023-10-20 01:43 陕西

相关推荐

3 19 评论
分享
牛客网
牛客企业服务