三本毕业(非科班),四次阿里面试,终拿 offer
公众号: 「学前端」,只搞技术不搞广告文,欢迎关注~
第一次 20:00
电话一面
自我介绍 对公司工程化做过哪些事情 localStorage、cookie 区别 正则预检?(没听说过) 什么是跨域,如何解决 vue 3 与 vue 2 的区别 前端性能优化 http 缓存(客户端命中缓存后会发请求吗?) 如何不让客户端发出请求(PWA,APP cache) 有什么想问我的?
面试完感觉不错,当场一面面试官就给我说不出意外会有二面电话,结束
电话二面
第二天中午,二面面试官就打电话过来,约了周五 20:00,但是 18:00 左右的时候,他说有事比较忙,能不能约到当天晚上 22:00,然后我说可以啊。
周五晚上 21:50 左右,我就在小区花园等电话,不一会就来了电话,当时天气很冷。。。
自我介绍 怎么与前端结缘的,给你 5 分钟左右,从大学开始说一下吧? 在第一家公司用的什么技术? 在第二家公司有人带你吗? 在第二家公司技术栈发生了什么变化,你都做了些什么? 如何获取页面的所有标签种类? 伪类选择器有哪些? 给你一个 div 盒子,你有多少种方式让它左右移动? 盒模型有几种?用一句话说一下它们的区别? 前端性能优化? setTimeout(fn, 0) 是立刻执行吗?为什么? vue 2.x 响应式原理? vue 3 与 vue 2 的区别? node 实现原理? koa、express 框架有了解吗? 看你不是计算机专业,对算法和数据结构有了解吗? 如何给组员评绩效? 微前端了解吗? 公司项目部署流程? 有什么想问我的?
自我感觉回答的不错,但是隔天早上 8 点左右就收到了被拒绝的邮件(recruiting)。。。
心里很失落,我打阿里巴巴客服电话咨询了为什么被拒绝,客服说原因是不能向外透露的。。。凉凉。。。
面试还是有一部分缘分因素在其中的
第二次 20:30
隔离有 2 周左右,我的简历被另一个团队看到,当时正在吃晚饭,突然袭击,说我们是阿里巴巴某某团队的(具体团队不记得了),你现在方便吗?可以电话面试吗?
当时就说可以,然后就出去,电话面试了
电话一面
自我介绍 webpack 中 plugin 与 loader 的区别? webpack 打包如何优化?具体如何配置说一下? get 与 post 请求区别有哪些? http 与 https 了解吗?(要说一下中间人攻击) 在 https 域名下,可以嵌套 http 协议的 iframe 吗?(没试过不知道,面试官让我猜一下。。。) Web 前端安全有哪些?如何防护? 如果想在页面渲染用户提交过来的标签,如何避免 XSS 攻击?(当时不知道,后面想了想应该是设置标签白名单) 你在公司做过最自豪的是哪件事? 最近遇到最难的问题是什么? 你技术栈是 vue,也工作那么久了为什么不学 react 呢? 你愿意从 vue 转向 react 技术栈吗? 有什么想问我的?
一面在线笔试
第二天上午 10:00 左右,就接到了接下来的面试电话,说是在线笔试?当时比较蒙蔽,不知道是怎样进行。。。然后就约到了当天晚上 20:30 开始
特别说明:在约定的时间,面试官向你邮箱发送一个链接,浏览器访问链接就可以进入在线笔试界面了。编码时间大概一个小时左右,全程编码无提示。。。有问题可以向面试官打字交流,所以平时开发还是要多注意修炼内功啊!还有就是不要耍小聪明...
做题的时候太紧张,发挥的不是很好,感觉要挂,然后就。。。真的挂了。。。
第二天就收到邮件通知了,大概就说不合适,不会继续安排接下来的面试。。。
每次收到面试被拒绝的消息都会特别难受、懊悔,面试真的很累,心累。。。
第三次 20:30
当时正在吃晚饭,接到了阿里面试通知。问我有没有考虑新的工作机会,简单了解了技术栈之后,说这 2 天会给我打电话面试。
电话一面
面试官人很 nice,说:咱们从你的简历开始说吧,要不然会比较尬,我说:好。
自我介绍 聊了一下简历中提到的第一个项目 问我如何优化的?真正在项目里如何优化的? 移动如何端适配? dpr 的值会影响 rem 吗?该如何处理呢? vue 2.x 生命周期?每个生命中通常做哪些操作? vue 2.x 双向绑定原理? taro 有了解吗? mpvue 原理知道吗? 小程序解决了什么问题? 如果业务压力比较大,需求比较紧急,你如何处理? 有什么想问我的?
一面在线笔试
跟之前在线笔试一样,共 3 题,一共时间一个小时。这次做的相对来说比较好,然后就通过了!
电话二面
也是在 20:30 左右,面试官打来电话,开始面试。
自我介绍 简历中第一个项目如何优化?首页一共有多少个接口,每个接口时间多少?(一脸蒙蔽) 埋点做了吗?为什么不做? 遇到比较难的问题是什么? 你们前端团队价值是什么? 后端人开发前端页面这种方式好吗? 如果再待 2 年,你会做什么? vue 3 中用 proxy 缺点是什么?除了兼容性,还有其它缺点吗? vue 源码读过吗?你感觉哪段源码比较好?为什么? 前端发展趋势是什么? 有什么想问我的吗?
回答的不是特别好,好多问题没有准备好话术去如何更好的表达出来。面试官说我可以推你到阿里的全资子公司,然后就答应了。。。
电话三面
过了 1-2 周左右,就开始了接下来的三面。整个过程就像是闲聊天。主要是聊现在公司的业务。一个技术问题没有问。。。
自我介绍 公司业务情况?业务闭环是什么? 职业规划? 为什么离职? 你是如何学习的?
还有一些问题,忘了...
然而,命运没那么顺利,总会有困难在等着自己。你猜的没错!这次三面又挂了。。。
“真是天将降大任于斯人也”。我也只能这样安慰我自己了。。。
就在接到这个消息的那天晚上,我收到了阿里另一个 BU 团队对我的面试邀请。当时心情真的特别复杂,文笔不好,没有适合的文字来描述我当时的心情。
说面就面,当天晚上 20:30 就开始了面试
第四次 20:30
在线笔试 + 视频面试
这次面试方式比较特别,在线笔试 + 视频面试,一遍回答一遍敲代码,完全无提示,就像是文本编辑器。
自我介绍 手写 flat、debounce 函数? url 输入到页面展示都发生了什么?(展开说每个具体细节) 浏览器缓存? 跨域及处理方式? css 会阻止 dom 渲染吗? script 会阻止 dom 解析吗,除了将 script 放在 body 底部,还有什么方法防止阻塞渲染? 接着进一步提问 defer、async 区别? css 选择器是如何解析匹配的,为什么? 垂直居中的方法有哪些? vue 跟 react 对比? vue diff 算法? vue key 值作用? nextTick 作用和原理? vue 2.x 响应式如何实现的? 虚拟 DOM 有哪几部分组成? git rebase、git cherry-pick、git reflog 作用? 浏览器事件循环机制? 问项目相关? webpack plugin 写过吗?用来做什么的?如何实现呢? JS 设计模式之工厂模式有了解吗? 移动端适配?(rem 或者 vw/vh) async 与 await 原理? http/1.1 与 http/2 区别 options 请求是什么?什么时候会触发? 什么是堆、栈、链表? 虚拟 DOM 有哪几部分组成? 平时通过什么渠道去学习? 你有什么想问我的?
面试了 1 个多小时,回答的还不错。感觉只能通过面试才能修复面试后失落的心情。在哪里跌倒就要在哪里爬起来!!!
视频二面(钉钉视频)
大佬首先自我介绍了一下团队目前业务情况
自我介绍 cookie 有了解吗?(从后端种 cookie 到前端 http 请求说了一遍) 它会有什么安全问题吗?如何解决? cookie 的 SameSite 属性有了解吗? 如果再待 2 年,你打算做什么? 然后根据你自己将要做的事情,展开细细询问? vue 2.x 响应式如何实现的? vue 3 响应式如何实现的?优缺点是什么? 平时怎么学习的? 为什么离职? 有什么想问我的?
我问了:根据我刚刚的表现,能不能给我一些建议?
老大回答说:看我一面的面试 80% 的都回答对了,基础知识很扎实,主要对复杂场景下架构方面的技能需要提升。
还有一些问题记不清楚了,等想到了再更新吧。
视频三面(钉钉视频)
老时间,20:30,大佬用钉钉给我开了视频,开始视频面试。
大佬先说本次面试分 3 大部分:技术、业务、规划
自我介绍 数组如何找最大值? apply
与call
的区别?bind
返回的函数,再次bind
后,上下文是指向哪个?将一个元素隐藏你有几种方式? 进一步提问 visibility: hidden
与opacity: 0
有什么区别?http/1.0 、http/1.1、http/2、http/3
区别?强缓存与协商缓存具体实现? 遇到最难的问题是什么? 业务相关的问题? 职业规划相关?
这次跟聊得很开心!一共聊了一个半小时左右。整体感觉不错,也向大佬学到了很多技术之外的东西。
HR 视频面试
HR 人很好,怕我紧张,专门开了视频面试。
自我介绍? 团队成员介绍? 你是如何评价自己的? 为什么离职? 印象比较深的项目? 公司中印象比较深刻的人? 对我们公司的认识? 现在薪资情况?入职期望薪资? 你有考虑其它公司机会吗? 多久能入职? 你有什么想问我的?
提醒一下大家,请重视 HR 面试,并不比技术面简单。
第四次面试,从开始面试到拿到 offer 一共经历了大概 20 多天,总体来说,还算比较顺利。
大概就是这样,感谢以上大佬给我的一些建议,我会努力把自己变得更好,感谢。
心得
决定面试成败的因素有很多(技术 + 心态 + 机遇),所以要以平常心来对待每一次面试,不要慌,我也是因为紧张不够自信错失了一些机会。
就像是手里的沙子,用力握紧,只会加速它的流失。所以平常心很重要。
面试真的是个脑力活,说实话当面试失败的时候真的很沮丧,也有一度怀疑自己的能力。但是每一次失败都是一块通向成功的垫脚石。所以失败不要怕,要厚积薄发,时机到了就成了。
面试过程就像你与面试官之间在下一局棋,尽量把每一步都控制在自己的“棋局”中。也就是你简历中提到的、面试中回答的每个技术词汇,都能保证有自己的理解和认识,不至于被问的蒙蔽。