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