2017秋招常见面试问题总结

1、C++方面:
1.1 纯虚函数和虚函数区别
1.2 按值传递和引用传递
1.3 野指针
1.4 const关键字使用方法
1.5 内联函数与宏定义哪个好?为什么?
1.6 函数模板
1.7 gtest单元测试
1.8 命名空间 namespace
1.9 STL与Boost库
1.10 堆/栈/队列/链表/容器vector等,C++数据结构这块每家公司的出题方式不一样,每个面试官都会问,但是基本都考验的是这些东西的特性。
1.11 枚举变量的使用
1.12 禁止使用全局变量!!!会被笑话的,危害自己去查,每个公司的程序员对全局变量都很反感。
1.13 typedef的使用方法
1.14 operator函数额使用方法
1.15 防止函数被copy的办法:A(const &A)=delete;
1.16 智能指针
1.17前置申明的作用
1.18 static关键字的用法
我们非科班出身,在学校对C++的认知还是不够深入,基本处于会使用VS的状态,但是其实C++的程序编写现在基本都是脱离IDE的,因此对C++本身的许多内容我们并不了解。给师弟师妹推荐一本书C++ Prime Plus,基本上属于C++的入门级别的书籍。我是在我对大家在学校了解的基础上给大家的建议,一些大家已经了解的我就不列出了。

2、机器人基础知识
2.1 姿态角和欧拉角的区别
2.2 四元数和欧拉角的区别,万向节死锁:课本上着重讲的欧拉角,实际上用四元数的多,机器人示教器上一般显示的是欧拉角的结果,但是为了避免万向节死锁,大多都是用四元数建的模型,欧拉角在实际使用过程中的数据突变很坑的。
2.3 使用过机器人的什么开源库(kdl等数值解法,很多的)
2.4 动力学的两种方法牛顿欧拉/拉格朗日的区别和过程
2.5 零点标定的方法:高速端回0和低速端回0
2.6 TCP标定的方法:常见的四点标定法,为什么是四点了,因为四个点可以给出三组独立的方程,然后进行求解。
2.7 机器人运动学求解方法:大的分为数值和解析,具体的参照我们的机器人学导论就可以
2.8 轨迹规划的T型曲线和S型曲线
2.9 运动学奇异性:从物理特性来看有三种形态是奇异点,通常数值分析是通过雅可比矩阵来分析,但是一定要清楚是在奇异点有无数组逆解,而不是没解,并且在接近奇异点时机器人会速度加大,存在安全隐患。
2.9 路径与轨迹的区别:路劲只有方向和位置,轨迹是带时间和速度信息的路径。
2.10 POE旋量和优势
2.11 运动学位型管理,及机器人的八组逆解分别对应机器人的位型cfx:cf1-cf8
2.12 力控制:一般画一个框图一样的东西就可以,有反馈就行
2.13 机器人系统组成,之间的关系:示教器/控制器/控制系统/通讯总线/伺服驱动器/机器人本体//云平台/外部轴:可以尝试画个图,明白之间的关系就行
2.14 轨迹规划用什么方法:这个要清楚底层的规划一般都是S/T型曲线,出来我们的movel和movec等,而上层多项式或者样条就可以。2.15 状态机:机器人控制的最基础的,这个在我们本科乃至研究生课程都没有涉及,但是不考虑这个做出来的基本没用,比如状态有:moving/homing/stopping/sopped/NearPosBoundary等等,他们之间的切换必须清楚,要不不然机器人直接从速度100-0,就会咣当一声停下来了,仿真肯定是看不出来的,我们现在轨迹规划好多都没考虑到这些。
2.16 和机器人有关的传感器等使用过什么?:这块是因为好多公司都是做应用解决方案的,都是在机器人末端加传感器,一般就是松下等相机,大族等激光,ATI等力传感器,传送带等等。
2.17 常见滤波算法:我和阿文做的那个项目,一开始就是错的,在和传感器打交道,不滤波做出来肯定没法看,滤波出来的效果会让你amazing的,并且方法很简单,一行代码解决,这块是很重要的应用,也是基础。常见的低通滤波如指数滤波等,高通滤波都了解一下吧。
2.18 常见的坐标系:基础基础哈,应该都知道
2.19 机器人四大家族,机器本体和控制系统,精度做的比较好的:四大家族(ABB,KUKA、FANUVC、YASKAWA),本体最好的(KUKA主要是开放性资源多),控制系统最好的(ABB),精度最好的就是我们使用的(STAUBLI),国内产业布局最大的是新松和埃斯顿,下面的拓斯达等,这几年很多很多了,包括楼下的尔必地以惊爆价20000左右的价格在冲击市场。
2.10 ROS:ROS基础自己了解,ROS现在是很多公司必找的人才,了解了解也好,因为很多功能真的很方便。它可以了解一下里面的碰撞检测算法/轨迹规划方法/视觉/地图重构等等,很多公司的算法都是把它摘出来的,变成了自己的产品。也把我们带入linux下,因为在windows下开发软件的很少,没发现很多windows上的软件都是国外的,很少见国内的,也做不出来。
但是ROS的缺点是实时性不好,稳定性差,因为公司倒闭了,靠基金会维持。若是单纯用ros做工业机器人,那估计是瞎搞的,除结合实时性的东西补充,修改才可以用。但是小的类似于玩具的或者服务机器人等用ros还是你可以的,很多公司都用的是。
我面试的时候有四家公司问会不会ros,我只能说不会,但是实际上大大小小的公司都多多少少会用到,去协助平时的开发,如果没时间这块就老实说不会吧。

3、项目经验和实习经验
这个大家根据自己的情况来讲述,一般这部分是第二轮面试的重灾区,师弟师妹们要习惯对李老师下面的所有项目输出文档,具体过程,结果等,资源可以共享的。要不然到时候回头一想,好像就做了软件,中间的都不记得了。

有一些忘记了,但是大致都是这样,师弟师妹们找工作之前了解一下,我去年找工作之前,之里面好多其实虽然知道了解,但是展开就发现了解的不是很透彻,其实面试官从一个问题大概能知道你了解了一些什么。

你可能感兴趣的:(2017秋招常见面试问题总结)