小鹏汽车 机器人中心 实习一面 凉经

面试开始,面试官花了五分钟介绍了自己。然后我花了10分钟介绍了自己的项目。在得知我的项目和机器人动力学控制有关后开始了长达70分钟的高强度拷打,要求我在飞书的C++环境里边写代码边讲解,不要求能运行的伪代码。
1. 写一个低通滤波器,离散的,连续的都可以。
2. 你写的这个一阶低通滤波器有什么特点?
3. 写一个PID的class
4. PD控制,如果PD参数非常大,有什么影响?
5. 写一个机械臂的逆运动学函数。
6. 写一个求机器人雅可比矩阵的函数。
7. 写一个机械臂路径规划的方法。
8. 写出机械臂的动力学模型。开始我以为是让我写牛顿欧拉的动力学算法。其实就是写tau=M(theta)*theta_ddot + H(theta,theta_dot)
9. 写一个机械臂的动力学控制器,我写了前馈+PID。面试官问如果现在控制器不能引入质量矩阵M(事后我思考,M的求取对于伺服控制器来说确实有点耗时了,有些控制器比如重力补偿的力控确实没有这一项),那么机器人在不同位形的控制性能是一样的吗?
10. 如果已经实现了任务空间的力控,给一个机械臂末端坐标系的目标位姿,写一个控制器让机械臂实现这个力控过程。(我在面试的时候一直想把问题转换到关节空间,和面试官没对齐思路。事后分析其实就是在任务空间实现一个基于位置反馈的末端力旋量的PID,然后左乘一个雅可比矩阵的转置转换到关节空间的力矩即可)(核心就是考察知不知道对末端力旋量左乘雅可比矩阵的转置这一操作)
11. 如果我的机器人的某一个连杆受到了外力的影响,如何把这个力转换到关节空间上去?(同上)
12. 写一个机器人的阻抗控制器。
13. 说了这么多还没有考察你的代码能力,你写一个具体的PID的class吧。在我写完后,针对我的代码开始C++八股。
14. 你这个成员函数入口参数用的引用,引用有什么好处?
15. 你的这个成员函数入口参数声明了const,为什么?
16. 上一个问题我说不想让函数内部修改外部变量。面试官说既然如此,如果我不想让成员函数修改类里的成员变量,应该对成员函数做什么声明?
17. 智能指针说一下。我说了共享指针,讲了一下原理。
18. 如果我想写一个其他控制器的类来继承你这个PID的类,并且重写其中的一些方法,应该对父类做什么处理?
19. 派生类重写父类函数,应该对函数做什么声明?
20. 反问
全部评论
这是实习面试吗。。。
2 回复 分享
发布于 2024-06-17 17:04 吉林
哥们我做多传感器标定的 写了个杨辉三角就进去了
2 回复 分享
发布于 2024-04-22 19:00 广东
太强了,我今天面了一下,主要就集中在介绍我自己的项目大佬技术太强了,面试官都没问什么具体的代码 算法之类的,估计已经看出来我是个水货了
1 回复 分享
发布于 2024-05-29 22:53 香港
大佬太强了,看完汗流浃背
1 回复 分享
发布于 2024-04-24 03:47 广东
太强了
1 回复 分享
发布于 2024-04-07 12:23 四川
真的强,看到这些问题就汗流浃背了
1 回复 分享
发布于 2024-04-06 20:16 福建
???答主您是物理博士吧
点赞 回复 分享
发布于 2025-07-01 12:56 日本
这么难的题😢
点赞 回复 分享
发布于 2024-04-09 21:20 陕西
问这么细....这真的是实习面试吗
点赞 回复 分享
发布于 2024-04-08 19:42 湖北

相关推荐

上周组里招人,我面了六个候选人,回来跟同事吃饭的时候聊起一个让我挺感慨的现象。前三个候选人,算法题写得都不错。第一道二分查找,五分钟之内给出解法,边界条件也处理得干净。第二道动态规划,状态转移方程写对了,空间复杂度也优化了一版。我翻他们的简历,力扣刷题量都在300以上。后三个呢,就有点参差不齐了。有的边界条件没处理好,有的直接说这道题没刷过能不能换个思路讲讲。其中有一个女生,我印象特别深——她拿到题之后没有马上写,而是先问我:“面试官,我能先跟你确认一下我对题目的理解吗?”然后她把自己的思路讲了一遍,虽然最后代码写得不是最优解,但整个沟通过程非常顺畅。这个女生的代码不是最优的,但当我问她“如果这里是线上环境,你会怎么设计’的时候,她给我讲了一套完整的方案——异常怎么处理、日志怎么打、怎么平滑发布。她对这是之前在实习的时候踩过的坑。”我在想LeetCode到底在筛选什么?我自己的经历可能有点代表性。我当年校招的时候,也是刷了三百多道题才敢去面试。那时候大家都刷,你不刷就过不了笔试关。后来工作了,前三年基本没再打开过力扣。真正干活的时候,没人让你写反转链表,也没人让你手撕红黑树。更多的是:这个接口为什么慢了、那个服务为什么OOM了、线上数据对不上了得排查一下。所以后来我当面试官,慢慢调整了自己的评判标准。算法题我还会出,但目的变了。我出算法题,不是想看你能不能背出最优解。而是想看你拿到一个陌生问题的时候,是怎么思考的。你会先理清题意吗?你会主动问边界条件吗?你想不出来的时候会怎么办?你写出来的代码,变量命名乱不乱、结构清不清楚?这些才是工作中真正用得到的能力。LeetCode是一个工具,不是目的。它帮你熟悉数据结构和常见算法思路,这没问题。但如果你刷了三百道题,却说不清楚自己的项目解决了什么问题、遇到了什么困难、你是怎么解决的,那这三百道题可能真的白刷了。所以还要不要刷LeetCode?要刷,但别只刷题。刷题的时候,多问自己几个为什么:为什么用这个数据结构?为什么这个解法比那个好?如果换个条件,解法还成立吗?把刷题当成锻炼思维的方式,而不是背答案的任务。毕竟面试官想看到的,从来不是一台背题机器,而是一个能解决问题的人。
国企上岸了的向宇同桌...:最害怕答非所问了,但是频繁反问确定意思又害怕面试官觉得我笨
AI时代还有必要刷lee...
点赞 评论 收藏
分享
二十岁的编程男神王大...:读博吧兄弟,你这绩点太好了,何必转码,另外哈哈哈真见到有括号标出来985的,这个不标注也知道吧
点赞 评论 收藏
分享
评论
37
166
分享

创作者周榜

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