前言
依然还是遇到的面试题总结。
一共三轮面试,第一轮是笔试;第二轮是技术面;第三轮基本上是和领导以及开发的小伙伴聊天,还是很愉快的~
第二轮技术面主要是针对一面的笔试题和简历上的内容进行展开提问
题目(不分顺序先后)
-
TS和JS的区别,什么情况下是JS可以实现而TS不能实现的
TS是JS的超集,包含了JS所有的语法,除原生开发只能使用JS外,工程化的脚手架中的功能均可以使用TS进行实现
-
你的笔试源码中报了一个TS异常,这是为什么?如何解决?
不允许隐式any类型,应该是tsconfig设置了严格类型导致的,将它关闭,或者显示指定变量的类型即可
-
你的笔试源码中有做了前端本地Table表格导出Excel数据到本地,这样写合适吗?
前端JS做Excel导出会有性能问题,解决方案有以下几种:
- 生成表格交给后端去做
- 将生成Excel函数的执行过程交给Web Worker去做
- 利用requestAnimationFrame/requestIdleCallback对生成Excel的函数进行分片执行
-
你的笔试源码中有使用了less当作变量进行引入,它是用来做什么的?
CSS Module,主要是用来做变量隔离,防止组件的变量污染全局变量
-
CSS Module有什么优缺点?是否会影响到页面的性能呢?
需要额外的脚手架配置,目前没有遇到性能问题
-
如果一个组件中引用了同一个样式选择器,那CSS Module会不会生成不同的类名
不会
-
除了CSS Module,你还了解哪些样式隔离方案
- css in js
-
你的简历中有提到一个性能优化的场景,展开讲讲
还是那个图表的问题~
-
项目中组件懒加载是通过什么实现的?
使用IntersectionObserver异步监听元素是否出现在可视范围内
-
对页面性能的指标的了解
-
你的简历上写了了解React18,可以说说它的新特性吗?
- 更强的并发渲染机制,提供了一些Hooks让我们手动指定渲染,如
useTransition、startTransition - 更完善的状态更新批处理机制
- SSR流式渲染,将HTML进行分段渲染
- 更强的并发渲染机制,提供了一些Hooks让我们手动指定渲染,如
-
React18对你现在项目开发有哪些帮助呢?
目前应该新的批处理机制影响比较大
-
跨域的解决方案
- cors
- proxy
- nginx反向代理
- JSONP
- ...
-
有阅读过Antd的源码吗?
了解过
三面
-
你有做过职业规划?或者短期内的一些打算吗?
-
你对开源技术怎么看?
-
说说你在写项目时给你带来了哪些成长?
总结
四月十号的一场面试,总体来说聊的过程还是很愉快的,期间也发现了很多自己的不足,后面也会再接再厉提升自己!