multipartfile前端怎么传_互联网寒冬,一年经验字节跳动、虾皮、快手、拼多多前端面试总结...

一、快手

主要问的问题如下:

  • react16新增了哪些生命周期、有什么作用,为什么去掉某些15的生命周期(写过码看过文档都能答上了)
  • fiber怎样的,如何实现异步渲染(链表/可中断)
  • reduxredux-saga的区别和原理
  • 项目中用到的saga-duck是个什么东西
  • useEffect的实现原理(坦白说自己没看过react的实现,就说了下preact的实现)
  • 异步渲染和旧版的diff的区别
  • babel实现转码的过程(词法/语法分析)
  • 项目的技术栈怎么选型(这种问题好几次都被问到,感觉我真的不太知道怎么答)
  • 小程序底层实现原理了解多少(说了下双线程模型/预加载webview
  • 项目nodeJs应用异常退出如何处理(pm2/uncaughtException事件等)、日志上报怎么做(输出重定向到文件,elk服务传传到kibana)
  • graphic schema怎么设计(说了下我对于项目中的理解,资源维度,感觉回答不太好)
  • 有哪些技术驱动业务的案例(说了下这个插件的思路和webpack一些优化)

二、拼多多

一面

  • redux的理念(说了下action dispatch state啥的,单向数据流)
  • react-reduxconnect怎么实现(高阶组件、context注入store、subscribe订阅store数据变化)
  • mixin hoc 继承的区别,优缺点
  • react diff如何实现
  • react 旧版的diff用深度优先还是广度优先。为什么用深度优先,广度优先能实现吗(其实我认为广度也能实现的,面试官问广度有啥不好,我确实不知道..)
  • diff的时间复杂度?为什么?(o(n)。提了下react优化o(n3)->o(n))
  • react-router实现原理(hash/html5 history)
  • 客户端路由hash/history实现的区别、原理
  • 有哪些常见的http
  • websocket/轮询的好处和缺点 (性能、兼容性)
  • websocket的握手过程(urgrade websocket
  • tcp的握手过程
  • tcp/udp的区别
  • 一个应用场景redux触发几次action如何设计(这个问题感觉有点迷,不知道有啥问,我回答也有点迷,面试官说可以了...)
  • 尽可能多实现pdd app导航布局实现(就是类似4等分div并列排布)
  • 如何清除浮动
  • BFC实现原理
  • 开放题:pdd首页假设没有任何优化,尽可能多的想优化的办法(懒加载、打包优化、webpack速度、代码压缩、雪碧图、http2 balabala....)

二面

  • css的盒子模型(content-box border-box)
  • 实现动画有哪些方法 (js css)
  • react mixing hoc 继承 hook之间的区别/优缺点
  • 浏览器渲染出一个页面的过程
  • vue/react技术选型
  • 项目相关,项目重构开发如何并行balabala...
  • 项目中工程化进行了哪些优化
  • 项目中继续进行优化会从哪些方面去做(说了下webpack5 module fedration)
  • nodejs项目的性能优化
  • linux文件权限(4 2 1 )
  • 前端监控怎样实现 (数据采集、上报、展示之类)

三、虾皮

一面

  • http 302 301 307之间的区别
  • 301和302对于seo来说哪个更好 (301)
  • 跨域是什么、如何解决
  • jsonp有什么缺点
  • 图片base64和外链的应用场景,各有什么优缺点(base64减少请求数,但是会增加额外的体积)
  • http缓存机制
  • https的握手过程是怎样的
  • set/map的区别
  • hook的局限性
  • setState和hook的区别
  • decorator的作用,编译后是怎样的(@decorator -> decorator(target)...)
  • symbol是什么,一般用来做什么
  • csrf 是什么 如何防范
  • sql注入是什么,如何防范
  • react 调用setState之后发生了什么
  • nodejs事件循环机制
  • pm2的原理,有哪些模式(cluster fork)
  • docker和k8s有了解多少(k8s听过没用过)
  • 移动端端一个元素拖动,如何实现和优化(节流、改变位置)

-for in/for of 看代码输出

  • 几道看代码说输出(忘了具体题目了)
  • 描述链表的反转怎样实现,复杂度多少

编程

  • 实现instanceOf
  • 实现一个对象被for of遍历
  • 实现链表的添加、删除。复杂度多少

二面

  • 给了两段效果上都可以实现child 继承 parent,细节上的差别function child(){}function parent(){}
    child.prototype.__proto__ = parent.prototype
    child.prototype = new parent()
    复制代码
  • 一些代码看输出的题目。考点有函数this指向的问题
  • 如何监听html外链资源加载失败(面试官又追问了onerroraddEventListener的error都能吗。面试官说onerror不行,具体我没试过...)
  • Mutation ObserverIntersection Observer使用场景(Intersection听过没用过)
  • 127.0.0.10.0.0.0差别(一个只能通过localhost ,一个可以通过本机ip或者localhost都行)
  • 利用promise js sleep函数实现
  • jsx转换后是怎样的
  • redux compose函数做什么的,中间件呢
  • redux-saga是什么,和redux-thunk有什么区别
  • dva有了解吗
  • umi.js有用过吗
  • req.pipe(res)
  • stream 如何处理数据消费和数据生产的速率不一致问题
  • writeable stream drain事件是做什么的(这是和一个控制读写速率有关的事件)

四、字节

一面

  • 常用的http状态码(101 200 204 301 302 304 307 400 404 500...)
  • 301和302的区别(永久/临时)
  • 前端路由怎样实现(hashchange事件 hack history.pushState)
  • 前端路由直接刷新404怎样处理(404时重定向到index.html 如nginx)
  • 从前端到后端全链路如何设计实现一个登陆的流程(session方案、jwt)
  • 什么是跨域,怎样处理
  • 简单请求和复杂请求的区别
  • 浏览器的缓存策略说下
  • domain属性解决跨域。几种domain设置对跨域是否生效
  • ts 泛型做什么的,infer关键字的作用

题目

  • 实现typescript的ParamtersReturnType (考察infer关键字使用)
  • 实现Promise.all (每个promise resolve结果存数组,最后一个promise返回时,把数组返回)
  • 实现一个并发请求控制函数,限制并发数

二面

  • jwt的原理(以前用过,比较好说)
  • xss和csrf是怎样的,如何去解决
  • pureComponentComponent的区别(前者shouldComponentUpdate默认比较props)
  • react hoc hook解决了什么问题
  • 有哪些常用的react hook,它们做了什么(useState useReducer`` useContext等等...)
  • 项目实现一个中间层的意义(前端全链路日志打通)
  • setState同步还是异步
  • setState传递对象和函数有什么区别?如何选择
  • 合成事件怎样的,有什么好处
  • 事件冒泡和事件捕获的区别、react中的冒泡和捕获呢(react中都是合成事件,无论冒泡和捕获,对应于原生事件都是冒泡)
  • 怎样看待加班(hhh 加班很正常啦,在腾讯的时候也是每天加班)
  • 为啥选择跳槽

题目

  • 实现css垂直、水平居中
  • 实现bind函数
  • 实现快速排序

三面

  • 为什么之前拿了实习offer没来/下一份工作有怎样的预期
  • graphql相比restful的区别、优点缺点()
  • 为啥选择了redux-saga作为解决方案(解决异步优雅/提供很多工具函数)。redux的异步中间件方案有哪些,对比。saga对比dva
  • graphql的鉴权在哪里做
  • 协程是什么(语言层面实现的并发),Go/nodeJs怎样去实现协程(Go使用go关键字、node可以使用Generator实现、我理解react16的异步渲染也是协程的实现)
  • react fiber的机制是怎样的
  • 锁机制的作用,node和Go如何处理死锁
  • Go/node实现并发怎么做
  • node和Go的优缺点怎样理解

编程

  • 实现一个useState

三面可能因为简历写了自己写过一些Go(其实我只是个人项目的一些玩具),面试官问了不少node和Go的问题,然后我就先表明Go自己只是简单学过,然后就按照我的理解回答node和Go的问题..幸好感觉回答得也7788吧

需要面试答案,最新web前端资料,电子书、VUE、面试题、精讲视频的点击这里获取

480d6fdf41ea6711ee1cd3d7555d46e5.png

16b0b0de936056109a989ed9fceaad2d.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值