社招 小鹏汽车-c++ 自动驾驶岗位的面试记录

小鹏汽车-c++ 自动驾驶岗位的面试(jd在最后)
(原本会议45min,干到了70min+)

0.15min分钟的手撕代码
deleteDuplicates(ListNode* head),删除所有重复数字的节点
问下复杂度是多少-n^2?
如何降下来复杂度?
(用c有点蒙蔽,他提了下c++容器,恍然-set和map是可以的自动排序的,可以降低,很尴尬用c为主c++为辅)

1.敲打简历。
做了哪些工作?
问是代码框架是怎么样的?(实话实话)
问问是如何实现消息队列的?(尴尬,用的现成的ucos接口)
换了一个问题,用来什么技术栈(我常用c的,对这个表示陌生。我说我描述下是如何实现的吧)

2.内核裁剪是这么做的?
(大致说了些,根据内核打印,移除一些模块驱动。精简网络-比如去掉一些ssh,把一些服务往后移动)

3.linux的文件系统说一下,说一下底层原理?比如yaffs的这个管理吧?
(我说我用他们多一点,比如用过哪些类型的fs,这个底层确实接触的不多。有点慌....,不知道怎么回答)

4.调用read函数读取数据,到得到数据,中间过程发生了什么?
(说了个大概:
应用层调用read,引发一个系统调用,cpu从用户模式切换到内核模式,想要参数将会传递给内核
内核会调用参数进行验证
内核验证通过会找到对应文件结构体(file文件)进行查找和定位,通过file文件可以找到节点inode,
闪传驱动读取数据和ecc校验数据
接下里就是数据从内核到用户空间的复制,返回用户空间?)

5.用什么方案去实现状态机机制
(我说了下:通过状态机标志位+轮询方式)

6.说下linux内核的内存管理,他们是怎么管理的?为何要引入虚拟
我提到了进程隔离(内存空间的隔离),访问权限的控制,
图片物理内存显示,实现内存扩展
给开发提供了一个同一的、连续的地址空间,我们不需要关注物理内存的布局和碎片,检查程序开发和内存管理

7.GDB常用哪些指令?如何用GDB调试查找死锁问题?
我讲了lrbsqdp(提前速记了:冷若冰霜驱动盘)这个几个指令的使用
l-list显示10行代码,r-run运行代码,b-break设置断点,s-step单步运行,q-quit推出,d-del删除断点,p-print打印变量。
如何查找:结合top和ps。
通过info threads打印出所有线程的信息,包括id和状态
通过thread id 切换到某一个线程
进行栈回溯,了解栈在做什么
然后用print打印锁信息,查看依赖关系和锁状态

8.智能指针有哪些,哪些使用场景?
三种unique_ptr,shared_ptr,weak_ptr
场景:第一个是希望对资源拥有唯一所有权的时候用;
第二个是希望多个指针共享同一块资源的所有权时,
第三个主要时用于解决第二个可能产生的循环引用问题时用。

9.拷贝构造函数的传入参数,如果不加引用符号会怎么样?
会导致无线递归,最后引发栈溢出

10.多态是怎么实现的?
主要是通过虚函数和指针来实现的。
讲了有编译多态和运行时动态多态(主要讲一下运行多态?)
主要讲了虚函数表和虚函数指针的逻辑

11.出了这个虚函数,还有通过哪些方式实现这个动态多态的过程呢?
function,bind,策略模式。知道,但是记得不多了。

12.反问阶段.

日常用的,主要是用c为主,c++为辅

总体感觉:给自己打个7分吧,听天由命等通知。。
---------------------------------------------------------------------------
职位描述
自动驾驶软件开发高级/资深工程师/专家(Linux/C++方向)
岗位职责:
1、负责自动驾驶相关的新产品软件设计和开发;
2、负责自动驾驶相关的应用和算法软件在新软硬件平台上/新车型上的移植和调优;
3、与各相关团队协作,共同完成自动驾驶产品工程化落地,负责分析和解决遇到的相关软硬件问题;
4、负责现有平台/车型的迭代开发维护。

