小红书 10.16 一面 (50min)
小红书 10.16 一面 (50min)
Breezli自我介绍
混合问
vue/react这类框架出现的原因,解决了什么
(原生)Vanilia js -> JQuery -> Angular -> React/vue
JQuery (2006):
- 内部解决浏览器对JS的兼容问题(原生JS需要为不同的浏览器编写不同的代码)
- 链式调用,解决DOM操作繁琐问题
- 写的更少,做得更多
Angular (2009):
- MVC/MVVM 架构,将应用分为模型(Model)、视图(View)、控制器(Controller),解决了数据视图不同步的问题(数据变化后,需要手动找到对应的DOM元素并更新其内容/用户操作DOM后,也需要手动更新JS中的数据)
- 双向数据绑定,响应式自动更新
- 从操作DOM的思维转变到构建应用的思维
React (2013) / Vue (2014):
- 虚拟DOM,大大提升了性能
- 单向数据流,数据流更清晰可预测
- 组件化,组件逻辑可复用,灵活性,低门槛
为什么用Monorepo,其他架构有没有实践,各自的优缺点
自己说项目
完整讲了响应式模块,从effect到深层实现再到各种API的实现和逻辑复用
数据变化响应式如何更新到页面上
runtime层,虚拟节点,diff头尾指针比对算法,最长上升子序列,最小化更新DOM节点
有没有除 Vue外 MVVM 的实践
学源码是出于什么原因
有没有用过AI编辑器(cursor、trae)
接触过React吗
项目是怎么学习和构建起来的
组件库跟视频,源码从入口拆解和画思维导图
常见的响应码
首屏优化的方法
讲了CDN、SSE、SSR、水和
事件循环场景题
1 | setTimeout(function () { |
非常自信地说23541
变式
1 | setTimeout(function () { |
犹豫地说23541
问为啥,还问这个4会不会输出
HTTP 和 HTTPS的区别
HTTPS怎么加密
非对称加密:交换身份验证和密钥
对称加密:数据传输
对称加密和非对称加密哪个算力消耗高
用户输入URL到页面渲染的全流程
遇到script标签会怎样
script非阻塞方法
defer、async
defer、async的区别
| defer(延迟) | async(异步) |
|---|---|
| HTML文档解析完后 | 脚本下载完后(立即执行) |
| 保证先后顺序 | 脚本竞态 |
| DOM树已构建完成 | 需小心操作DOM(DOM树可能未构建完成) |
| 多脚本/依赖执行顺序/依赖DOM | 独立(不依赖DOM,顺序无关紧要)/尽可能快执行 |
算法
力扣Hot 100:搜索二维矩阵 II
实现函数:
传入两个已知参数 (二维数组, 目标值),如果数组内存在目标值返回 true,反之返回 false
要求实现最优算法
二维数组:每一列从左往右递增,每一列从上往下递增
example:
[
[1,2,5,6,10],
[3,8,11,12,13],
[7,10,20,30,40],
[40,41,42,90,100],
[41,44,60,1000,10000]
]
目标值:
example:5
最后拿dfs实现了,但不是最优解法,定义二维数组的JS语法写错了被问是不是python写多了……
业务介绍
反问
问面试表现说是公司不让说,然后最后还是说了下算法这块扣分项有点多



