热乎的,三本毕业(非科班),四次阿里面试,终拿 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 大部分:技术、业务、规划

  • 自我介绍
  • 数组如何找最大值?
  • applycall 的区别?
  • bind 返回的函数,再次 bind 后,上下文是指向哪个?
  • 将一个元素隐藏你有几种方式?
  • 进一步提问 visibility: hiddenopacity: 0 有什么区别?
  • http/1.0 、http/1.1、http/2、http/3 区别?
  • 强缓存与协商缓存具体实现?
  • 遇到最难的问题是什么?
  • 业务相关的问题?
  • 职业规划相关?

这次跟聊得很开心!一共聊了一个半小时左右。整体感觉不错,也向大佬学到了很多技术之外的东西。

HR 视频面试

HR 人很好,怕我紧张,专门开了视频面试。

  • 自我介绍?
  • 团队成员介绍?
  • 你是如何评价自己的?
  • 为什么离职?
  • 印象比较深的项目?
  • 公司中印象比较深刻的人?
  • 对我们公司的认识?
  • 现在薪资情况?入职期望薪资?
  • 你有考虑其它公司机会吗?
  • 多久能入职?
  • 你有什么想问我的?

提醒一下大家,请重视 HR 面试,并不比技术面简单。

第四次面试,从开始面试到拿到 offer 一共经历了大概 20 多天,总体来说,还算比较顺利。

大概就是这样,感谢以上大佬给我的一些建议,我会努力把自己变得更好,感谢。

心得

决定面试成败的因素有很多(技术 + 心态 + 机遇),所以要以平常心来对待每一次面试,不要慌,我也是因为紧张不够自信错失了一些机会。

就像是手里的沙子,用力握紧,只会加速它的流失。所以平常心很重要。

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

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

最后

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

学前端.png

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

个人微信:gauseen

你可能感兴趣的:(前端,javascript,html5,阿里巴巴,面试技巧)