两年经验前端社招中大厂面经(上)

金三银四即将到来,前端同学看过来!笔者整理了近两年来自己的面试经历,和大家分享一下,给 1-3 年经验的前端同学看机会找工作的小伙伴做一个参考,希望对你们有所帮助。

前言

基本情况:双非本,小厂,21届前端,2年工作经验,面试时间:2023.5.10 - 2023.7.20 前后,工作地点:北京
离职原因:基本没有涨过薪资,北京离家太远(南方人)。同时也考虑到个人发展原因,想跳槽,从北京回到广州深圳工作,离家近一些。


大概是从四月底开始准备面试,5月10号开始投递简历,期间经历了很多事情。2个多月,面了大大小小的公司,基本上都是在boss 直聘、脉脉上投的简历,面试时间基本都是在周一到周五的晚上在家面试,全都是线上视频面试。

在2023互联网寒冬,大环境不好的情况下,我个人的期望是这样的:

  • 面试北京、上海、杭州的公司,如果是大厂问期望工资, 由于个人 base 比较低,期望 base 涨 60% 以上,如果是低于这个数不太会留在北京,也不打算去上海和杭州;如果是中小厂,涨个 30% 也可以接受。
  • 面试广州、深圳的公司,个人期望涨 30% 以上,离家近一些。

面试的公司包括:阿里巴巴、腾讯、拼多多、美团、百度、小红书、同花顺、作业帮、微众银行、cvte 、挚文集团(探探)、58同城、美图秀秀等中大厂。

大厂全挂哈~ 面试结果比较惨淡!没有像其他大佬一样,拿到了 BAT、TMD 等大厂的offer, 接下来总结一下2022年与2023年的面试情况:面试公司、base 地点以及面试部门使用的技术栈等等。

面试情况

2年前端经验(2023年面试情况)

  1. 阿里巴巴鸰羊(杭州,react)一面挂,和面试官完全不在同一频道上
  2. 阿里巴巴国际 lazada(杭州),打电话过来约一面,问了我有没有移动端经验,然后就没有下文
  3. 同花顺 B2C(杭州,vue)一面挂,问得很细,有些答不上
  4. 作业帮(武汉,vue)一面挂,题做出来了,也挂
  5. 拼多多(上海,react)二面挂,promise 相关题没做出
  6. 小红书(上海,vue)二面挂,算法题做出来了,二面整体答得不好
  7. 百度托管页(北京,vue 和 react)一面挂,被面试官调侃两年经验不能手写出 Promise A+ 规范
  8. cvte 视源股份(广州,react)一面挂,细节回答不好
  9. 微众银行(深圳,vue)一面挂,细节回答不好
  10. 云账户(北京,react)一面通过,个人原因刚好在出差,主动取消二面
  11. 百度B2B 爱采购(北京,vue)三面技术通过,每一面都问了期望薪资。HR 面挂,问了期望总包,要了将近 dobule ,base 20+ 以上,挂!
  12. 阿里巴巴飞猪(杭州,react)一面挂,很多基础问题没答上来
  13. 挚文集团探探(北京,vue 和 react)一面挂,算法题有测试用例没通过
  14. 腾讯云智客服系统(深圳,react)二面后,没有下文
  15. 腾讯证券系统(深圳)一面挂,全程聊项目,聊得太久,后因本人有下一场面试,取消本次面试
  16. 金蝶(深圳)二面需要到深圳现场,取消面试
  17. 58同城(北京,react)一二面技术通过,HR 面后无下文,要的不高啊?
  18. 某图海外事业部(深圳,react)一二面技术通过,HR 面通过,offer
  19. 某出海电商小厂:offer
  20. 美团到店事业部(北京,react)一二面技术通过,HR 面挂,要了将近 dobule 的总包,据说严卡 20%-30% 的涨幅,挂!
  21. 阿里巴巴钉钉(上海):打电话过来约面试,由于我入职新公司有一两个月了,所以主动取消面试

1年前端经验(2022年面试情况)

