经验摘自:http://www.cnblogs.com/yuanzm/p/4372898.html 非本人所写,拿来借鉴下。
面试不是你问我答
面试的流程:自我介绍
->项目经历
-> 技术问题
-> 我有何问题
。
在讲项目的时候,你需要展示你自己的亮点
,可以说一些装逼
的词,但装逼也是得有真材实料的。
比如我在项目中使用了WebSocket,那么面试官很可能问你WebSocket是什么,底层原理你知道么?如果你当场傻掉,面试官就会觉得你只是会使用别人的东西,并不在意实现原理,终究是码农。那么事先你就应当去看看WebSocket协议的官方文档(纯英文),这样面试官一问你,你能头头是道,会大大加分。
再比如,你在项目中使用了模块化,那么你就一定要知道什么是模块化,而不是说你会用模块化工具。其实要求并不高,你只要能很好说清楚什么是AMD规范,什么是CommonJs规范,各自的优缺点是什么就很够了,起码之后每次面试官问我,我都是秒回的,面试官竟无言以对,也就是对我的认同。
最后,也是最重要的一点是,一定要把面试官往你熟悉的领域引导
,因为如果你不引导,面试官不了解你的项目,看不到你的亮点,就只能一直问技术问题***难你。所以你在引导的同时,时不时提及一些事先准备好的关键词,技术官一问,你一回答,怎么都妥了~
理论实践
我们只是一个大学生,没有做过并发量达到互联网技术大牛的零头的应用,所以有些问题考验的是思考问题的能力。有些问题是你可能是真的不会的,但是也不要出现好像是
、可能是
、我猜
之类的词眼(我之前就是这样跪掉的),而是说按照我的理解
、给过一点思考时间
、我不太懂这个问题需要我从哪个角度解析
、我以前遇到类似的问题是怎样这个问题应该也是这样
...这样给面试官的印象是,即便你不懂,但是你在全力思考,而且这样会给自己争取很多时间。
资源共享
个人觉得每一次面试都是一次修炼,所以每一次都需要好好总结。这一点我还是做的不错的,我把大部分面试都记录了下来,然后仔细分析研究,避免不会犯二次错误。
然后推荐同样面试前端的同学好好看看《JavaScript高级程序设计》
和《HTTP权威指南》
,管用。
一开始多看书潜意思里面培养自己的编程思维很重要。
《JavaScript DOM编程艺术》
很经典的一门入门书籍,对于初学JavaScript的同学来说还是很重要的。建议把书本上的代码都老老实实敲一遍,特别是最后面那个静态网站Demo。《JavaScript高级程序设计》
一本经典到不能再经典的书。这本书有700多页,可是我我前前后后大概 看了三遍。看这么多遍是有原因的,第一这本书的知识点广而浅,看完第一遍你就可以知道JavaScript到底能干啥;第二,这本书耐读,随着你对于 JavaScript理解的深入,对于这本书的理解也将深入,你会发现这本书第四、五、六、七章大大道出了JavaScript的精华,实在是写得好;第 三,这本书对于面试还是非常管用的,本人也是在面试前花了几天把这本书再次过了一遍,效果很好。所以学前端的同学都买一本实体书,好好琢磨。《JavaScript权威指南》
这本书的赞誉很高,我也有这本书的实体书,是一个朋友送的,老实说这本书我并没有看很多,但是仍然建议大家好好看看,因为凡是书名中加入了指南
二字的,几乎都为佳作。《CSS实战手册》
写前端最痛苦的莫过于调CSS样式了,本人对于CSS并没有多少好感,只推荐不说话。
不要停止看书
上面推荐的几本书很好,为什么不一口气推荐完呢?理由很简单,有些书适合初学者,有些书就只适合中高级开发者。接下来推荐的几本书入门者去看也看不懂,没有足够的编程积累,看起来也没有那么深的体会
《JavaScript语言精粹》
好书!如果你编写的JavaScript足够多,就会发现里面字字珠玑,耐人寻味。《基于MVC的JavaScript Web富应用开发》
Web前端架构级别的书,每一项技术都是目前的热门,看上两边不为过!《JavaScript设计模式》
当你做富交互的应用的时候,就会知道这本书有多管用!《HTTP权威指南》
虽然是学前端,但是如果一个前端工程师只会前端那也不叫前端工程师了。深入理解HTTP协议对于Web性能优化非常重要,对于前后端交互也能有更好的体会。一本值得啃的书籍。
不只是JavaScript
很多人误以为前端就是写写CSS和JavaScript,其实不然,一个合格的前端工程师需要掌握的比这个多得多,前端值得掌握的技术:
- JavaScript类库:jQuery、Prototype
- JavaScript框架:BackBone、Vuejs、Angular.js、React.js
- CSS预编译器:LessCss、Sass
- JavaScript模块加载器:RequireJS、Browserify
- 项目构建工具:Grunt、Gulp
- 项目管理和协同工具的使用:SVN、Git
- 前端测试框架以及工具:Jasmine、Mocha
- 基本后端开发:NodeJS、Python
- web相关技术:MongoDB、CoffeeScript、SEO、Socket.io、Express、Tornado等