2023年WebGL面试经历

4,336 阅读3分钟

2023年过年后,我开始了找工作,在此将其中的一些经历和经验与大家共享。

我的求职意向

我要找的工作是WebGL工程师,对地域没有要求。

我对于自己要去的公司主要考虑两点:

1.工作强度不要太高。

因为太忙会让你没时间学习,而且加班太久脑袋也会变迷糊,尤其是在开发一些算力较高的项目的时候。

2.不去没有人品的公司。

就我的经历而言,当一个公司没有了人品后,其内部必然存在没人品的领导,这可能会让你无法专心搞技术。而且,助纣为虐,并非君子所为。

我面试过的公司

我当前主要往上海、杭州、北京三地投的简历。

从2023-2-13 至2023-2-15的三天内,经历了6场面试,上海1家,杭州2家,北京3家。

北京的WebGL 挺多的我是知道的,不过我没想到杭州也有不少,也没想到上海的WebGL 并不算太多。

在这6家里面,有2家是家居相关的,其余的分别是办公软件、三维地图 、军工、三维编辑器。

之前我在面试办公软件的那家的时候,他说可以用WebGL开发PPT、word之类的办公软件的插件,这是我没想到的。

其余的,我发现千峰、传智、尚硅谷那样的教育机构里并没有WebGL,至于为何如此,我不太好说。

这6家公司的薪资多数在20K-40K之间,个别在30K-60K之间,因为有的公司是猎头直接推的,有点混乱,我只能有一个大概估计。

接下来说一下面试题。

面试题

面试题分主流前端、WebGL和图形学3部分。

1.前端基础题

主流前端就是js、vue、react、ts、设计模式那些。

js、设计模式和ts都是比较重要的,vue、react你可以说你只是会用,并不精通,也没事。

2.图形学、WebGl和three.js相关的题

基础题:

  • 点积、叉乘
  • 欧拉、四元素
  • 矩阵,如模型矩阵、视图矩阵、投影矩阵、视图矩阵等
  • 正交相机、透视相机
  • WebGL渲染流程
  • three.js中的WebGLRenderer渲染过程
  • PBR材质
  • 法线贴图
  • 后处理
  • 着色器,比如抗锯齿、转场、体积云等

当前公司在实战中遇到的问题点和技术点:

  • 深度冲突问题
  • 多层透明度问题
  • 单面材质的背面可见(不使用双面)
  • 图形的镂空
  • 渲染时的性能优化
  • 开发大场景项目时的性能优化,比如LOD

考察知识面的题:

  • 软阴影
  • 光线追踪
  • 环境光SSAO,SSDO

项目交流

面试官会让你说一个自己做过的最满意的项目,然后就此展开交流沟通,以考察你的实战能力。 这个时候我们就可以把自己的核心亮点展示出来,说得越多越好,只要他不让你停,你就别停。

总结

面试的过程既是一个考察自己的过程,也是考察市场的过程。

我在这次面试中,看到了自己下一步要踩的台阶,这是我面试之前最想要的。

在技术深度上,Three.js的渲染架构逻辑我尚未打通,PBR尚未手写,这是我接下来要重点研究的。

在技能定位上,只研究WebGL、Three.js或者Babylon会有点技能单一,最好再掌握一门相关技术,比如unity、UE4/UE5、cesium、WebGIS等。

在市场需求上,WebGL相关的需求并没有我想象的多,这应该跟市场经济尚未复苏有关系,个人预测下半年会更好一些。

在整体的工作强度上,不加班的公司很少,甚至很多公司会明着说我很忙、会996、会单休,这种我会直接拒绝,也希望大家可以团结一致。