淘宝UED招聘题解(前端开发部分)
2008-11-22 10:52
260 查看
已经结束,效果还是不错的。我们发现了很多颇有潜力的人才。他们的一些聘题的解法也开拓了我们的视野,让我们收获良多。感谢所有参与招聘及所有关注淘宝UED博客的朋友。
以下是该次招聘前端开发工程师的聘题解答:
小贤是一条可爱的小狗(Dog),它的叫声很好听(wow),每次看到主人的时候就会乖乖叫一声(yelp)。
从这段描述可以得到以下对象:
function Dog() {
this.wow = function() {
alert(’Wow’);
}
this.yelp = function() {
this.wow();
}
}
小芒和小贤一样,原来也是一条可爱的小狗,可是突然有一天疯了(MadDog),一看到人就会每隔半秒叫一声(wow)地不停叫唤(yelp)。
请根据描述,按示例的形式用代码来实现(提示关键字: 继承,原型,setInterval)。
题解:
以上是较为规范的一个解法,我们希望通过此题,检查应聘者对JS的语言基础及的面向对象开发的理解程度。其中的难点在于闭包的应用。
使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。
题解:
很遗憾,这个解法用到了css hack。我们也不理解为什么设置font-size可以让IE显示垂直居中的效果。根据我们的计算,高度/字体大小的比值为1.14左右时IE可实现垂直居中。
当然还有很多其他的实现方案,但需要引入额外的标签。对于流量超大的淘宝网而言,我们经过权衡,倾向于在此问题上合理的使用hack。
在不使用 border 样式的情况下,画出一条一px高的横线,在不同浏览器的Quirksmode和CSSCompat模式下都保持同一效果。
题解:
此题要点是要求在浏览器的 QuirksMode 和 CSSCompat 模式下效果一致。解法有很多,以上是我们认为的最为合理的一种。
请给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
题解:
这是最为普通的解法。在数组元素数量不高的情况下,它的性能是可以接受的。
相信一定有不少朋友有更好的解法,请告诉我们。
以下是该次招聘前端开发工程师的聘题解答:
小贤是一条可爱的小狗(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 = new MadDog(); madDog.yelp();
以上是较为规范的一个解法,我们希望通过此题,检查应聘者对JS的语言基础及的面向对象开发的理解程度。其中的难点在于闭包的应用。
使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。
题解:
<style type="text/css"> .box { display: table-cell; vertical-align:middle; width:200px; height:200px; text-align:center; /* hack for ie */ *display: block; *font-size: 175px; /* end */ border: 1px solid #eee; } .box img { vertical-align:middle; } </style> <div class="box"> <img src="http://pics.taobao.com/bao/album/promotion/taoscars_180x95_071112_sr.jpg" /> </div>
很遗憾,这个解法用到了css hack。我们也不理解为什么设置font-size可以让IE显示垂直居中的效果。根据我们的计算,高度/字体大小的比值为1.14左右时IE可实现垂直居中。
当然还有很多其他的实现方案,但需要引入额外的标签。对于流量超大的淘宝网而言,我们经过权衡,倾向于在此问题上合理的使用hack。
在不使用 border 样式的情况下,画出一条一px高的横线,在不同浏览器的Quirksmode和CSSCompat模式下都保持同一效果。
题解:
<div style="height:1px;overflow:hidden;background:#000"></div>
此题要点是要求在浏览器的 QuirksMode 和 CSSCompat 模式下效果一致。解法有很多,以上是我们认为的最为合理的一种。
请给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
题解:
Array.prototype.distinct = function() { var ret = []; for (var i = 0; i < this.length; i++) { for (var j = i+1; j < this.length;) { if (this[i] === this[j]) { ret.push(this.splice(j, 1)[0]); } else { j++; } } } return ret; } //for test alert(['a','b','c','d','b','a','e'].distinct());
这是最为普通的解法。在数组元素数量不高的情况下,它的性能是可以接受的。
相信一定有不少朋友有更好的解法,请告诉我们。
相关文章推荐
- 淘宝UED招聘题(前端开发部分含参考答案和面试官评语)
- 2007淘宝UED招聘题解(前端开发部分)
- [面试题] 淘宝UED Web前端开发面试题(含问答)
- [面试题] 淘宝UED Web前端开发面试题【分析】
- 淘宝UED前端开发面试题
- 前端开发面试总结其他部分
- Java Web 高性能开发,第 1 部分: 前端的高性能
- 阿里巴巴天猫技术部-行业&供应链平台-前端招聘 资深前端开发工程师 15k-25k /杭州 / 经验3-5年 / 大专及以上 / 全职
- 前端开发面试题收集(css部分)
- 淘宝前端工程师:国内web前端开发十日谈
- 『招聘』前端开发、.net程序员、网页美工(班车、公寓)
- WEB前端开发高性能优化部分之JavaScript的优化细节
- Java Web 高性能开发,第 1 部分: 前端的高性能
- Java Web 高性能开发,第 2 部分: 前端的高性能
- Java Web 高性能开发,第 1 部分: 前端的高性能
- web前端开发测验之css部分
- 前端开发问题(CSS部分)
- 搜狐畅游前端开发笔试题(问答题部分)
- 淘宝前端工程师:国内web前端开发十日谈
- Web前端开发基础知识--部分总结