diff --git a/docs/interview.md b/docs/interview.md index c631df5..4a3cd0b 100644 --- a/docs/interview.md +++ b/docs/interview.md @@ -31,7 +31,7 @@ - 所有泽森员工都需要熟悉小彭老师反复迭代过的节点系统,才能开始他的zeno开发,更何况小彭老师还贡献了包括节点编辑器、Python bindings、实时三维视窗、多进程通信、磁盘缓存、对象序列化、实时optix、shader节点、GLSL codegen、刚体仿真、Prim属性系统、ZFX编译器、PrimPrim 邻居查找、插件系统、ABC 加载器、几何节点、VDB 节点、流体子图、Blender 插件、OpenSubdiv 集成、libigl 集成、CI/CD 工作流等诸多功能。 - 张剥士发知乎文章爆论:我们不需要程序员!只需要偶尔招两个厉害一点的实习生,做个一两年,把软件做完以后,就不需要他们了,显然小彭老师就是这样一个一次性又特别好用的实习生。 -## 某 Unity 小厂 (2024.08.xx) +## 某 Unity 小厂 (2024.08.12) - 一个看起来可能是老板的人物出面迎接,进入一个独立的会议室开始面谈。 - 之前玩过哪些游戏?(主要是肉鸽和模拟经营,着重介绍了杀戮尖塔和KSP,因为他们是Unity游戏,还介绍了制作以撒的结合模组的经历,基于Lua API的) @@ -50,7 +50,7 @@ - 问如何创建一个 UI 界面?选择不同的服务器,登录(使用json+http实现rpc,获得一个列表,然后设置列表,即可利用MVC创建出界面) - Unity 的 UI 系统会写吗?(不会,只知道Qt有QListView控件,Unity可能也有吧?) -## 蔚来小汽车 (2024.08.xx) +## 蔚来小汽车 (2024.08.15) 1面(疼逊会议语音沟通) @@ -115,7 +115,19 @@ 又介绍了zeno和taichi,问了点云相关问题,很快结束了。 -## 3D 打印小厂 (2024.09.03) +4面(拉投资的合伙人亲自线下见面) + +- 商场全部关闭了,星巴克还开着 +- 介绍一下你自己8(又是 zeno) +- 问了上次的面试官怎么样呀(我看了推荐的 3dgs,发现是把扫描出来的点云,逐步转换为椭圆球渲染) +- 你知道,现在主流图形学都是三角形网格,那么这种点云要如何渲染呢?(点云的话可以先用 marching cube 转三角形面,zeno 的流体就是这样的) +- 但是性能不够,不能保证实时(可以用屏幕空间流体,但是效果一般,我们做电影的需要高质量的离线渲染,不太注重实时性,实时椭球的话,也可以用光追,算射线与椭球表面求交即可,不过英伟达的硬件加速只有三角形的,但是 GPU Gems 上的 BVH 加速求交代码用于椭球也是可以拿来参考的) +- 拿出一台 3D 扫描机器,说你知道我们这个测绘机器是如何定位的吗(惯性制导,里面有加速度计,求二阶积分就可以得到位置) +- 但是这样时间长会有累计误差,如何消除误差?(可以用 GPS 定位,也可以通过光学摄像头扫描的结果,确定自己的相对位置,必要时可以贴几个识别纸片在墙上方便程序检测) +- 是的,实际上我们在户外会用 GPS 定位,矿洞里就会用光学的定位方法,消除惯性制导的累计误差。 +- 那么 GPS 卫星定位的原理你知道吗?(三颗 GPS 卫星发出不同相位的电磁波,因为光速有限,移动设备通过检测相位差,就知道自己距离三颗卫星的距离,然后三个距离就能唯一确定一个点) + +## 雅科贝思 (2024.09.03) - 介绍一下自己(又介绍zeno是一款CAD类的项目) - 哈希表(介绍unordered_map基于链表法,标准库的hashint是恒等函数,absl的实现基于开放地址法更高效,java也是链表法,但链表过长会转换为红黑树等) @@ -124,3 +136,5 @@ - 面试官透露:实际上红黑树就是一个4阶树,你想想看(确实,如果把红黑两层看作一层的话,那么实际上是一个4阶平衡树) - OpenGL 渲染管线(3d顶点数据 -> vert shader (矩阵变换) -> 光栅化+插值+深度测试 -> frag shader (前向着色) -> G-buffer -> 延迟渲染 (后向着色) -> 后处理 -> 屏幕) - 来面试的人中,你是我见过技术最好的一个,之前一个硕士,上来哈希表就支支吾吾挂掉。 + +事后:已录取,正在上班ing……又是做 Qt + OpenGL 的项目