金山云校招前端二面60min
1.实习介绍
2.虚拟列表具体实现,问列表的高度是动态的要如何实现
3.JavaScript的this指向
4.给代码看输出(this指向、call、)
5.给代码看输出(this指向)
6.原型对象的create
7.Object.create实现构造函数的原型继承,构造函数的原型继承
8.给代码看结果是true/false(原型)
9.给代码看结果(__proto__)
10.事件循环
11.给代码看输出(事件循环,同步任务、微任务、宏任务)
12.给代码看输出(变量提升和暂时性死区TDZ)
13.let和var的变量提升
14.给代码看输出(TypeScript)
const arr=[1,2,3] as const
Type A = typeof arr[number];
15.Vuex和Pinia的区别
16.Vue3和Vue2的区别(API、响应式原理)
17.自定义个Hook实现全局的状态管理,需要导出暴露什么?有几种实现方案?
我说了单例模式和响应式数据,应该不是面试官的答案,我又说使用provider/inject和响应式对象。面试官提示了一下用computed的特点,只读性,保证导出是可读的,必须要使用导出的setter方法修改,保证数据的一个唯一修改方法。
18.reactive丢失响应式的原因?解决方法
19.前端性能优化
20.代码分割(code spliting)是基于什么分割的?处理逻辑是怎么样的?
21.为什么有些包会很大?使用哪些工具去进行分析和排查
22.手撕算法:找出数组里面出现次数最多的元素和出现的次数
2.虚拟列表具体实现,问列表的高度是动态的要如何实现
3.JavaScript的this指向
4.给代码看输出(this指向、call、)
5.给代码看输出(this指向)
6.原型对象的create
7.Object.create实现构造函数的原型继承,构造函数的原型继承
8.给代码看结果是true/false(原型)
9.给代码看结果(__proto__)
10.事件循环
11.给代码看输出(事件循环,同步任务、微任务、宏任务)
12.给代码看输出(变量提升和暂时性死区TDZ)
13.let和var的变量提升
14.给代码看输出(TypeScript)
const arr=[1,2,3] as const
Type A = typeof arr[number];
15.Vuex和Pinia的区别
16.Vue3和Vue2的区别(API、响应式原理)
17.自定义个Hook实现全局的状态管理,需要导出暴露什么?有几种实现方案?
我说了单例模式和响应式数据,应该不是面试官的答案,我又说使用provider/inject和响应式对象。面试官提示了一下用computed的特点,只读性,保证导出是可读的,必须要使用导出的setter方法修改,保证数据的一个唯一修改方法。
18.reactive丢失响应式的原因?解决方法
19.前端性能优化
20.代码分割(code spliting)是基于什么分割的?处理逻辑是怎么样的?
21.为什么有些包会很大?使用哪些工具去进行分析和排查
22.手撕算法:找出数组里面出现次数最多的元素和出现的次数
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看10道真题和解析