阿里巴巴19号在美国上市,已经成为中国第一,全国第二的互联网公司,市值2300多亿美元,感觉在这个非常时刻能拿到阿里巴巴的offer,真的是一件很令人高兴的事情。下面谈谈阿里巴巴招聘流程和阿里巴巴前端面经。
今年阿里的招聘真早啊,8月初的时候就开始了提前批(也称作内推)。当时由于还在爱立信实习,就没去走这趟浑水了。网申8月24号截止,我的简历还是24号中午投的呢,现在想想,真是好惊险啊,差点就和阿里巴巴错过了。
下面描述一下阿里巴巴前端的校招流程,当然你也可以去官网看(http://www.job.alipay.com/)。阿里巴巴果然是与众不同,没有繁 琐的宣讲会,或许是名气太大了,不需要宣讲吧。所有职位都采用在线笔试。笔试通过之后,需要进行在线预约才能接着参加面试。技术类的面试有3轮,第一轮和 第二轮都是技术面,第三轮有两种情况,普通的是HR面(13k*15),如果一、二轮表现好的是交叉面(这种情况就是传说中的15k*15啦)。
8月25号参加了在线笔试,前端一共12个题目,考察的范围还是相当广泛的,分为以下:
1,Html5(包括媒体查询,CSS3里面的旋转变换啦)
2,前端安全
3,git命令和github账号(https://github.com/liufeng-cheng)
4,用户体验和性能优化
5,编程能力的考察(当然更希望你能把面向对象和设计模式考虑进去)
笔试一共60分钟,需要编程的题目大概有5题吧,代码量其实不是太大,30~100行左右。就是让你实现一些功能,比如对URL的解析,写个弹窗效果,设 计一组API等等。这里面当然你需要对闭包、作用域、原型等javascript高级知识点有深入的了解。笔试很能够区分水平的,很多研究生都会被无情的 刷掉。
这里面我想谈几点:
1, 不要依赖jQuery, Ext, YUI等等javascript库,平时写写玩具的时候尽量使用原生javascript或者原生ajax,这样你会对很多原理和底层的知识有所了解。
2, 前端很庞大,不是简单的html,css,javascript的混合体,你需要广阔的技术视野,关注并了解新技术并且尝试运用。
3, 平时写代码的时候尝试去优化他,你可以测试代码的性能(YSlow和jsperf.com都行)。
4, 写代码要用到模块化的思想,你可以阅读以下AMD规范,浏览器端的javascript最好去遵循这个规范,常见的requirejs已经采用了AMD规范
5, 要让面向对象和设计模式为你的javascript code所用。
9月2号,当时看到我的个人状态变成了”待面试“,那个时候,真的很高兴,因为身边很多人都被刷掉了,包括大把大把的研究生。有时想想,现实就是这么残 酷,有人通过,就有人铩羽。我预约到了9月12号,地点是武汉纽宾凯鲁广国际酒店,是一家五星级的酒店。阿里巴巴的财大气粗的形象瞬间跃然纸上,别的公司 都是在学校里面搞笔试面试,它在5星级的酒店里。可能阿里面对的不是一个学校的学生,而是整个武汉,甚至是华中地区的学生吧,这样做会让面试流程更加规范 吧。当然,也有部分是为了公司的宣传。
笔试通过之后,这10天我并没有闲着,我开始复习前端,这个庞然大物。要复习的知识真的是太多太多,概念也完全无法穷尽。从基础知识到高级知识,然后是 项目经验,实习经验的总结,以前编写的代码的总结,开源框架jQuery,EXT, YUI源码的复习,nodejs,Html5,前端开发工具,性能优化。我觉得10天确实太过于短暂。
时间真快,9月12号那天下午,我带上简历,武汉理工大学经纬网聘书,爱立信实习证明,黑客马拉松一等奖证书,信心满满的奔向了人生的第二场面试。
3楼大堂的人真多啊,小数一下,也有四,五百人吧,人流络绎不绝。有从湖南那边赶过来的,有来霸面的,早该猜到了,有无数个人想进阿里。当然招聘5个 人,面试官可能会面50个或者100个,真是千挑万选啊。当时我就在想,面试的时候给面试官留下深刻的印象是多么重要啊。下面直奔3轮面试了。
一面是纯技术面,所有的问题都是技术问题,问题问的很深,但是同样考察到了基础的掌握。刚刚见到面试官的时候,我递上了我准备的其它材料。然后面试官让我 谈项目经历,然后我说了之前参加黑客马拉松时候的一个项目,采用google angularjs、cordova和爱立信LTE broadcast部门提供的高通API去实现一个基于 android平台的app,后台使用nodejs实现的http server和backbone.js。数据库采用android平台 下自带的sqlite3。实现了RSS订阅功能,数据广播和点播的功能,并且使用cordova自带的Media播放 插件实现音频文件的播放。为力求高效,我们使用了ionic。然后面试官问为什么选择angular? angular相比其它前端框架的优势?然后面试官准备了一些问题,如下:
1, 写一个正则表达式,规则我忘了,反正挺长的(需要现场写code)
2, 前端安全(XSS,sql注入,CSRF)。问有没有那些攻击别人站点的经历,然后问CSRF的原理,一些html code如果要显示在页面上,怎么处理,当然是通过编码解码啦,哈哈。
3, 兼容性问题
ie6下的奇葩太多了,浮动双边距,上下margin,微高,png兼容,然后问我引入脚本处理png图片的原理。。。
4, 输入url到页面出现的过程
包括DNS解析,TCP连接,HTTP GET获取数据,加载DOM树,渲染树,然后问了下哪些地方会出现css阻塞,哪些地方出现js阻塞。ie各版本和chrome可以并行下载多少个资源。
5, 跨域请求及实现的原理
比如jsonp,window.name, iframe,window.postMessage。jsonp的原理是动态插入script标签
6, 问了一个算法问题,字符串匹配相关的(需要现场写code)
先是用数组去模拟,后来讲的时候发现不行,改成了hash表
7, javascript里面的继承怎么实现,如何避免原型链上面的对象共享(需要现场写code)
回答当然是经典的构造函数和原型链的混合模式去实现继承的啦,避免对象共享可以参考经典的extend()函数,很多前端框架都有封装的,就是用一个空函数当做中间变量
8, 设计模式的一些问题
我谈了下XHR工厂和事件委托里面的中介者模式
9, 异步加载和延迟加载的实现。
面完之后,面试官和我深情的握了一个手,看的出来,他对我的表现非常满意。
出去等了一会儿,用手机刷新了一下官网状态,发现一面通过。等了10分钟之后,接着参加二面。
二面的问题感觉让我很尴尬,部分技术问题,部分团队,项目问题。大概是下面这些:
1,你是学软件工程的,为什么搞前端?
2,看了你的简历,项目经历这么丰富,你说说你从这么多项目中,学到了什么?
3,项目中和他人有所分歧的时候,怎么办?
4,你当初为什么考虑引入angular?而不是其他框架?
5,html5开发的一些经验和问题(作为前端达人,一般这个问题,必扯localStronge, webgl, device api)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。
script贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。
[外链图片转存中…(img-wYLuoZpm-1713729683625)]
[外链图片转存中…(img-tHuB3ayo-1713729683625)]