我是一位转专业的同学,我的本科和硕士都是读的交互设计。是从24年3月份开始系统学习前端的,因此面试过程中会涉及到一些交互和用户体验的问题。本次一面持续60分钟。
这次面试的内容感觉非常基础但是又很深入,也揭露了很多我目前还比较薄弱的点
注:引用中的问题表示在上一个问题的基础上追问
面试内容
- 算法题:给定一个数组prices,prices[i]代表某支股票第i天的价格。在周期内可以反复买入和卖出,然后计算最大利润
- 算法题:找到未排序的整数数组中最长连续子序列的长度,并且要求算法的时间复杂度为 𝑂(𝑛)
- 说说Redux的中间件实现逻辑
- Koa的中间件实现逻辑
- 手写一下Koa中间件的基本模型(即app.use这个方法是怎么控制中间件一个个按顺序执行的)
- 知道洋葱模型吗?
- 说说你开发过程中遇到的难题或者优化经验
- 图片优化有哪些格式可以选择?
- 说说webp的压缩算法
- 描述一下虚拟滚动的实现逻辑
- 有什么方法可以使虚拟滚动的过程中尽量的平滑
- 如果用户之间点击滚动条,导致可视窗口跳跃,这个在虚拟滚动中可以怎么优化?
- 了解XSS攻击吗?
- 如果在div中直接把input的输入结果渲染出来,这里如果用户输入的恶意代码,会产生安全漏洞吗?
- 如果是在React中呢?
- 你以前开发其他Unity项目和three.js项目有没有遇到什么有挑战的事情?
- 假设现在的场景是页面加载卡顿或者内存有出现泄漏,你会怎么样去排查问题?
- 如果说这个程序很庞大,直接用Performance看不出来?
学习材料
想要参考我的学习材料的同学欢迎访问这个博客:【学习心得】前端学习材料分享(含八股文)
最后希望大家可以点赞关注一下,后续的面试内容我也会持续更新。如果大家有更好的材料,也欢迎在评论区中分享!