2022年,1年经验的面试结果:

  1. 腾讯-微信读书(深圳,react)一面挂,太菜了,很多问题答不上
  2. 滴滴网约车(北京,react)一面挂,问了很多计算机基础,答不上来
  3. 点猫科技,编程猫(深圳,react)一面挂,整体回答得不好
  4. 立新出行(深圳,react)二面技术挂,问得很刁钻,很多答不上
  5. 高途课堂(北京,react)一面挂,算法有一小步没写出来
  6. 最右(北京)一面挂,css 手写题做不出来
  7. 大族机器人(深圳,工业互联网)一面通过,二面需要到现场,主动取消
  8. UMU 优幕科技(北京,react)一面挂,太菜了,很多问题答不上
  9. MiniMax 名之梦(北京,react)二面技术挂,算法题有测试用例没通过,后面写出来了也挂!

阿里巴巴鸰羊

前端一面(挂)

总结:感觉自己一直在答非所问,说不到面试官想了解的点子上

  • 自我介绍
  • 方便介绍一下,您在过去两年多的一个工作经验
  • 深挖项目
  • 在这个迭代里面:你主要负责哪一个模块呢?
  • 我看简历里你写了一个 xxx 中心,这块您之前参与了吗?这个过程的细节是怎么做的?
  • 你们打包js的过程是怎么样的? 怎么注入到你们框架里的?讲了很多,给面试官讲懵了
  • 那你有开发过像 xxx 中心的组件库吗?
  • 你有开发过哪一些比较复杂的业务组件吗?
  • 你们现在上班的节奏是怎么样子的?
  • 平时你们有赶项目的吗? 你们产品需求开发的模式是怎么样子的?
  • 你在 xx 待了两年多,也挺稳定了,为什么离职?
  • 你公司是在杭州吗?我们部门在杭州
  • 反问:部门主要技术栈react、你们现在主要负责哪些业务,能大概讲一下吗?以及手上做的一些工作、项目
    • 主要的产品:ERP订单管理之类的、客服产品、和你比较类似的低代码开发平台
    • 现在前端团队大概有多少人:30人
    • 平时上班的节奏:早上10点,晚上9/10点下班

同花顺 B2C

前端一面(挂)

前端负责人面试

  • 简单自我介绍一下
  • 我看你们做的这些事情,对前端来说是挺有意义的吧,提效工具这一块,减少开发。
  • 组件库、脚手架这种、模板 可以对前端提效是吧
  • 我想问一下您想换工作的原因: 工作环境和涨薪
  • 那我了解的话,主要还是薪资方面的问题,两年没涨。你们公司的涨薪制度是怎么样的?是环境不好吗?
  • 您在你们团队担任的是一个什么角色?
  • 目前在职看机会,您对新的工作主要是薪资方面是吧?期望多少?您老家哪里的?杭州比北京近一点
  • 那你能讲一下你的项目吗?
  • 你脚手架那块的话,我理解是说,可以通过指令生成一些项目的模板,是这样子的吗?
  • cli 下载应该是拉了一个仓库的模板?
  • 比如说,我们用户需要引入一些资源,这个是用户自己选择,这个有做吗?大概的意思是问:项目初始化的时候,有没有很多资源,可以让用户自己选???
  • 比如说刚才你说的作者、一些基础信息可能是刚开始拉的时候可能就要填了:
  • 那有没有不是基础信息的:比如一些js的引用,包的引用,可能是需用用户自己去配的,这一块是需用用户自己去配的,你是说通过一个配置文件去配,是把?
  • 此处省略多个项目相关的问题。。。

