三本毕业(非科班),四次阿里巴巴面试,终拿 offer(大厂面经)

作者:gauseen

公众号:「学前端」,只搞技术不搞广告文,欢迎关注~

第一次 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 多天,总体来说,还算比较顺利。
大概就是这样,感谢以上大佬给我的一些建议,我会努力把自己变得更好,感谢。
 

心得

 
决定面试成败的因素有很多(技术 + 心态 + 机遇),所以要以平常心来对待每一次面试,不要慌,我也是因为紧张不够自信错失了一些机会。
就像是手里的沙子,用力握紧,只会加速它的流失。所以平常心很重要。

面试真的是个脑力活,说实话当面试失败的时候真的很沮丧,也有一度怀疑自己的能力。但是每一次失败都是一块通向成功的垫脚石。所以失败不要怕,要厚积薄发,时机到了就成了。

面试过程就像你与面试官之间在下一局棋,尽量把每一步都控制在自己的“棋局”中。也就是你简历中提到的、面试中回答的每个技术词汇,都能保证有自己的理解和认识,不至于被问的蒙蔽。

 

最后

想了解更多阿里面试相关的同学可关注,只搞技术,不搞广告文【学前端】公众号,里面有我面试前准备的技术点和自己的总结:

个人 github 地址:https://github.com/gauseen

个人微信:shsjfws















原文地址:https://www.cnblogs.com/gavin007/p/12792066.html