拼多多社招前端面试经历
一面
1、询问工作经历,在项目中如何做性能优化的?
2、有用过状态管理吗?说说redux 的理念;
3、flex: 0 1 auto; 是什么意思?
4、less 的 & 代表什么?
5、react 16 生命周期有什么改变?
6、详细的介绍一下 getDerivedStateFromProps
7、interface 和 type 的区别
(1)type可以声明 基本类型,联合类型,元组 的别名,interface不行
(2)type 语句中可以使用 typeof 获取类型实例
(3)type 支持类型映射,interface不支持
(4)interface能够声明合并,type不能
8、有用过ssr 吗?
9、node 熟悉吗?
10、算法题:求最大公共前缀;
二面
1、webpack 如何实现动态加载
2、react 里有动态加载的 api 吗?
3、React.lazy 的原理是什么?
4、webpack 能动态加载 require 引入的模块吗?
5、require 引入的模块 webpack 能做 Tree Shaking 吗?
6、设计一个input 组件需要哪些属性?
7、value 的类型是什么?
8、有一个a标签,如何动态的决定他的样式。
9、import 和 require 导入的区别
(1)require 是 AMD规范引入方式;import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法
(2)require是运行时调用,所以require理论上可以运用在代码的任何地方;import是编译时调用,所以必须放在文件开头
(3)本质上,require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量;而import是解构过程,但是目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语***被转码为require;
10、require 有什么性能问题
11、class 组件与函数式组件的区别
12、css 优先级
答:important > 内联 > ID选择器 > 类选择器 > 标签选择器
13、避免 css 全局污染。
14、css modules 的原理
15、组件库如何做按需加载
16、onChange 怎么规定 value 的类型
17、interface 和 type 的区别
18、写一个 promise 重试函数,可以设置时间间隔和次数。
三面
1、组件平台有哪些功能?然后详细的跟我讨论组件平台的设计。
2、实现一个 redux。实现 createStore 的功能,关键点发布订阅的功能,以及取消订阅的功能。
3、用 ts 实现一个 redux;
#拼多多##社招##面经##前端工程师#