面试官说,接下来问一些技术方面相关的问题:

  • 这两年主要做PC项目,移动端没有涉及
  • 那你们这个ui 框架会对屏幕的大小做适配吗?
  • 不同屏幕的大小适配是怎么做的?不同的屏幕不是自动变宽吗、变高吗?
  • rem font-size 是怎么算出来的? 根据屏幕的宽度 根据 可视窗口的宽度 动态修改 大小
  • PC页面的重绘和回流的区别
  • 比如说有一个父元素它的透明度是 opacity:0.5,子元素我给它设置为 1; 这个子元素的透明度是多少?
  • 那如何设置子元素的透明度为1呢?
  • 用 const 定义了一个 对象后,能用另一个对象替换吗?
  • JS内存泄漏有哪些情况?
  • 闭包为什么会造成内存泄漏
  • 我们有一个业务,它的执行时间是超过 5秒的,它要10秒才能跑完,我这时候又想着每五秒 又想着 去执行这段代码,这个业务场景 应该怎么实现?
  • 比如一个大数据的循环,可能需要10 秒执行完,但是我又要 每个 5秒去 执行 一下这个程序?
  • 有一题比较简单的算法题,打开编辑器。 求两个数组的交集
  • 你们会对前端的数据做加密处理吗?
  • 加密它是一种怎么加密的方式?
  • 最近有用过 chat gpt 吗? 没有装 copilot 能大概说一下 chat gpt吗? 简单的定义
  • 技术栈主要是 react、哪个vue有接触过吗?
  • 问几个简单点的问题:watch 和 created 谁先执行?
  • 在 Vue 里面挂载全局方法?
  • Vue 强制刷新组件:子组件的强制刷新方法。当需要对当前组件进行强制刷新操作,可以调用this.$forceUpdate() 强制刷新当前组件。
  • 问一下React:能解释一下 React 虚拟DOM的工作原理:
  • React 虚拟DOM 对性能方面有什么帮助?
  • React 的错误边界有了解吗?
  • 什么业务场景下,会用到错误边界,它用在哪个地方会比较好?
  • 哪个TS有用过吗?
  • 反问:9点-21点工作 大小周,小周不打卡、技术分享
    • 哪个业务线:B2C集群下面,C端业务、H5为主
    • 主要 Vue + TS,其他部门用React
    • 计划招收 x 个社招名额

拼多多

主要是拼多多中后台这一块,技术架构,develops,监控,埋点,node sdk,还有拼多多内部的小二 一些系统(电商平台的客服系统?),主要是中后台这一块

前端一面(通过)

  • 同学你好,简单的自我介绍
  • 介绍项目
  • 主要做哪一块?
  • 你们几个人在做这个?
  • 问技术栈:主要是React,先聊一下React,再聊你项目里面的东西
  • react的路由有几种模式:hash(hashchange) 和 history (replaceState、pushState)
  • 项目主要用哪个路由模式
  • 用的 hooks 多一点 还是 class 多一点?
  • 自定义的hooks多吗?平时常用 hooks
  • 比如说封装过哪些 hooks ? ok,你可以写几个平时封装过的hooks吗?
  • useCallback 和 useMemo 用过吗? 区别是?
  • useContext 哪个场景会用到它
  • redux全局的store, store是怎么跟react组件关联在一起的
  • 项目的TS使用得多吗?
  • 组件库会有一个像 modal 的这个组件,有没有想过如何实现一个通用的这个组件?功能比较简单一点,比如说有一个全局的蒙层,上面有一个居中的弹框,有一个关闭按钮,可以把弹窗和蒙层关闭掉,如果我想用react自己实现一个,应该怎么实现?
  • 自己有对 webpack 了解吗? webpack的整体流程
  • 常用的loader 和 plugin 有哪些呢?
  • 自定义一些插件,自己 有写过哪些插件呢
  • 自定义的插件的流程
  • 我看你写过自定义插件,它的作用是,解决了什么问题?
  • 中间穿插几个项目问题,省略了。。。
  • ok,聊一下ES6的promise吧,它的静态方法的区别:all、race、allsettled、any
  • 手写 promise.allsettled 的实现

继续问项目:

  • 你现在负责的项目,主要负责那一块的开发
  • 画布区里的组件是 自由布局吗?
  • 搭建的面板你有参与开发吗?
  • 你们现在成品用户多吗?主要是卖给谁呢?谁用在用
  • 你们现在这个平台,现在能盈利?也就是说你不知道你做的这个东西有多少用户在用?
  • 你感觉你们现在这个平台,这个技术的复杂点、最主要的复杂点是在哪里?
  • 你们的客户也是有研发团队的是吧?
  • 你现在是在职状态还是离职
  • 在职看机会的原因是
  • 现在手上有拿到哪些公司的offer吗?
  • 现在在面试中都有哪些公司?
  • 你有什么问题想问我吗?
  • 主要做哪些业务:主要是拼多多中后台这一块,技术架构,develops,监控,埋点,node sdk,还有拼多多内部的小二 一些系统,主要是中后台这一块
    • 主要技术栈是什么?React
    • 我们平时的工作节奏,hr 跟你讲了吗? 11 -11 10-10 9-9
    • 啊?我们不是大小周,每周周日过来
    • 你现在的节奏是怎么样,感觉差不了太多,这个节奏能适应吗?

