先说说自己的情况,前端大牛请自动略过本文:有过前端开发经验,只是熟练使用各种API,真正熟悉JS、CSS、HTML是今年3月份阿里电面后。期间看过无数的面试题和面经,也刷过三次犀牛书、牛客网的剑指offer,看过王道论坛的数据结构和《大话数据结构》,后两者是认为自身数据结构不足,在实习生笔试中,编程能力欠缺所以弥补的。 且说正题:阿里的前端实习生面试安排线下的,很多人在一个场子里面,一面是一对一的单面。由于没能进入二面,不知道具体情况。也是第一次参与大型线下面试,积累积累经验,攒攒人品吧。(另外,有看到不少面试者当场敲代码考察其CSS能力等等) 1. 简单介绍项目(不是传说中的自我介绍嘛=_=) 2. js的作用域?(如同其他面试题,这个blabla....) 3. function a(){ var obj={value:1}; setTimeout("alert(obj.value)",1000); } a();//输出什么?(答案是报错,我却以为是1。在回来的路上,发现setTimeout不会马上执行,所以函数返回了setTimeout并没有执行,所以此时是全局作用域,而全局作用域没有该属性,因此会报错,改正方法是使用闭包。我却回答使用callapply来改变函数的执行上下文=_=。昨天还写了个九宫格的抽奖页面,怎么没遇到这个问题?)ps: 这里感谢网友告知,当时结束后回来就写的,原答案```undefined```是错的。 4. js跨域?分别原理是什么?(如同其他面试题.....) 5. 跨域带来的web安全问题有哪些?(自此开始懵逼,没有准备到) 6. xss和csrf分别是什么?(考官见我不知道,就告诉我是什么,然后让我分析分别有什么危害?怎么防御?)穿插考察cookie... 7. 你有了解或者用过哪些框架?(这里我只用过jquery和echarts,所以考官没有觉得没有继续问下去的必要了) 总评:本就知道会考察框架或者设计模式的,但是没想到这么快(我看的面试题目基本停留在CSS、JS和一些网络的基础知识啊)。自己基础知识储备还可以,但是真正分析问题能力还是欠缺。接下来,多看看框架和设计模式,同时反思其中运用的奥妙及原因。 写在最后,谢谢考官的学习建议。 参考资料: 1. 面试题总结:https://github.com/Tonyhzw/FE-interview 2. 雅虎34条优化建议:http://blog.csdn.net/camel20/article/details/7283893 3. javascript权威指南 4. 面经:http://www.cnblogs.com/yexiaochai/p/3158443.html 5. 好像还有一个微信公众号的,找不到了,感觉还行。