追随我心,乘月待晓
前端开发
从Nicholas C. Zakas如何面试看前端工程师基本技能
一 10th
今天读到为之漫笔翻译的一篇文章——《Nicholas C. Zakas如何面试前端工程师》,反省了一下,自己距离前端开发工程师的目标还有很大的差距。这篇文章中总结的前端开发工程师面试时涉及的基础问题,我想,是很有必要再回头总结下了。
我们生活在互联网时代,你想知道的任何事情几乎都能在15分钟内找到相关信息。可是,能找到信息并不等于你会使用它。我认为所有前端工程师至少都应该掌握某些基本的知识,才能有效地完成自己的工作。如果一遇到问题,就停下工作上网四处搜索解决方案,怎么可能保证按期完成工作呢?听听,还有谁在说“我不知道,但我可以上网搜到。”请这些同学把手举起来,让大家认识一下(immediately raises a flag for me.)。下面我列出一些基本的知识点,这些都是我认为一名前端工程师(无论工作年头长短)在没有任何外来帮助的情况应该知道的。
- DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
- DOM操作——怎样添加、移除、移动、复制、创建和查找节点。
- 事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。
- XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。
- 严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。
- 盒模型——外边距、内边距和边框之间的关系,IE < 8中的盒模型有什么不同。
- 块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。
- 浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。
- HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。
- JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。
重申一下,上述这些知识点都应该是你“想都不用想”就知道的东西。我一开始问的所有问题都是想摸清你对所有这些领域知识的掌握程度。虽然上面列出的这些知识点并没有面面俱到,但我觉得你至少应该掌握这些,才有可能跟我坐到一间办公室里来。
上面这几点,可以总结为前端开发人员必备的基础知识。对于如何通过Nicholas C. Zakas的面试,为之漫笔还翻译了另一篇文章《如何通过Nicholas C. Zakas的面试》,值得一看。
淘宝UED招聘题解(前端开发部分)
十 13th
这是2007年淘宝用户体验设计团队(Taobao.com UED),招聘前端开发工程师的题目,解答来源于淘宝UED博客。
小贤是一条可爱的小狗(Dog),它的叫声很好听(wow),每次看到主人的时候就会乖乖叫一声(yelp)。
从这段描述可以得到以下对象:
function Dog() { this.wow = function() { alert(’Wow’); } this.yelp = function() { this.wow(); } } 小芒和小贤一样,原来也是一条可爱的小狗,可是突然有一天疯了(MadDog),一看到人就会每隔半秒叫一声(wow)地不停叫唤(yelp)。
请根据描述,按示例的形式用代码来实现(提示关键字: 继承,原型,setInterval)。
题解:
function MadDog() {
this.yelp = function() {
var self = this;
setInterval(function() {
self.wow();
}, 500);
}
}
MadDog.prototype = new Dog();
//for test
var dog = new Dog();
dog.yelp();
var madDog = 更多 > Web 前端优化最佳实践
十 10th
根据 Yahoo 开发中心的 “Best Practices for Speeding Up Your Web Site” 翻译整理。
面向内容的优化规则目前有 10 条。
1. 尽量减少 HTTP 请求 (Make Fewer HTTP Requests)作为第一条,可能也是最重要的一条。根据 Yahoo! 研究团队的数据分析,有很大一部分用户访问会因为这一条而取得最大受益。有几种常见的方法能切实减少 HTTP 请求:
- 1) 合并文件,比如把多个 CSS 文件合成一个;
- 2) CSS Sprites 利用 CSS background 相关元素进行背景图绝对定位;参见:CSS Sprites: Image Slicing’s Kiss of Death
- 3) 图像地图
- 4) 内联图象 使用 data: URL scheme 在实际的页面嵌入图像数据.