前端二面(挂)

  • 你毕业之后一直在 xx 公司吗?两年,在哪个城市
  • 换工作的原因
  • 你老家是哪里的
  • 简单的介绍一下项目
  • 讲一下低代码这个系统是怎么设计、怎么实现的?在实现上有哪些难度啊?
  • balabala,此处省略几个项目相关的问题
  • 这个事情(项目),你们做了多久?
  • 你现在找工作有什么样的期望?
  • 你从北京到上海工作应该没有问题吧?你是南方人吧
  • 实现图片的懒加载
  • 还有一道题目做一下:Promise.race相关的,它的实现,超时后重试,多个场景综合考察题
  • 想了很久,重试没写出来
  • 反问
    • 主要技术栈,react
    • 主要负责业务:主要负责公司内网所有的前端系统
    • 平时工作节奏:差不多一天干12个小时吧

小红书(社区)

社区前端方向

前端一面(通过)

  • 好,那我们开始把,先简单介绍一下自己的一个经历,以及自己有亮点的项目?balabala
  • 你可以这样介绍:在这里边主要负责哪几个项目,哪些项目是比较有亮点的,亮点的地方在什么地方?或者是你觉得在这里面你觉得是 比较有挑战的地方?然后简单的介绍一下是怎么解决的?
  • 你们低代码服务的业务是什么?
  • 这里边现有的组件有哪些? 有多少个组件啊,都是什么分类组件啊
  • 你们这个低代码的用户有哪些?
  • 这些用户是企业对应的运营直接在平台上操作吗?
  • 这个低代码都包含哪些能力?
  • 此处省略 N 个项目相关的问题!!!
  • 自定义组件它的渲染的流程是什么?我不太想问这个过程
  • 我不太想了解你们怎么定义它的,我想了解的是你对这个方案的一个理解?
  • 你可能需要描述得细节一点:我对你的这个描述,听不出任何细节的东西
  • ok,看两道题目
js 复制代码
const p1 = new Promise((resolve) => {
    setTimeout(() => {
        resolve('resolve3');
        console.log('timer1')
    }, 0)
    resolve('resovle1');
    resolve('resolve2');
}).then(res => {
    console.log(res)
    setTimeout(() => {
        console.log(p1)
    }, 1000)
}).finally(res => {
    console.log('finally', res)
})
  • 字符串全排列:输入一个字符串,打印出该字符串中字符的所有排列。结果放在字符串数组中返回,但里面不能有重复元素。
    • 输入:s = "abc"
    • 输出:["abc","acb","bac","bca","cab","cba"]
  • esm 和 cjs 的区别
  • requestAnimationFrame和requestIdleCallback 的执行时机,谁先执行? requestIdleCallback 是绘制前执行还是绘制后执行?
  • React Fiber 遍历DOM结构的顺序是?
  • 说两个场景啊:自适应布局的:有一个父容器,3个子组件,和父组件等高的,3个子组件均分父组件的宽度
  • 那如果非均分呢?每一个字符串填充字符串,取决于字符串的多少?
  • 说一下 em、rem、vw、vh、rpx 的含义
  • useMemo 和 useCallback 的区别
  • 手写实现 new 方法
  • 你最近还有其他的面试吗?都在面哪些公司呀
  • 你感觉低代码这个方向:怎么看啊???
  • 你现在做的这个低代码,对于你来说这个,最大的痛点是啥?现有的方案,对于最大的痛点
  • 你有啥想问我的?
  • 反问:
    • 主要技术栈:vue,业务线:社区的一些基础产品
    • 平时工作上班节奏:早十晚九 大小周
    • 部门预计招收多少人?
  • 你这个低代码平台的组件是动态加载的吗?整体打包的?

前端二面(挂)

