我是一位转专业的同学,我的本科和硕士都是读的交互设计。是从24年3月份开始系统学习前端的,因此面试过程中会涉及到一些交互和用户体验的问题。一面一共持续了80多分钟,面完五分钟之后就过了,约了下周的二面时间。
注:引用中的问题表示在上一个问题的基础上追问
面试内容
- 自我介绍
- 结合自我介绍的项目,讲讲项目中用户体验优化的case
- 在数据持久上,你是怎么判断用户的离开时方式,进而确定是否保存数据的?
- 为什么不考虑本地储存?
- React组件的生命周期
- useEffect的功能是什么?如果useEffect的第二个参数为空会怎么样?(不是空数组,就是不写)
- useState的功能是什么?
- useState在组件中运行,那么每次组件重新执行(渲染)的时候,useState怎么保证自己的数据不会被初始化?
- redux的逻辑或者说链路关系是什么?
- redux的底层是怎么挖掘到数据变化的?(不懂,然后换了一种问法)
- 不用redux这种状态库,比如我现在有个obj,我修改了它,代码要怎么监听到这个修改的呢?(也没答上来)
- 你知道Proxy吗?知道Object.defineProperty?(都没答上来)
- 用什么方式评估平台的交互体验,有什么指标?
- 你用Koa2框架写过路由吗?
- 写服务器接口的时候怎么防止XSS CSRF问题?
- 前端中怎么防止XSS CSRF问题?
- MongoDB你了解得应该也不多吧?(对,只会正删改查)
- Https协议为什么更加安全?
- 第三方劫持密钥之后,Https为什么还能保证安全?
- 非对称加密是什么?
- CDN是什么?
- 浏览器提供了哪些机制来提升页面的加载速度?
- 对于浏览器中的缓存,每次发布除了手动清理浏览器里面的cookie,还有其他解决方案吗?
- 原型链是什么?原型是什么?
- 考察JavaScript事件循环,根据所给的代码,判断结果的输出顺序
- 算法题:说说防抖和节流。然后选择一个来写代码
- 代码中用到了this,请说说this有哪几种绑定机制,再分别说说他们的区别。
- 算法题:将两个有序链表合成为一个有序链表
学习材料
想要参考我的学习材料的同学欢迎访问这个博客:【学习心得】前端学习材料分享(含八股文)
最后希望大家可以点赞关注一下,后续的面试内容我也会持续更新。如果大家有更好的材料,也欢迎在评论区中分享!