查看原文
其他

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

前端大全
2024-08-23

The following article is from 前端Sharing Author Hh

金三银四即将到来,前端同学看过来!笔者整理了近两年来自己的面试经历,和大家分享一下,给 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,看两道题目
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 ?
  • 写代码,算法题:有效括号题(做出来了)
  • 事件循环题目:输出顺序
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 必问,最好能手写出来,并且理解每一行代码的含义
  • 最终去向:某出海电商小厂
推荐阅读  点击标题可跳转

1、谈判 Offer 的十条准则(上)

2、【Vue3】如何封装一个超级好用的 Hook !

3、揭秘 JavaScript 代码整洁技巧,让你的项目更出众

继续滑动看下一个
前端大全
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存