总体来说项目答得不好,h5 拖拽顺序没答上来,算法题做出来了

  • 简单自我介绍
  • 你们这个团队主要做的业务是什么?你们团队为什么想到要做这个低代码?
  • 你们做的是一块怎么样的业务呢?能大概介绍一下吗?
  • 都有哪些业务场景?
  • 你在这个低代码项目当中主要负责的是什么?
  • 能大概介绍一下 xx 模块 吗?
  • 此处省略 N 个项目相关的问题!!!
  • 诶,能大概讲一下这里面的技术设计吗?就是听起来它还是一个产品流程的描述,能大概讲一下代码是怎么去设计的吗?
  • 比如说,你们是怎么把它渲染成组件?
  • 用的H5的原生拖拽?能大概介绍一下H5原生拖拽它的这一个 拖拽的顺序吗? 然后这个过程中会触发哪些事件
  • 能按照拖拽的执行顺序说一下嘛?
  • drag 拿到的一个对象是一个怎么类型的对象?
  • 为什么会使用原生 H5,不直接使用一些市面上开源的一些工具库、方案?
  • 使用原生 H5 有哪些好处?相比于 开源的一些工具库,或者说它 有哪些实现不了的?
  • 这个拖拽能力 你有做过一些什么样的封装吗?
  • 就你不可能直接使用原生DOM进行操作把?总归是有一些封装的吧?代码是怎么组成的?拖拽这个能力作为一个比较独立的功能,你们没有任何封装?
  • 此处省略 N 个项目相关的问题!!!
  • 你们怎么去评价这个低代码项目做得好与不好啊?
  • 你们会怎么样去评估这一件事情(低代码)?
  • 你们现阶段在一个什么样的水平?它大概能缩短多少周期
  • 你们这个低代码页面支持搭建多少个页面?都有在线上去运行吗?
  • 这个自定义 webpack 插件,是为了解决什么样的问题?
  • 算法题:数组乘积的操作,除了自己以外,所有其他数组的乘积(写出来了)
  • 现在考虑机会的原因是什么?
  • 有什么问题想问我的?
    • 小红书 Vue,工作节奏:大小周,早10晚9
    • 你们主要的base哪些:上海、武汉
    • 前后端大概多少人:60 70人吧,还不算独立方的,发布团队

百度托管页

被百度面试官调侃、吐槽两年经验不能手写出 Promise A+ 规范,Promise 这一块知识回答得不好

前端一面(挂)

  • 简单介绍自己
  • 基本数据类型
  • 箭头函数
  • 介绍 promise
  • 能不能手写出 promise
  • promise 相关的题目:值的传递、错误捕获等综合题目
  • 看您写了几个项目,你觉得哪一个做的比较好的,聊一聊:说一下亮点
  • 你们低代码平台的一个产出是啥?
  • 那你们在可视化平台是怎么跟渲染引擎通信的?
  • 此处省略 N 个项目相关的问题!!
  • 然后你们是怎么做这一个性能的优化的? 因为 json 特别大的话,更新
  • 有没有低代码悬浮的组件
  • 整体页面的自适应你们是怎么做的?
  • 你们组件宽高的属性:比如你在画布区拖入一个文本,他会有一个固定的宽高对吧,这个宽高保存到 schema 的时候属性单位是啥?
  • 有了解过 你们渲染引擎是 怎么解析你们这个 json schema 的吗?
  • 你说的是整体吗?比如说他说怎么把一个组件渲染到页面上的
  • 其实我想听的是整体的层次,它是怎么来做的? 你刚说的是其中的一个点
  • 比如说它有一个通过接口获取的,你说不知道它的真实高度的,然后这种你们是怎么去布局的?
  • 你们当时用的 postmessage ,后面迁移到 xxx 技术,这一个的主要原因是什么?当时是 postMessage 遇到了什么瓶颈吗?
  • 然后你觉得这一块 还有哪个地方做得比较好的吗?
  • 反问
    • 你们的技术栈:基于业务来看,核心是不限技术栈的
    • 主要负责的业务:商业建站
    • 平时的工作节奏:上班时间 10,下班不固定
    • 计划招多少人:目前肯定是有名额

Cvte 视源股份

