专业技能

一般来说,面试官会根据你的简历内容去提问,但是技术基础还有需要自己去准备分类,形成自己的知识体系的。简单列一下我自己遇到的一些题

最近得空把之前遇到的面试题做了一个整理,包括我本人自己去面试遇到的,还有其他人员去面试遇到的,还有网上刷到的,我都统一的整理了一下,希望对大家有用。

其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器等等

由于文章篇幅有限,仅展示部分内容

在github种creating buffers for a cube 的例子种:

仅需7行代码就可以在twgl.js实现webGL需要近20行实现的内容:
在GitHub的原文中也提到:

A simple lit cube in WebGL might easily take over 60 calls into WebGL.

const arrays = {
  position: [1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,1,1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,-1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1],
  normal:   [1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1],
  texcoord: [1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1],
  indices:  [0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23],
};
const bufferInfo = twgl.createBufferInfoFromArrays(gl, arrays);

twgl 的定位只是减少重复代码,并没有进一步抽象,所以使用它和直接用 WebGL
在学习成本上没太大区别,因此非常适合初学者,但也意味着它没什么独特的功能。

regl.js

在这里插入图片描述

Fast functional WebGL

顾名思义,regl对webGL进行了函数式的封装。

和 twgl 单纯简化代码相比,regl 提供了跟高层的抽象,将原本的过程式转成了函数式,使得看起来更符合直觉

OGL

在这里插入图片描述

Minimal WebGL library
最小的webGL库

ogl定位比较特别,介于webGL封装和渲染引擎之间。

https://github.com/oframe/ogl

https://webglfundamentals.org/webgl/lessons/zh_cn/ webGL教程WebGL Fundamentals

渲染引擎

渲染引擎比webGL教程更加容易上手一些

Filament

https://github.com/google/filament
https://google.github.io/filament/Filament.html#about/authors

整体上我觉得它是学习 PBR 渲染实现原理的优秀项目,虽然暂时不适合在 Web 上用,但值得继续关注。

Claygl ✳

在这里插入图片描述

http://claygl.xyz/

Claygl 是 ECharts 核心开发者 pissang 大神的开发的 WebGL 引擎

文末

篇幅有限没有列举更多的前端面试题,小编把整理的前端大厂面试题PDF分享出来,一共有269页

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