设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 创业者 手机
当前位置: 首页 > 运营中心 > 交互 > 正文

面试分享:一年经验初探阿里巴巴前端社招

发布时间:2020-12-25 16:40 所属栏目:31 来源:网络整理
导读:一般阿里社招都是招3-5年的P6+高级工程师,当初自己一年经验也没有想过有这个面试机会。 虽然没想着换工作,但是经常关注一些招聘网站的信息,某一天,在某boss上有个人找我,叫我发一下简历,我一看是阿里的某技术专家,虽然之前也有阿里的在某boss上给我要

一般阿里社招都是招3-5年的P6+高级工程师,当初自己一年经验也没有想过有这个面试机会。

虽然没想着换工作,但是经常关注一些招聘网站的信息,某一天,在某boss上有个人找我,叫我发一下简历,我一看是阿里的某技术专家,虽然之前也有阿里的在某boss上给我要简历,但是我深知自己经验不足,然后给boss说我是16届的,只有一年经验,然后就没有然后了。这次我依然这么回复,但是这boss说,没关系,他喜欢基础好的,让我可以试一试,于是我也抱着试一试的心态发了简历。

简历发过去之后,boss就给我打了电话,让我简单的介绍一下自己,我就噼里啪啦说了一些,还说了一些题外话。然后boss就开始问我问题。

由于面了四轮,所以最开始的面试记忆有点模糊了,细细回想,又感觉记忆犹新。

电话初探

  1. 说一下你了解CSS盒模型。?我就说了一下IE的怪异盒模型和标注浏览器的盒模型,然后可以通过box-sizing属性控制两种盒模型的变换。
  2. 说一下box-sizing的应用场景。?这个也不难,简单说了一两个应用场景,具体就不一一细说了。
  3. 说一下你了解的弹性FLEX布局.?这个我也比较了解,各种概念和属性能想到的说了一大堆,也扯到了Grid布局,基本这个也没啥问题。
  4. 说一下一个未知宽高元素怎么上下左右垂直居中。?说了一下flex弹性布局的实现,说了一下兼容性,扯到了postcss的一些东西,然后说了一下常规的兼容性比较好的实现。
  5. 说一下原型链,对象,构造函数之间的一些联系。?这个我之前写过相关的文章,自己也有比较深入的理解,所以这个也不在话下,噼里啪啦说了一大堆,也不知道面试官听得咋样。
  6. DOM事件的绑定的几种方式?说了三种,然后说了一些冒泡,默认事件,以及DOM2,DOM3级的一些标准。
  7. 说一下你项目中用到的技术栈,以及觉得得意和出色的点,以及让你头疼的点,怎么解决的。?这个因人而异,开放性问题,主要考察平时项目的一些积累吧,这个我回答感觉也比较ok。
  8. 有没有了解http2.0,websocket,https,说一下你的理解以及你所了解的特性。?这个我看过一些文章,但是没有什么印象,扯了一些概念,但是回答的不是很深。

第一轮电话初探,大约面了50分钟,就记起来这么多,还有一些细节问题可能淡忘了,总体来说,面的都是以基础为主,然后boss说把我简历推荐给内部,进行正式的社招流程。

一轮技术面