岗位要求:
1、本科及以上学历,计算机/软件专业,至少3年以上软件开发经验;
2、熟练使用现代C++语言开发(C++11及其以上),熟悉STL并了解其实现原理,能进行多线程编程、网络编程、通信中间件开发;
3、熟悉Linux/QNX,并具备在其上的工程构建、开发、问题定位及解决能力;
4、责任心强,具备优秀的学习能力、独立分析问题和良好的团队沟通协作能力;
5、有基于嵌入式平台的大型应用软件开发经验优先,有自动驾驶产品开发和落地经验优先。
全部评论
有二面吗
点赞 回复 分享
发布于 07-13 18:22 上海
佬,社招c++岗位,简历里准备了啥项目啊
点赞 回复 分享
发布于 06-26 10:35 浙江

相关推荐

07-24 23:14
已编辑
武汉理工大学 C++
感觉一般公司 基本不给太多面试机会,大厂多少还会给点面试机会!一、不会再投的行业1、游戏公司投18家,参加15家笔试,其中5家已经给出结果挂。 吐槽一下,牛客上的游戏公司真多。后来统计才发现的 。网易互娱+雷火+三七+完美+4399+欢聚+多益+速游+米哈游+叠纸+西山+吉比特+诗悦(给个面试)13家笔试!浪费多少时间啊!酷家乐+竞技+趣加+garena+盛趣+心动(9.22更正一下,三家叠纸和诗悦 和 西山居 面试了 )---以后游戏公司不会再投!除了让我参加笔试+面试,太浪费我的时间了。我去😣2、制造业:汽车(途虎+小鹏+蔚来-本来想去制造业捡漏,看来不行)家电(TCL+美的(笔试一面))手机(中兴(提前批真是垃)正式批又参加笔试了+oppe)摄像头:大华(最早投,尽然没消息)+海康(笔试没结果)大疆无人机:测评挺浪费精力,笔试挂了。投10家也就 美的 中兴给了面试。---后面偏制造业的还是不投了。3、在线教育 7家:作业帮简历挂,好未来和跟谁学笔试两次(跟谁学两次笔挂)。猿辅导+vipkid+伴鱼(原来他是教育,9.17笔试(第一家在线教育面试))+网易严选----笔试都参加了,面试没见一个!浪费时间了,以后不投教育,估计也没有了吧4、二线互联网:搜狐(笔试后没消息)+搜狗+苏(19号笔试)+陌陌+联想+爱奇艺(笔试过)+猫眼+携程(笔试放弃)+去哪+巨人+微博(说好简历过了,毛消息都没有)11家没见到面试机会----二线没落的互联网也不给面试5、那种搞芯片 半导体那种硬件+软件的,不是我这非科班能进的。放弃!联发+乐鑫+shein+亿联+汇顶+浪潮+    思特威+昆仑万维+思谋(这些都没面试)全志(给个二面)+诺瓦(面试感觉挺好,可以给挂)+东方国信(面试小哥挺好,我也查出自己很多问题)+涂鸦(一面)虹软+远景 面试都挂长江存储(测评变态 啥都考,英语数学)投的也有16家左右,太少面试机会本来想多一点面试经验,可惜人家不给啊!二、4、金融机构:投18家。银行都是私企7家坑逼,微众+新网(java岗放弃笔试)+宁波+农商+招银+招信用+中邮 --都没笔试7家证券:中信+国泰(这两7月都投啥消息没有)+用友+富途(招java面试放弃)+老虎(太坑了,现在都没结果,笔试不难)+东方+同花顺(笔试-二面)3家保险:众保(笔试挂)+微保+平安招联金融+中金后面冲突没参加笔试反正就同花顺好歹给笔试,然后面试机会。三、反思1,不能再胡乱投了,浪费时间,还不如多多复习那。2.可以考虑与专业相关的开发公司总之还是大厂,给的面试机会多! 如果投太多时间放到小厂,太浪费时间了非科班的,这样海投现在看来 结果不是很好哈!该改变战略了有意向的可以投投我公司
点赞 评论 收藏
分享
评论
6
34
分享

创作者周榜

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