作业帮 中台产研中心 校招前端面经(已oc)
base合肥,没笔试,本来想选北京的,但据说北京没有hc
3.21投的简历,效率挺快,22号hr就加微信约面试了,没有笔试
-
3.23一面,大约一个来小时
-
3.28二面,四五十分钟
-
3.29三面,又是一个多小时(本来说好是hr面,但那天hr没来,也没有给我取消面试,竟然毫无通知的加面了一轮,很麻😅)
-
3.30hr面,半小时左右
-
hr面结束当天下午收到offer call
面试用的是海纳视频
一面
一面当时没有记面经,有很多题记不清楚了,不过主要是围绕Vue和JavaScript基础展开问的
面试官在面试前看过我的博客,会找一些之前写博客时写过的知识点来问
大部分题都是八股文,网上都有答案,我就不贴了
-
自我介绍
-
实习情况
-
简述实习项目,有没有做的比较困难的
-
this指向问题(给一段代码说运行结果,不难)
-
考察Promise.then的执行顺序,大概意思是有一个foo函数,里面有两个初值为0的变量,然后分别有两个Promise.resolve().then,在then里面赋了值,在then外面log出相加结果,这样输出是0,问怎么改才能让输出变成正确的结果
-
上来撕了一个Promise.all,面试官说可以,但我不希望改动功能代码的结构,还能怎么办?
-
把函数用async/await改写一下
-
-
聊聊宏任务微任务事件循环
-
实习主要用Vue2还是Vue3?(都用过)
-
讲一下Vue2双向绑定的原理?Vue3是怎么做的?
-
Vue2的生命周期?
-
你一般在哪个生命周期里调用后端接口,为什么这样选?
-
能说下computed和watch的区别是什么吗?
-
有没有用过keep-alive?简单说说
-
nextTick的实现原理?
-
Vue父子组件通信方式?
-
用过哪些路由守卫?
-
算法题,给一个由多叉树组成的森林,实现一个search函数,参数是要搜索的一系列值,返回每个从根节点开始到搜索目标值的遍历路径构成的子树,保证每个节点的值不重复(不知道这题算easy还是mid,反正写的挺一般的
[ { value: 1, childrens: [ { value: 2, childrens: null }, { value: 3, childrens: null }, { value: 4, childrens: [ { value: 5, childrens: null }, { value: 6, childrens: null } ] }, ] }, { value: 7, childrens: [ { value: 8, childrens: null }, { value: 9, childrens: null } ] } ]
一面没有反问环节
感觉整体还行,面试结束后直接收到了二面邀请
二面
-
自我介绍
-
现在还在实习吗,对工作地点有没有要求
-
详细说下如何判断app端内环境的(实习项目
-
说两个实习项目的难点
-
给一个函数,判断一下他是干啥的(就是个把js对象转成数组的方法)
-
面试官讲了一下实际用途,处理后端不好改的接口,返回的数据没法直接用需要先转换下
-
要求在不执行代码调试的情况下讲出尽可能多的优化方案
-
-
get和post的区别有哪些?尽量多说
-
get和post接口都有哪些应用场景?
-
获取商品列表,获取商品详情,添加商品,删除商品,应该用什么类型的接口?
-
手写题,原生js实现点击li时输出其位置序号,只写js代码即可
-
使用事件委托有什么好处?
-
什么是csrf攻击,多说几个解决方案,说详细
-
说一下localstorage和cookie的区别
-
手写题,如何实现一个带过期时间的localstorage,写出一种实现
-
了解爬虫吗?爬虫怎么写?爬虫是干啥的?
-
作为网站站长如何限制爬虫爬取数据,都能从哪些方面入手分析?
-
如果你是爬虫作者,如何绕过你刚才说的那几个限制?
-
在一场爬虫和网站站长的对抗中,你觉得谁更占优势?
我麻了,后面爬虫这几个题不知道他为什么要问,我之前实习也没写过爬虫啊,在学校里倒是写着玩过
反问:
-
业务单元?
-
团队规模?
-
对应聘者更看重哪些方面的能力?
-
校招主要看基础,看解决问题的思维,以及一些软实力
-
二面也是秒过,效率挺高啊。。
三面(划重点)
本来说好的只有两轮技术面,面试官一开始也没有说自己是HR,我就以为是HR面了。
一开始就问了一下自我介绍,实习经历,结果追着问起来没完了,我当时还寻思,怎么现在的HR都这么专业了?
追问的情况大概是这样:
-
你具体讲讲那个xxx需求是怎么做的
-
怎么实现的这个功能?
-
你做的utils函数有其他团队在用吗?
-
升级脚手架到底都改了哪些依赖?(实习项目
-
大文件上传是你做的吗?如果让你来做你怎么做?
-
停一停,你这个地方说用了EventBus,说一下什么是EventBus?
-
你做了优化依赖冗余,怎么分析的冗余?优化措施是什么?
-
按需加载是怎么做的?为什么要上CDN?
-
...还有很多想不起来了,总之很多很多
直到这个面试官开口来了一句:
你能详细说说CDN加速的原理吗?
麻了,原来是技术面啊😅。
之后开始围绕性能优化开始聊,其实下面这些题单独拿出来看难度都不大,但当时面试官发问跟连环炮一样,有点跟不上他节奏。。
-
前端性能优化都从哪几个角度切入分析?
-
你都用过哪些工具分析性能?
-
针对Webpack的性能优化都有哪几个方面?
-
Webpack怎么做的代码压缩?
-
旧版本的Webpack和新版本的Webpack在代码压缩上的区别?
-
简单聊聊tree-shaking?
-
说一下Webpack的chunkhash都知道多少
-
网络层面有哪些可以优化的点?
-
说一下强缓存和协商缓存?
-
说说HTTP2的多路复用?
-
说说gzip压缩?
-
渲染阶段能做哪些优化?
-
怎么使用requestAnimationFrame?
-
说出尽量多的避免重绘和重排的方式
-
知道什么是TTFB吗?
-
对比一下http和https?
-
https为什么可以提供安全传输?它的加密流程是怎么样的?
-
简述dns解析的过程,在什么时候迭代解析,在什么时候递归解析?
-
说几个常用的HTTP请求头和响应头
-
content-type都用过哪些?
手写题,写一个让图片无限旋转的操作,搓css3动画,搓到一半面试官喊停,说写到这就可以了,不用再继续写了。
手写题,手写trim函数,问会不会正则表达式,我说不太熟练,不敢写,写了个暴力。。
然后,面试官抛出了最后一个问题:
你看过Vue源码里面的trim是怎么写的吗?
我说,没有。。
面试官:好,那咱们三面就到这里了,你还有什么问题要问我的吗?
(内心十万复杂中。。。)
反正就又把二面的反问再问了一遍。面试结束后我问HR咋回事,是不是被加面了,结果HR给我说不是加面,要面试我的HR当天没来,然后就找了个技术面试官。
结果三面回答的乱七八糟的也过了。结束后一度怀疑是不是KPI。
啊对对对,行,你说的都对。
HR面
-
自我介绍
-
简述在货拉拉实习的工作内容?
-
实习经历给你带来的收获有哪些?
-
对工作城市和行业是如何考虑的?
-
做的最有挑战的或者花费时间最长的工作是什么?
-
导师和你负责同一条业务线吗,在遇到困难的时候是自己尝试解决还是去找导师?
-
实习期间做的最有成就感的一件事是什么?
-
实习时有没有从0到1完整地做过某个项目?
-
在学校里参加过哪些社团组织?
-
具体说下怎么做的学校官网维护?(简历里有
-
简单说下软件设计大赛是怎么拿到一等奖的?你们的团队规模和分工是怎样的?
-
平常有哪些兴趣爱好?
-
感觉自己在前端开发方面的优势是什么,还有哪些不足之处?
-
期望薪资?
然后反问环节问了很多比较细节的东西,工作时间,薪资结构,福利待遇之类的。
offer
据说是给了个sp,我还小a了一下,谈下来总包这个价在二线城市好像还算可以,现在还在审批中。
最后送大家副对联吧。
#作业帮##春招##面经##前端##校招#朋友圈复试完左七右八考研上岸,喜提硕士两年
互联网大裁员铜三铁四春招内卷,跑路躺平再见