拼多多前端开发 一 & 二 & HR面
岗位:前端开发,业务内容是h5电商
面试体验:流程是比较严格的八股问答,面试官挺好的对没答出来的会解答
结果:过了,薪资未达到预期
一面
主要面试内容:
做题和八股文穿插进行
八股文
meta标签常用属性
<link rel="preload">的作用
proload 和 prefetch的区别
async 和 defer的区别
defer 与domContentLoaded的执行先后顺序
no cache 和 no store的区别
页面拿到html到展示出来的过程
缓存策略
css加载失败了,页面会怎么样
常见的移动端适配方案
怎么触发BFC
relative相对于什么布局的
js基本数据类型
什么是跨域
跨域的解决方案
jsonp的原理
jsonp的缺点
预检请求什么时候用
什么是闭包
promise常见的方法
事件的捕获和冒泡,怎么设置事件触发阶段
loader 和 plugin的区别
useEffect 与 useCallback的区别
axios 的 拦截器和适配器的使用和区别
react 的 ssr怎么实现的
axios 的 拦截器和适配器的使用和区别
代码题
1、下划线分割的小写字符串 改写成 驼峰字符串
'abc_de' => 'abcDe'
2、实现Promise.allSettled
考虑使用Promise.all来实现
3、闭包测试题
——大概是下面这样吧
function inc(i) { let a = 0; return function xx1() { a = a + i; console.log(a); let message = `value is ${a}`; return function log() { console.log(message); }; }; } const aa = inc(1); const log = aa(); aa(); aa(); aa();
二面
主要面试内容:
做题和八股文穿插进行
八股文
react 设计hooks的初衷
react 代码复用的方式
Render Props 与 HOC的区别
React Fiber架构为什么可以中断
React状态管理
mobx 与 context的更新粒度的区
webpack的基本原理
webpack loader 与plugin的区别
webpack为什么要使用loader
webpack依赖图怎么构建的
webpack遇到了import语句,是怎么解析出路径的
AST了解吗
对webpack进行过那些配置
代码题
1、原型链
function AA() { AA.a = function () { console.log(1); }; this.a = function () { console.log(2); }; } AA.a = function () { console.log(3); }; AA.a(); AA.prototype.a = function () { console.log(4); }; let aa = new AA(); aa.a(); AA.a();
2、事件循环
类似于下面
async function async1() { console.log('async1 start') await async2() console.log('async1 end') } async function async2() { console.log('async2') } console.log('script start') setTimeout(function () { console.log('setTimeout0') }, 0) async1(); Promise.resolve(1).then(function (data) { console.log('promise1',data) }).then((res)=>{ console.log('promise2',data); rentun Promise. }) console.log('script end')
HR面
对前两面的面试官的印象
多多的工作强度的了解
其他offer情况
薪资预期
#你觉得今年春招回暖了吗#