Skip to content

参考不大,像kpi

1、用到了哪些前端技术,做了什么事?

我跟面试官说我结合项目说用了哪些技术栈:

  • 低代码:monorepo 进行包管理,物理组件采用 vite 库模式进行打包,项目分为桌面端和移动端,使用 sass 封装了响应式协议
  • 实习使用 uniapp,对云打包,ios 真机打包也会一点
  • ast 解析采用 rollup 打包,开发采用 react
  • 桌面端采用 electron、vue
  • 后端 express、nest 也都会使用

2、问我框架中哪个更理解?

vue

3、说说 vue 原理的理解?

说了 vue3 重写了响应式系统,说了下 vue2 的缺点,对象代理是属性级别的,属性新增检测不到,需要递归遍历,嵌套深的话性能不好...

4、面试官问:还有吗?让我说说底层怎么设计的

宕机,就知道这点东西。说了自己对 vue 源码不太理解,还说了知道 diff 算法的更新。

5、又问我 diff 有哪些更新?

vue2 相对全量更新,vue3 拿列表举例,分为有 key 和无 key,有 key 有分 5 种。当时脑子不清醒了,以为还在问 vue3 的变化,把 treeshaking 和打包性能提升也说了 😭

6、虚拟 dom 的设计是如何的?

vue 借鉴 react 的思想,多次更新统一渲染,跨平台。

7、vue 响应式如何做的?

读取走 get,收集依赖,访问 set 去执行所以依赖的更新。

8、快说完被打断了,问我 vue3 使用 proxy 的区别?

一个是属性级别,一个是对象整体级别的。

9、又问我哪些监听不到?

对象新增、删除、数组长度。

10、问我低代码是什么项目?公司的还是自己的?

我说是自己的项目,然后又问我说说公司项目(感觉对实习的产出更感兴趣吧)。

11、问我在公司实习做了些什么?

  • 第一个是老项目重构,只要是量大,其他是业务开发了
  • 第二个是微信小程序过程繁琐,需要去 git 上去领"任务"

又问了自己的项目是实际使用的吗,感觉真的很在乎是否啊上线或者亮点吧。

12、挑自己项目说一下有学习和成长的地方?

工程化学习。

13、如果一个新项目拿到手上应该从哪些方面去思考?

  • 先看项目如何启动,找 package.json 命令或者 readme
  • 看路由,页面结构
  • 从入口文件 main 分析

14、让我具体一点,比如说设计一个新的系统?前期应该考虑些什么?让我从低代码项目搭建方向说

  • 项目 api、库调研方面,例如拖拽库调研
  • 相对区域响应式协议要如何实现?tailwind 插件,但是支持度不够好,原生 api 兼容性不够 两者做取舍
  • 团队开发代码规范方面
  • 技术栈选型

15、还有其他方面的吗?

真的是出现最多的话了,就说了要具体业务具体分析。

16、那说说低代码哪些方面还需要提升?不够健全的?

说了上一次面试的动态表单,类似 ai 工作流方面,还有一些动态执行函数的内容。

17、整个项目安全方面应该考虑哪些?

  • 输入避免 xss
  • 权限的动态路由
  • 后端接口参数和身份的校验

又问我还有吗?只能说暂时就这些,感觉很慌啊,没答到面试官点上。

18、让我聊聊安全方面还有其他的了解吗?

我说主要就了解 csrf 和 xss,把一面后下来了解的内容都说了。

经典问题:然后呢?还有什么?无奈说了一些 sql 注入,说了下如何注入的。

19、前端性能优化主要做哪些事情?

从网络和渲染两个方面:

网络:

  • 精灵图
  • 缓存

渲染:

  • 分页
  • 虚拟滚动(复盘想起来还有图片懒加载这些)

又问我补充,从构建方面:沟通打包后资源分析插件去具体分析,大的第三方包排除使用 cdn,第三方包放在一起,便于后续缓存,路由懒加载,首包减少体积。

20、让我说网络方面的优化?

从减少请求数量和减少请求大小,代码切割+缓存(老是容易答重复)。

21、缓存有哪些方式?

就说了强缓存、协商缓存、启发式缓存、策略缓存。

我以为他会说然后呢?让我继续,实际是双方沉默 10s 后进入总结。

22、面试官:在聊到刚刚的性能、安全和网络是开发中很关注的问题,网络问题会看是不是是网络慢了,去看是前端还是服务器这块,缓存也是在减少传输数量

23、目前项目中熟悉的语言是哪些?

js、ts

24、泛型是用来做什么的?

忘了概念,和 interface 搞忘了,不敢答,就说了 interface 一般写对象的类型,type 是一般数据类型,还有做类型参数的,还有 ts 的工具类型。

僵持了很久,然后说跳过这个问题,人麻了,一个简单的问题,感觉印象扣大分啊。

25、快结束了:问我实习能够实习多久?

2 个月朝上。

26、反问:问了二面通过的要求、标准?

分部门,每个部门考核程度不一样,一二面交叉来的,一面时间少,二面可能会长,主要是要更了解面试者。

27、反问:组内业务和技术栈?

腾讯云的云计算、react。

28、反问:技术面一般有几面?

2-3 面