前端一面(挂)

  • 自我介绍
  • 毕业的时候一直在 xx 公司,你基本都在做什么项目?
  • 你讲一下你主要负责哪一块的?
  • balabala
  • 你们的 json 是怎么定义组件间的联动的?
  • 怎么确定区分两个 input?
  • 你们是怎么触发的事件?这一块能详细说一下吗?
  • 优化、减少打包体积,这一块可以讲一下吗? webpack 这些都是实际有做的吗?
  • 构建优化,打包体积这一块主要是做啥?
  • 自定义插件是做了是做了什么? 具体是啥?解决了什么问题
  • react 函数组件 和 class 组件哪个用的多一点
  • 做了重构,你有做哪一些设计吗?或者说遇到复杂的组件,你有做一些可复用的
  • 有什么可以讲一下吗?有什么组件可以重构的?还有比较难的可以 讲一下吗?
  • 弹窗怎么去做拆分?
  • 有没有说一些 解耦方面的 或者说是 复用方面的 做得比较好的组件 可以讲一下?
  • 从 class 重构成 function 组件需要注意哪些东西?
  • 你在工作中 有遇到什么 坑吗?
  • 类组件 和 function 组件 最大的区别?
  • hooks 大概的原理你知道吗?
  • 比如说 一个hooks ,它是怎么做更新机制的?
  • 那有一个问题,setState 是同步的还是异步的?
  • React 有哪些优化的方式?
  • 路由 的懒加载原理:
  • useMemo 和 useCallback 的区别
  • hooks的闭包 ,会有什么问题吗?
  • hooks的闭包,为什么拿不到最新的值
  • http1 http2 有什么区别
  • 比如说,我往服务器发送 100个请求,http2 它是怎么发的?
  • 聊一下 https
  • 非对称不会泄漏,对称会泄漏?
  • https 安全?
  • https 会有什么安全问题?
  • CSRF和XSS怎么防止你知道吗?
  • SameSite: 严格和 none 有什么区别?
  • 那你知道它们(SameSite)分别对应什么场景会发吗?
  • 反问

云账户

一二面会有手写代码测试,一面或者二面当中,有一面必须到现场来的,对工作环境有一个直观的感受

前端一面(通过)

  • 自我介绍
  • 项目经理
  • 怎么跟 xx模板的开发同学去沟通的呢?
  • 此处省略 N 个项目相关的问题!!
  • 然后你介绍一下项目的难点,你是怎么解决的? 你有什么思考
  • React 设计思路、或者说运行的流程? React 它是一个怎么样的设计?分哪些部分,怎么去走的?
  • 组件是数据驱动的这样一个方式,封装state,最终的话更新到dom节点,那么在这个过程当中,其实有很多的步骤,你可以介绍一下 我们常常关注的一些节点吗?
  • 那它是怎么更新的呢? 中间的过程是怎么样的呢?你刚刚讲得比较粗糙
  • setState的更新流程
  • 那它在什么时候会更新虚拟DOM树呢? render 的时候可以深入讲一下
  • 批量更新的状态:它是怎么设置的?
  • react的状态管理:怎么理解redux的设计方式呢? 分为几个层次去说呢?
  • 定义 多个 reducers , reducers是一个什么概念?
  • 那 dispatch 怎么能知道我通知的哪个 reducers 呢?
  • 有了解 过 React Fiber 最新的架构吗?
  • 那它的中断由谁去中断的?
  • 有接触过网络接口的封装吗?
  • 网络请求的源码? 比如有看过 axios 源码,封装过吗?
  • 比如说一个网络请求:有请求头,header 有哪些?
  • 像文件的下载和上传的话:下载文件会牵扯到断点续传,有可能是怎么做到的呢?
  • 那上传文件呢? 上传怎么实现
  • formdata 的格式?
  • 比如说文件,它其实最终的话传输肯定是一种二进制文件吗?那么二进制文件的话,到了流里面的话,其实后端它也不知道是什么东西?那么肯定会有一些额外的东西,需要告诉后端,我这边,比如说长度是多少,类型是什么. 等等乱七八糟的东西? 你这一块知道吗?
  • 组件的设计规范:比如说你设计一个button,怎么样能够设计出一个好的 button?
  • 比如说这边有这种情况:颜色,边框,边框粗细?文字的大小,基础的能力都有了,那业务方希望说我希望边框是曲线的边框,这时候你应该怎么办? 你怎么去考虑
  • CDN 和 DNS 有了解过吗?
  • CDN 是一种资源的同步更新,像主节点更新了,其他边缘节点 是一种什么样的策略,来保证跟它的主节点保持一致呢? 比如说我主节点更新了,其他节点其实还是老的,怎么去更新呢?更新有怎么样的策略呢?或者说怎么去处理呢?
  • 嗯,文件名称和时间戳?那它怎么跟主节点去对比呢?我就知道它的时间戳是这一个,然后我怎么知道它去更新的,它跟谁去对比呢?
  • 算法题: 无重复的最长子符串长度(写出来了)
  • 反问
    • React技术栈
    • toC 社交产品部业务
    • 平时工作节奏: 10点上班,晚上6点 、7点走人

前端二面(取消)

