惜败虾皮、快手、拼多多,终拿字节 offer,CSS的伪类和伪元素

主要问的问题如下:

  • react16新增了哪些生命周期、有什么作用,为什么去掉某些15的生命周期(写过码看过文档都能答上了)

  • fiber怎样的,如何实现异步渲染(链表/可中断)

  • reduxredux-saga的区别和原理

  • 项目中用到的saga-duck是个什么东西

  • useEffect的实现原理(坦白说自己没看过react的实现,就说了下preact的实现)

  • 异步渲染和旧版的diff的区别

  • babel实现转码的过程(词法/语法分析)

  • 项目的技术栈怎么选型(这种问题好几次都被问到,感觉我真的不太知道怎么答)

  • 小程序底层实现原理了解多少(说了下双线程模型/预加载webview

  • 项目nodeJs应用异常退出如何处理(pm2/uncaughtException事件等)、日志上报怎么做(输出重定向到文件,elk服务传传到kibana)

  • graphic schema怎么设计(说了下我对于项目中的理解,资源维度,感觉回答不太好)

  • 有哪些技术驱动业务的案例(说了下这个插件的思路和webpack一些优化)

最后写了一道算法:最大乘积子序列,有正负数的情况。应该对应于这个leetcode题目。这里我理解错题意以为这个序列是可以不连续的,而且对于理解错的题意也用了一种错误的写法,用了o(n2)的一种实现。然后面试官提示说o(n),最后还是没做出来。这个题目其实自己在之前的刷题的时候自己也是比较顺利能解出来了,这里有点可惜,面试临场代码能力还是有待加强

最后面试官大概讲了下部门情况,他们那边是深圳快影前端团队,目前规模还不大,正在大力招人。最后还问了下我如何看待目前部门工程化建设不足的问题,我表示这是一个很好的机会去挑战自己(hhh)。

当时这次面试之前,差不多两年没面试了(上一次面试还是2018年的8月),很多地方自己感觉也是表现不太好。虽然面试官最后说了认为我是一个比较优秀的同学,让我当时迷之自信误以为会有下一轮。过了一周没有任何答复后,去boss直聘上问了下hr,答复说算法有待加强,第一次面试凉凉~

拼多多

拼多多投的是广州的部门,好像是小程序团队,通过一个同学内推的

一面 47分钟。某天晚上9点

  • 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…)

二面 周日 下午2.30 35分钟

  • css的盒子模型(content-box border-box)

  • 实现动画有哪些方法 (js css)

  • react mixing hoc 继承 hook之间的区别/优缺点

  • 浏览器渲染出一个页面的过程

  • vue/react技术选型

  • 项目相关,项目重构开发如何并行balabala…

  • 项目中工程化进行了哪些优化

  • 项目中继续进行优化会从哪些方面去做(说了下webpack5 module fedration)

  • nodejs项目的性能优化

  • linux文件权限(4 2 1 )

  • 前端监控怎样实现 (数据采集、上报、展示之类)

三面 本来约了去星期天广州现场的,结果车票都买好了,前几天,hr说部门架构调整,岗位暂时不开放了。又凉了~

拼多多的面试时间还是很合适的,周天+晚上9点,基本可以避免上班的尴尬(毕竟11 11 6…)。问的问题也中规中矩吧。不过也无缘了。拼多多的两轮是比较少有的不需要手写代码的,都是电话面试。

虾皮

虾皮通过一个同学内推的,面的金融部门

虾皮都是qq视频面试+腾讯文档word写代码

一面 周二早上

  • 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外链资源加载失败(面试官又追问了onerror 和addEventListener的error都能吗。面试官说onerror不行,具体我没试过…)

  • Mutation ObserverInterp Observer使用场景(Interp听过没用过)

  • 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事件是做什么的(这是和一个控制读写速率有关的事件)

二面考得比较细,问了很多看代码问输出的问题,也问了一些比较细节的问题,有些细节的地方确实实际也没接触过。

字节

字节是通过一个同学内推的。字节也是自己比较中意的公司之一吧。为了准备字节面试,刷了不少leetcode,虽然好像面试也没怎么考,但是通过这段时间刷leetcode,不得不承认感觉自己的代码能力也有一定提升

某个周日晚上20点

一面

  • 常用的http状态码(101 200 204 301 302 304 307 400 404 500…)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

前端校招精编面试解析大全点击这里免费获取完整版pdf查看

[外链图片转存中…(img-MBQcQZTS-1712343950166)]

[外链图片转存中…(img-Vsf7GqtI-1712343950166)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

[外链图片转存中…(img-CtDMA697-1712343950167)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

前端校招精编面试解析大全点击这里免费获取完整版pdf查看

  • 15
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值