今天是2016年5月11日,是我第二次参加阿里面试,距离上次阿里内推进入一面已经过去了一个多月接近两个月的时间了。今天早上去岗顶那边面试一面,大概是4月27日收到笔试通过的消息,然后因为5月1号因为肠胃炎去了医院,所以真正开始准备面试是3号,所以大概一个星期的时间准备面试。在这里,感谢阿里给了我这两次机会,感谢这两次的面试官,感谢第一次电话面的面试官,他总是一步一步引导我融入面试里面,虽然面试的过程中我有一些东西不是很懂,可是他会在我回答之后帮我解答,他的回答总让我幡然大悟的感觉,感谢这两次的面试官,他们在我面试之后会跟我说有哪些不足,需要怎么做。
今天面试官说:知识面很重要,可是你要有自己深入以及擅长的一方面,比如你可以对H5很熟悉,或者nodeJS很厉害,或者是性能优化方面有很深入的了解。就是你既要知道有那么一回事,知道它们的原理,它们的机制,为何要这么做,这么做的优缺点,实现原理,又要学会自己去实现;简单来说,就是知道怎么回事,知道为什么有它的存在,又可以自己实现。你既要很多都懂,但是也有有一方面自己的优势擅长的。在平时学习的时候多动手去尝试写一些小demo。
而第一次的电话面的面试官说:书籍只是辅助,因为知识一直在更新,你想要跟上知识的步伐,仅仅靠书籍是不可以的,因为书籍的出版需要比较久的时间,那个时候知识已经更新得比较快,如果想了解一些方面,要多去逛一些社区,论坛,学会用外文网址,其实里面有很多的知识可以学习。
其实这两次的面试中,总体深有体会的是:如果想成为阿里里面的一员,至少需要懂得思考,在现实中学会去将自己学到的知识运用到平时的开发中,知道他们的原理,你要做到你既能灵活地使用现成的框架或者插件,也能自己写框架和插件。因为在面试中被问到最多的是:你觉得为什么要用XX,你试过自己写XX插件吗,你了解底层吗?
说一下自己面试过程中遇到的一些问题:
1.ECMAScript 6不熟悉,promise对象的应用场景,产生原因,底层原理。
2.http协议不熟悉,里面有一个方式skdy(不知道会不会拼写错误,待补),readyState和onload的区别。
3.为何用angularJS,以及angularJS用到的MVM框架分别代表什么,MVC的缺点,为什么出现MVM,对应的集中框架
4.ajax,XMLHttpRequest()不熟悉
5.PC端开发和移动端开发有什么不同
6.前端优化
7.笔试的时候的一个问题--监控异常js文件如何实现(因为面试官问我笔试中印象最深的是什么,然后我就说了这道题,其实这道题我当时不会做。。)
8.闭包问题比较常问到(虽然面试的时候是因为我说我对闭包比较熟,然后面试官让我当成写代码以及应用场景。。)
9.如何实现导航条鼠标移动至相应位置时有一条横线移动至其下方,并且横线的宽度根据导航条的li中的文字多少来自适应宽度。(我回答了用js获取位置offsetLeft,然后获取li的宽度,其实用css3就可以实现了,(ㄒoㄒ))
10.我说我用了grunt,然后他就问我有没有写过grunt插件。。
计划:
1.学深js
2.学深H5
3.了解底层
4.研究各种框架以及插件源码,学会自己实现。
总结:感谢这两次面试,知道自己很多不足,也知道前进方向,以后要更加努力,向更优秀的自己靠近。
看到有人说关于阿里巴巴国际站招前端的要求,记录下来:
岗位描述
- 负责网站应用前端开发,与后台工程师协作,完成数据交互、动态信息展现
- 使用JS或AS编写封装良好的前端交互组件,维护及优化网站前端页面性能
- 研究和探索创新的开发思路和最新的前端技术
- 参与新人培训和前端技术布道
岗位要求
- 熟悉Web前端技术,HTML(5)/CSS(3)/JavaScript(ES6)等,能够解决浏览器兼容性问题
- 持续关注业界的新话题和新技术,研究过JQuery、React、backbone等框架中的一种或以上
- 重视团队协作,愿意探寻和改进目前还不成熟的前端开发流程,了解各种常用工具
- 热爱前端技术,个性乐观开朗,逻辑性强,善于和各种背景的人沟通合作
- 对前端工程领域有研究优先
- 如具备其他语言的开发经验,比如NodeJS、java、php等优先考虑
其实大家都了解招聘要求都是虚的,我们希望你是这样的人
-
基础知识扎实
a. 知道JavaScript prototype、闭包、事件怎么回事儿
b. 多少了解HTTP协议和Web Server怎么工作
c. 知道CSS display、float、z-index、BFC
d. 了解浏览器渲染页面原理
e. 模板引擎
-
对新技术有兴趣
a. 前端代码模块化与构建,gulp、webpack等
b. NodeJS
c. MVVM
d. React、Vue、backbone、angular随便说说
-
一定的工程能力
a. 了解门后端语言,最起码知道后端同学在说什么
b. 了解些web 安全知识
c. 性能优化
d. 前端代码工作及发布体系
-
随时准备自我介绍和浏览器从输入URL到渲染出页面发生了什么
-
另外我们很喜欢表达能力不错的人,毕竟工作职责不是有个新人培训和前端技术布道