阅读 248

出一些短期内没什么用的 AR 面试题

说明

这是一篇短期内几乎没什么用的面试题,因为现在很少有人研究 ARKit。在面试中,即使招聘 AR 开发者,更多还是考察应聘者的 iOS 基础知识:OC 语法,block,KVC,KVO,runtime ,runloop,算法与数据结构等。其实只要基础牢固,又有 OpenGL 或 OpenCV 经验,就可以很快完成入门,开始 AR 开发。

不过,这些问题对于想要入门 ARKit 的开发者,仍然具有参考意义。而且这些问题实际上并不局限于 ARKit 和 iOS 开发者,对所有 AR 开发者(ARCore/Unity)都有一定的参考意义。

ARKit

  • ARKit 中的坐标系是左手系,还是右手系?
  • ARKit 中的矩阵是列主序,还是行主序?
  • AR 中结点的 position 和 worldPosition 有什么区别?
  • 你是如何理解 ARKit 中的锚点(ARAnchor)?常见锚点类型有哪些?
  • 影响 ARKit 追踪质量的因素有哪些?谈谈看法
  • 欧拉角表示旋转时的正方向是如何判断的?
  • 什么是万向节死锁(Gimbal Lock)?ARKit 的欧拉角有这个问题么?
  • ARKit 中常见灯光类型有哪些?
  • SCNCamera 的 zFar, zNear, FOV 是什么含义?
  • SCNNode 与 SCNGeometry 的关系是什么?谈谈你的理解
  • 物理引擎中 physicsBody 有哪些,使用有什么区别?能否举例说明一下?
  • 常见贴图有哪些?下面这些贴图中,哪个可能是法线贴图(normal)?简单说说理由
  • SCNAction 和 CAAnimation 动画有什么区别?
  • SCNLookAtConstraint 和 SCNBillboardConstraint 有什么区别?
  • PBR 渲染有什么不一样?
  • 什么是深度冲突(z-fighting)?

线性代数/几何

  • 向量叉乘和点乘的几何含义是什么?
  • 矩阵的每一列向量代表了什么?
  • 矩阵乘法几何含义是什么?
  • 逆矩阵(inverse matrix) 的几何意义是什么?
  • 如何判断一个点在不在 AABB 盒之内?
  • 四元数和轴角/旋转角都是 4 个数,可以直接通用么?
  • 为什么旋转的插值要用四元数?谈谈自己的看法
  • 矩阵的转置(transpose)一般用在什么场合?
  • 矩阵乘法 A^{-1}MA 的含义是什么?能否通俗地说明一下
  • 如果在 4x4 矩阵中,计算左上角 3x3 矩阵的行列式,结果为 -2,说明了什么?
  • 逆转置矩阵(inverse transpose matrix)有什么用?
  • 如何从空间中若干个点,拟合出一个平面?谈谈思路

最后

所有这些问题,并不是为了难住别人,而是希望能以这些为线索,谈谈对 AR 和线性代数的理解。可以谈相关理论,也可以说实践中遇到的问题,和自己的思考。

总之这些问题,可深谈可浅谈,也不必过分追求什么正确答案。个人认为:能就一半问题谈谈自己的看法,就可以算是入门 AR 了;绝大部分问题都能回答两句,就可算是熟练了。

关注下面的标签,发现更多相似文章
评论