作业帮 中台产研中心 校招前端面经(已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了一下,谈下来总包这个价在二线城市好像还算可以,现在还在审批中。

也还算可以吧,当保底不错,后面还要继续面。今年大厂太卷了,双非菜鸟根本都没法过简历关,简历有两段实习都没用。
 

最后送大家副对联吧。

朋友圈复试完左七右八考研上岸,喜提硕士两年

互联网大裁员铜三铁四春招内卷,跑路躺平再见
#作业帮##春招##面经##前端##校招#
全部评论
请问你接受offer了吗?同样的部门方便私聊吗?
点赞 回复 分享
发布于 2022-05-24 16:47
好强啊,我还得从头背……问题里能有一些看着眼熟就不错了
点赞 回复 分享
发布于 2022-04-06 18:13

相关推荐

咦哟,从去年八月份开始长跑,两处实习转正都失败了,风雨飘摇,终于拿到offer了更新一下面试记录:秋招:多部门反复面试然后挂掉然后复活,具体问了啥已经忘了,只是被反复煎炸,直至焦香😋春招:base北京抖音hr打来电话说再次复活,准备面试,gogogo北京抖音一面:六道笔试题:1.promise顺序2.定义域问题3.flat展开4.并发请求5.岛屿数量算法(力扣)深度,广度都写6.忘记了,好像也是算法,难度中等其他问题多是框架底层设计,实习项目重难点~~~秒过😇北京抖音二面:三道笔试题:(为什么只有三道是因为第三道没做出来,卡住了)1.中等难度算法(忘记啥题了,应该是个数组的)2.认识js的继承本质(手写继承模式,深入js的面相对象开发)3.手写vue的响应式(卡在了watch,导致挂掉)---后知后觉是我的注册副作用函数写得有问题,有点紧张了其他题目多是项目拷打,项目亮点,对实习项目的贡献~~~第二天,挂,but立马复活转战深圳客服当天约面深圳客服一面:六道笔试题,由于面过太多次字节,面试官叫我直接写,不用讲,快些写完😋,具体都是些继承,深拷贝(注意对数组对象分开处理,深层次对象,循环引用),加中等难度算法题~~~秒过深圳客服二面:口诉八股大战:大概囊括网络,浏览器渲染原理,动画优化,时间循环,任务队列等等(你能想到的简单八股通通拉出来鞭尸😋)算法题:笔试题6道:1:找出数组内重复的数,arr[0]-arr[n]内的数大小为[1-n],例如[1,2,2,3,3]返回[2,3],要求o(n),且不使用任何额外空间(做到了o(n),空间方面欠佳,给面试官说进入下一题,做不来了)2:原滋原味的继承(所以继承真滴很重要)3:力扣股票购买时机难度中等其他滴也忘记了,因为拿到offer后鼠鼠一下子就落地了,脑子自动过滤掉可能会攻击鼠鼠的记忆😷~~~秒过深圳客服三面:项目大战参与战斗的人员有:成员1:表单封装及其底层原理,使用成本的优化,声明式表单成员2:公司内部库生命周期管理成员3:第三方库和内部库冲突如何源码断点调试并打补丁解决成员4:埋点的艺术成员5:线上项目捷报频传如何查出内鬼成员6:大文件分片的风流趣事成员7:设计模式对对碰成员8:我构建hooks应对经理的新增的小需求的故事可能项目回答的比较流利,笔试题3道,都很简单,相信大家应该都可以手拿把掐😇~~~过过过无hr面后续煎熬等待几天直接hr打电话发offer了,希望大家也可以拿到自己心仪的offer
法力无边年:牛哇,你真是准备得充分,我对你没有嫉妒,都是实打实付出
查看19道真题和解析
点赞 评论 收藏
分享
好久没来牛客了,今天面试了一个实习生,感觉对方形象乱糟糟的,头发像鸡窝,像刚睡醒就来面试了,第一印象直接大打折扣,感觉我没有受到应有的尊重,再加上对方业务能力也一般,我直接挂掉;大家面试的时候还是好好收拾一下自己吧,争取给面试官留下个好印象,面试这东西还是存在眼缘的
MinJerous:更在乎本质,应该看候选人是否和岗位需要的能力匹配。洗脸/不洗头都无所谓吧,说不定人家刚刚通宵准备,就是为了这场面试呢?你挂掉他核心原因还是他能力不行,而不是形象。就算形象好点,能力不行你敢给过吗,不怕后面+1质疑你
点赞 评论 收藏
分享
评论
11
40
分享

创作者周榜

更多
牛客网
牛客企业服务