作者: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

三本毕业(非科班),四次阿里巴巴面试,终拿 offer(大厂面经)的更多相关文章

  1. 学生党如何拿到阿里技术offer: 《2016阿里巴巴校招内推offer之Java研发工程师(成功)》

    摘要: 这篇文章字字珠玑,这位面试的学长并非计算机相关专业,但是其技术功底足以使很多计算机专业的学生汗颜,这篇文章值得我们仔细品读,其逻辑条理清晰,问题把握透彻,语言表达精炼,为我们提供了宝贵的学习经 ...

  2. 第三篇——第二部分——第四文 配置SQL Server镜像——非域环境

    原文:第三篇--第二部分--第四文 配置SQL Server镜像--非域环境 本文为非域环境搭建镜像演示,对于域环境搭建,可参照上文:http://blog.csdn.net/dba_huangzj/ ...

  3. 4年前端、2年CTO:一个非科班程序员的真实奋斗史

    1.引言   我,Scott,一家创业公司的 CTO. 从业6年却很少写文章,近一年来接触了几十个刚毕业的前端新人,也面试了100多个前端工程师和Nodejs工程师,对于前端发展的这个职业算是有些感触 ...

  4. 非科班双非本科投的337家Java后台(励志)

    考试结束,班级平均分只拿到了年级第二,班主任于是问道:大家都知道世界第一高峰珠穆朗玛峰,有人知道世界第二高峰是什么吗?正当班主任要继续发话,只听到角落默默想起来一个声音:”乔戈里峰” 前言 文章出自h ...

  5. 如何自学编程,零基础适合学习Java或者Web前端吗,非科班的能学java吗?

    很多人都会选择自学Java或者前端,相信有在校的大学生,有正在上班想转行的,也有已经在自学的.下面通过几个问题我来给大家分析学习编程的难易程度. 编程是什么? 通俗的理解,编程就是编写程序,哪什么是程 ...

  6. 金三银四,磨砺锋芒;剑指大厂,扬帆起航(2020年最全大厂WEB前端面试题精选)上

    金三银四,磨砺锋芒:剑指大厂,扬帆起航(2020年最全大厂WEB前端面试题精选)上 引言 元旦匆匆而过,2020年的春节又接踵而来,大家除了忙的提着裤子加班.年底冲冲冲外,还有着对于明年的迷茫和期待! ...

  7. 面经分享:看非科班研究生如何转行斩获 ATM 大厂的 Offer ?

    前言 先介绍一下自己的情况吧,本科和研究生都是通信专业,本科是某 Top2,研究生是香港某大学.了解了通信行业的就业情况和工作内容后,大概今年3月份的时候开始想转互联网. 本人相关的基础情况是:学校学 ...

  8. {MySQL的逻辑查询语句的执行顺序}一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析

    MySQL的逻辑查询语句的执行顺序 阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SEL ...

  9. Javascript面向对象编程(三):非构造函数的继承(对象的深拷贝与浅拷贝)

    Javascript面向对象编程(三):非构造函数的继承   作者: 阮一峰 日期: 2010年5月24日 这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现&quo ...

随机推荐

  1. iOS 应用签名

    一.密码学简介 1.1 base64 Base64 是一种通过查表的编码方法,不能用于加密,即使使用自定义的编码表也不行. Base64 适用于小段内容的编码,比如数字证书签名.Cookie 的内容等 ...

  2. python 介绍,环境配置

    python介绍 介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器.Python这个名字,来 ...

  3. 3.Metasploit攻击流程及命令介绍

    Metasploit 进阶第一讲    攻击流程及命令介绍   01.渗透测试过程环节(PTES)   1.前期交互阶段:与客户组织进行交互讨论,确定范围,目标等 2.情报搜集阶段:获取更多目标组织信 ...

  4. Linux 《conky配置说明书》

    名称 conky - 最初基于躯干代码的X系统监视器,但更多的kickass.它只是继续给予它.是啊. 概要 conky [ options ] 描述 Conky是最初基于torsmo的X系统监视器. ...

  5. EOS基础全家桶(六)账号管理

    简介 本篇我们会学习最基本的账号相关的操作,包括了创建账号和查询,关于账号资源的操作因为必须先部署系统合约,所以我们会留到后面单独写一篇来讲解. 6-EOS基础全家桶(六)账号管理 简介 账号介绍 账 ...

  6. jsbrage——和app交互

      <html> <head> <meta content="text/html; charset=utf-8" http-equiv="c ...

  7. qt creator源码全方面分析(3-9)

    依赖分析图 我们对库和插件的依赖性进行分析,并画图如下,稍微省略了一些插件,画出来太乱了,核心的都在图中了. 原创造福大家,共享改变世界 献出一片爱心,温暖作者心灵

  8. Java 判断日期的方法

    //str:传入的日期 eg:"2018-07-23" function IsDate(str) { arr = str.split("-"); if(arr. ...

  9. Java第二十八天,Lambda表达式

    一.函数式编程 1.什么是函数式编程 函数式编程是种编程方式,是一种编程的思维,它属于"结构化编程"的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用.它的地位等同于面向对象 ...

  10. ensp的基础路由命令,接口,下一跳的配置,入门必备

    关于ensp入门事情,第一件事当是安装必备三件套:而后,应该是接触路由和PC机了,最烦人满屏代码,眼花缭乱: 今天写一篇零基础接触ensp的首次操作,PC-路由-路由-PC的互通实验: 实验要拉出两台 ...