百度爱采购(B2B)

3技术+1hr,三轮技术面通过,而且每一面都问了期望薪资。

HR 面挂,问了期望总包,要了将近 dobule ,base 20+ 以上,挂!

前端一面(通过)

  • 简单自我介绍(3 min)
  • 离职原因
  • 你的期望
  • 项目经历 balabala
  • 对于这个低代码组件资源管理中心做的组件库,你们自定义的组件,有版本吗?
  • 对于不同版本的组件,组件肯定有它内部维护的数据,例如一个图片,或者是一个表格之类的,会有一个url内容,那如果组件升级了,那组件里面的数据结构发生了改变,你们对数据合并这一块有什么处理吗?
  • 合并数据:比如一个组件可以有1,2,3个版本,会有渲染的时候可以选择哪一个版本的组件,但是它里边内部的数据,应该不会去区分把?
  • 这个项目做了多久?
  • 那对于这个组件编辑的时候,它会有一个拖拽的过程,拖拽的时候去做这个边界的检测,或者有什么自动落位,这部分知道是怎么做的吗?
  • 此处省略 N 个项目相关的问题!!!
  • 然后问一点面试题:Promise 熟吗? 它解决了什么问题,它的技术原理是怎么样的?
  • Promise 可以链式调用,它是怎么做到 链式调用的?
  • 比如说我们调用then 方法 会返回一个新的 promise
  • 你写一个 Promise:15分钟,只需要实现它的状态扭转,then 和 catch 两个方法即可,对于返回的数据类型只处理 promise 和 基础数据类型就行,你可以尽量的简化逻辑分支的处理。把它的基础流程写出来就行(在之前的面试中有问过,并且复盘了,所以完完全全写出来了)
  • 写完 Promise 之后问的问题:
    • then里面为啥要区分一下状态? 有啥用
    • 假设我的 promise 里面全部都是同步代码,promise里面没有做任何异步,不写 pending 是不是也可以?
    • pending 里的东西存的两个数组:他们的执行是在哪里吗?
    • resolvePromise 判断 typeof object 和 null 的地方,如果是null的话,为啥不行
    • 感觉你写的这个Promise,再加点东西就能跑起来,先这样,写的挺细的
  • React 里面 虚拟DOM 有啥用,为啥不直接更新 DOM
  • 虚拟DOM优势?
  • 写遍历的时候,key 有什么用
  • 描述 一下 JS 事件循环
  • 异步的任务有区别:宏任务 和 微任务
  • 在setTimeout 里产生一个promise,当前的promise 会在当前 次执行掉吗?还是在下一次循环里执行?
  • 在ES6,let 和 const 有什么区别
  • 声明 object 和 number 存放位置?
  • 浏览器的缓存机制:强缓存、协商缓存
  • http 3次 握手?为什么要握手3次,握手的流程?
  • http 4次 挥手
  • 反问:
    • 技术栈 Vue
    • 主要的业务是:B2B业务部,MVP下的部门,爱采购 类似于 1688 ,toB的电商平台,主要的业务形态,主站的PC端、移动端、小程序、toB 的商家后台,CRM 等
    • 平时的工作节奏:百度比较不倦的部门,早上 10点,晚上 7 8 点下班

前端二面(通过)

  • 自我介绍
  • 低代码项目里,在线 js 开发是怎么实现的? 开发组件不是这种方式对吧?
  • 在线 JS 代码如何保证安全性? 你会怎么做呢?
  • 你们这个代码是由很多组件组成的对吧,页面加载的时候如何保证 页面的抖动?如何做防抖?
  • 你们会有这样的问题吗?比如说你,后面的 js 先加载出来,就会先出现在页面上,然后前面的比如没有出来,就把后面的挤压,会有这样的问题吗? 目前来说没有把
  • 你们组件有用到编辑态,有用到预览态,那这两个会有一些差异吗?
  • 此处省略 N 个项目相关的问题!!
  • 编辑态的时候,比如说左侧肯定会有一些组件,拖拽的时候会拖入到画布区,你们是怎么渲染出来的?比如用iframe 还是直接渲染出来的
  • 你里面肯定是要排序的嘛?可以上下进行移动,这个过程你如何实现的?
  • 你这个插入的过程是怎么插入的?
  • 那你这个数据有变化了,React 它是做了怎么的处理呢? 比如说,你刚才是一个列表吧,列表的数据变了,顺序变了,数据变了然后更新,落到说React进行渲染,中间进行哪些步骤?
  • 你可以往React的底层去答一些:数据变化到渲染出来,经历了哪些过程
  • 脚手架工具可以简单介绍一下吗?专门对外的一个组件库开发脚手架?
  • 那组件开发完成之后,它是给你编译后的产出包吗?还是说? 对,这个产出包是给低代码使用的
  • 你们这个预览是用微服务的方式吗?微前端?
  • 你们这个有SSR ?
  • 写代码,算法题:有效括号题(做出来了)
  • 事件循环题目:输出顺序