然后当天晚上一个女的面试官就给我打电话了,说八点半进行下一轮技术面试,没想到效率这么快,我都没怎么准备。这次就直接省略自我介绍了。

  1. webpack的入口文件怎么配置,多个入口怎么分割啥的,我也没太听清楚。?这个自己就说了一下自己的理解,以及自己用node写的多入口怎么配置,然后面试官说不是多入口配置,然后我又说了一下自己的理解,然后这题就过了。
  2. 我看到你的项目用到了Babel的一个插件:transform-runtime以及stage-2,你说一下他们的作用。?这个我也还算比较了解,就说了一下ES的一些API,比如generator啥的默认不转换,只转换语法,需要这个来转换,然后说profill啥的,扯了一下stage-1,stage-2,stage-3,这个问题回答还算清楚。
  3. 我看到你的webpack配置用到webpack.optimize.UglifyJsPlugin这个插件,有没有觉得压缩速度很慢,有什么办法提升速度。?这个我主要回答了一下,我之前也没怎么了解,一个想到是缓存原理,压缩只重新压缩改变的,还有就是减少冗余的代码,压缩只用于生产阶段,然后面试官问还有呢?我就说,还可以从硬件上提升,可以得到质的飞跃,比如换台I9处理器的电脑。。。。
  4. 简历上看见你了解http协议。说一下200和304的理解和区别?这个噼里啪啦说了一堆,协商缓存和强制缓存的区别,流程,还有一些细节,提到了expires,Cache-Control,If-none-match,Etag,last-Modified的匹配和特征,这一块之前有过比较详细的了解,所以还是应答如流。
  5. DOM事件中target和currentTarget的区别?这个没答上来。。。
  6. 说一下你平时怎么解决跨域的。以及后续JSONP的原理和实现以及cors怎么设置。?我就说了一下Jason和cors,然后问我JSONP的原理以及cors怎么设置,这一块自己也实践过,所以还是对答如流的。
  7. 说一下深拷贝的实现原理。?这个也还好,就是考虑的细节不是很周全,先是说了一种JSON.stringify和JSON.parse的实现,以及这种实现的缺点,主要就是非标准JSOn格式无法拷贝以及兼容性问题,然后问了我有么有用过IE8的一个什么JSON框架,我也不记得是什么了,因为我压根没听过,然后说了一下尾递归实现深拷贝的原理,还问了我typeof null是啥,这个当然是Object。。。
  8. 说一下项目中觉得可以改进的地方以及做的很优秀的地方??这个也是因人而异,开放性问题,大致扯了一下自己的经历,也还OK。

最后问了有什么需要问的地方,面试到这里基本就结束了,大约面了一个多钟头,还是蛮累的。总体来说,回答的广度和深度以及细节都还算OK,觉得这轮面试基本没什么悬念。

二轮技术面

过了几天,接到阿里另一个面试官的电话,上一轮面试通过了,这次是二轮技术面,说估计一个钟头。这次依然跳过自我介绍之类的,直奔主题。

  1. 有没有自己写过webpack的loader,他的原理以及啥的,记得也不太清楚。?这个我就说了一下,然后loader配置啥的,也还ok。
  2. 有没有去研究webpack的一些原理和机制,怎么实现的。?这个我简单说了一下我自己了解的,因为这一块我也没深入去研究,所以说的应该比较浅。
  3. babel把ES6转成ES5或者ES3之类的原理是什么,有没有去研究。?这一块我说了一下自己的思路,大致也还OK,我也没去深入研究怎么转换的,之前好像看过类似的文章,自己也只观察过转换之后的代码是啥样的,至于怎么转换的规则,真的没去深入观察。
  4. git大型项目的团队合作,以及持续集成啥的。?这里我就说了一下自己了解的git flow方面的东西,因为没有实战经验,所以我就选择性说明了这一块的不熟练,然后面试官也没细问。
  5. 什么是函数柯里化?以及说一下JS的API有哪些应用到了函数柯里化的实现??这个我就说了一下函数柯里化一些了解,以及在函数式编程的应用,最后说了一下JS中bind函数和数组的reduce方法用到了函数柯里化。
  6. ES6的箭头函数this问题,以及拓展运算符。?这一块主要是API和概念的问题,扯了一些规范以及严格模式下其他情况this只想问题。
  7. JS模块化Commonjs,UMD,CMD规范的了解,以及ES6的模块化跟其他几种的区别,以及出现的意义。?这个也是说了一下自己的理解和认知,自己对模块化历史以及一些规范都有所涉猎,这一块也还凑合。
  8. 说一下Vue实现双向数据绑定的原理,以及vue.js和react.js异同点,如果让你选框架,你怎么怎么权衡这两个框架,分析一下。?主要是发布订阅的设计模式,还有就是ES5的Object.defineProperty的getter和setter机制,然后顺便扯了一下Angular的脏检测,以及alvon.js最先用到这种方式。然后扯了一下vue.js和react.js异同点,权衡框架选择,调研分析之类,噼里啪啦说了一大堆。
  9. 我看你也写博客,说一下草稿的交互细节以及实现原理。?这一款就按照自己用过简书或者掘金,SG这类草稿的体验,详细说了一下,这个开放性问题,说到点基本就OK。我们每天晚上八点在腾讯课堂都有前端的免费课程, 你要来听课学习一下吗?有没有兴趣呢?

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读