javascript
上次“第一次面试”的时候,个人面试官告诉我:“你东西是有了,可是不够专”,其实以前我还在犹豫是走前端仍是服务器道路,如今狠下心来,专一于前端开发,埋头理解前端原理,性能优化,高质量代码编写等。故而我找来了几本书——web前端修炼之道/HTML5/性能优化最佳实践。还好,我懂得怎么去找比较好的博客和书籍来看,去成为一个卓越的前端工程师。我想如今还来得及,至少肯定了本身努力的方向,接下来的事情就好办了。以前在写ugeek GTD的时候,因为缺少经验,一开始缺少设计,写的代码乱七八糟,真的能够用惨不忍睹来形容,后来重写了一次,就好多了,看起来API颇有规律,对我后来的开发颇有好处。如今看来,大学期间须要折腾一些东西,折腾也要有方法,给本身一个期限,尽可能在这个期限内弄懂一个知识点,找最好的博客,最好的书籍,吃透它。且不要太着急地写应用,作项目,作的再多,是错的,也没啥意义,固然在学习的过程当中仍是要动手作练习的。php
须要准备哪些知识:看图css
百度百科-前端知识结构:html
再看一个更加全面的:前端
adang哥的《web前端开发修炼之道》里面说:“精一行,通十行”,干前端的要懂不少东西,例如服务器编程,svn,算法数据结构,css/html/js更加是不用说了。我本身是在大学里正儿八经学习C/C++成长起来的程序员,是由于搞过一两个web应用,什么都要本身动手,接触了python,php等服务器端脚本语言,django,thinkphp等服务器端框架。固然,又要本身设计页面,P图,写html/CSS,固然还有js。一会儿干这么多,确定会有不少东西不精,因此也抗不起面试官几回问。若是要去大公司,是要作“最好的螺丝钉”,因此最好专一特定的一个领域。很显然,学校的教育和企业的需求仍是相差很大的。攒的一些项目经验都是课余时间写的,正经以为比较有用的都是那些基础原理课(数据结构/算法),真心以为,能达到tencent要求的都是神人。如今也没什么好说的,老老实实啃书,下面是小倪哥的推荐书单:java
看到这个的时候,我想起了陈近南的一句话“这只是武林秘籍的目录,那堆才是绝世武功的书”,老实说,尚未正式学过js的我,知道有的学了。我想十年才能说是小有所成吧。最重要的你们都很急躁,想要一步登天,谁知道徒添焦虑,要明白,最重要的是修炼功夫。python
特别针对浏览器的原理,与服务器的交互,怎样写出高效的css和js代码。例如,浏览器是怎样处理文档的,其大概过程以下:jquery
解析文档程序员
根据文档构建DOM树web
根据CSS构建渲染树
绘制图像
能够参考:浏览器渲染过程
而对于浏览器的重绘和重排问题,又有许多值得研究的东西,写的js,若是作少传送数据,还要作到少改动DOM树,避免频繁的重绘和重排。重绘多是一些css属性的改变,重排则是文档结构的改变,有时候DOM改变或者元素大小改变了,会影响到布局,因此要重排,并且确定要重绘。具体可能够参考:浏览器重绘与重排
还有一个我注意到的问题是ajax的实现,我记得面试官叫我写一个ajax,我觉得是用jquery写,因此就写了个$.ajax(url, arg, callback_function(){})之类的东西,如今想起来,面试官应该是在考我原生的ajax是怎样的,后来我google一番,才知道是一个xmlHttpRequest,而后发送请求到url中,设置回调函数,发送请求,最后获得响应,参考ajax实现步骤。
看了一些这样的博文,我才知道要深刻web前端,还要学习不少的东西,可是如今看来还不晚,还有一年的时间,扎实这些基础。
汤姆大叔 http://www.cnblogs.com/TomXu/archive/2012/07/26/2581268.html
叶小杈 http://www.cnblogs.com/yexiaochai/
web前端网址导航 http://www.ux265.net/
李忠谈web从小工到你们 http://blog.leezhong.com/tech/2010/12/18/web-development-journeyman-master.html
找本《javascript 高级程序设计》边儿开看吧。
by bibodeng 2013-04-24 20:23:49