js 复制代码
setTimeout(function () {
    console.log(1)
}, 0);

new Promise(function executor(resolve) {
    console.log(2);
    for (var i = 0; i < 10000; i++) {
        i == 9999 && resolve();
    }
    console.log(3);
}).then(function () {
    console.log(4);
});

console.log(5);
  • 浏览器数据存储的方式
  • 使用的时候一般什么样的数据存在cookie、什么样的数据存 localStorage
  • https 有哪些优势?加密数据,防止泄漏;保证数据的完整性;
  • 你从上一家离职原因是什么?
  • 你期望的薪资?
  • 反问:
    • 技术栈是vue,你们有用 TS吗?
    • 爱采购 vue2 新项目Vue3 + TS + Webpack 5
    • 你们负责的项目有哪些?能整体介绍一下吗?
    • 敏捷开发:分很多方向,主要是平台方向,商品相关,pc、移动、小程序、B端商城后台,主页、列表页,详情页相关,我们这边也是有低代码平台的,我们有我们的建站平台,店铺的页面,商品详情页,这些都是可以配置开发的,也是有不同的主题

前端三面(通过)

  • 项目经历
  • 在你参与负责的低代码项目,前端后端分别负责什么?
  • 低代码平台,前后端是怎么分工的?前端负责什么内容,后端负责什么内容
  • 这个项目的成员分工是怎么样?
  • 所以你做的工作大概是 x 分之一?
  • 那你们 x 个人之间是怎么配合的?
  • 工作量是怎么拆分
  • 你是从0到1参与开发项目,还是后来加入的?
  • 你在这个低代码项目里面主要承担了什么工作?
  • 那你觉得自己在 这个团队的贡献是怎么样的?
  • 反问:
    • 部门整体情况:算正常的吧
    • 工作节奏:早上10点上班,晚上8或者9点走的人多
    • 最大优势:是流量这一块,可以从大搜上倒流,技术上可以用到大搜这边、百度上的一些搜索沉淀,所以说在搜索这一块,应该做得还是不错的。。。。嗯明白
  • 诶,你现在手上有其他offer吗?暂时还没有,还都在面试中
  • 都在面哪些公司呀?
  • 期望薪资
  • 感谢参加面试:拜拜

HR 面(挂)

期望薪资,要了将近 dobule ,base 20+ 以上,挂!

总结

  • 代码能力:大厂基本都会考一道算法题(简单、中等)
  • 薪资:现在很多公司都在卡涨幅,除非是特别优秀的同学
  • 经典问题:项目中遇到比较有难点、挑战的问题,怎么去攻克、解决的
  • Promise 必问,最好能手写出来,并且理解每一行代码的含义
  • 最终去向:某出海电商小厂

为了确保面经的真实性,在这里贴几个中大厂面试邀请的截图哈~

相关推荐
阿珊和她的猫3 小时前
v-scale-scree: 根据屏幕尺寸缩放内容
开发语言·前端·javascript
PAK向日葵5 小时前
【算法导论】PDD 0817笔试题题解
算法·面试
加班是不可能的,除非双倍日工资7 小时前
css预编译器实现星空背景图
前端·css·vue3
wyiyiyi8 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
gnip8 小时前
vite和webpack打包结构控制
前端·javascript
excel9 小时前
在二维 Canvas 中模拟三角形绕 X、Y 轴旋转
前端
阿华的代码王国9 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
一条上岸小咸鱼9 小时前
Kotlin 基本数据类型(三):Booleans、Characters
android·前端·kotlin
Jimmy9 小时前
AI 代理是什么,其有助于我们实现更智能编程
前端·后端·ai编程
ZXT9 小时前
promise & async await总结
前端