• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
新能源汽车行业用户产品设计
新能源汽车行业、面向C端用户的产品设计
博客园    首页    新随笔       管理     

看淘宝UED招聘题,思索FSE技能定位(附参考答案)

淘宝面试题淘宝的审美眼光 从taobao的这次2007考题来看,对web前台职位的技能要求,已经很明显——web标准设计。从4道题目来看,考结构的占了一题,考表现的站了一题,考行为的占了两题。从这个比重来看,JavaScript的重要性,不言而喻。但是恰恰现在很多的学习web标准设计的朋友,都一头扎进css的研究当中,甚至误以为css就是web标准设计的全部。这点还是比较值得思考的。提到JavaScript,很多做前台的都比较恐惧。美工、页面都可以做到很漂亮,但是就是JavaScript的基础比较差。我想这个也是比较值得反思的点。页面的配
淘宝招聘题
淘宝的审美眼光

题目1:JavaScript方面

小贤是一条可爱的小狗(Dog),它的叫声很好听(wow),每次看到主人的时候就会乖乖叫一声(yelp)。从这段描述可以得到以下对象:

1 function Dog() {
2     this.wow = function() {
3         alert(’Wow’);
4     }
5     this.yelp = function() {
6         this.wow();
7     }
8 }

小芒和小贤一样,原来也是一条可爱的小狗,可是突然有一天疯了(MadDog),一看到人就会每隔半秒叫一声(wow)地不停叫唤(yelp)。请根据描述,按示例的形式用代码来实现(提示关键字: 继承,原型,setInterval)。

参考答案,先自己思考一下哦!
先自己试试哦
 1function MadDog() {
 2    this.yelp = function() {
 3        var self = this;
 4        setInterval(function() {
 5            self.wow();
 6        }
, 500);
 7    }

 8}

 9MadDog.prototype = new Dog();
10//for test
11var dog = new Dog();
12dog.yelp();
13var madDog = new MadDog();
14madDog.yelp();

淘宝招聘官评语

以上是较为规范的一个解法,我们希望通过此题,检查应聘者对JS的语言基础及的面向对象开发的理解程度。其中的难点在于闭包的应用。

题目2:CSS方面

使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。

参考答案,先自己思考一下哦!


淘宝招聘官评语

很遗憾,这个解法用到了css hack。我们也不理解为什么设置font-size可以让IE显示垂直居中的效果。根据我们的计算,高度/字体大小的比值为1.14左右时IE可实现垂直居中。

当然还有很多其他的实现方案,但需要引入额外的标签。对于流量超大的淘宝网而言,我们经过权衡,倾向于在此问题上合理的使用hack。

题目3:XHMTL方面

在不使用 border 样式的情况下,画出一条一px高的横线,在不同浏览器的Quirksmode和CSSCompat模式下都保持同一效果。

参考答案,先自己思考一下哦!


淘宝招聘官评语

此题要点是要求在浏览器的 QuirksMode 和 CSSCompat 模式下效果一致。解法有很多,以上是我们认为的最为合理的一种。

题目4:JavaScript方面

请给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。

参考答案,先自己思考一下哦!
先自己思考一下哦
 1Array.prototype.distinct = function() {
 2 var ret = [];
 3 for (var i = 0; i < this.length; i++) {
 4     for (var j = i+1; j < this.length;) {
 5         if (this[i] === this[j]) {
 6             ret.push(this.splice(j, 1)[0]);
 7         }
 else {
 8             j++;
 9         }

10     }

11 }

12 return ret;
13}

14//for test
15alert(['a','b','c','d','b','a','e'].distinct());

淘宝招聘官评语

这是最为普通的解法。在数组元素数量不高的情况下,它的性能是可以接受的。相信一定有不少朋友有更好的解法,请告诉我们。


我想说两句

从taobao的这次2007考题来看,对web前台职位的技能要求,已经很明显——web标准设计。从4道题目来看,考结构的占了一题,考表现的站了一题,考行为的占了两题。从这个比重来看,JavaScript的重要性,不言而喻。但是恰恰现在很多的学习web标准设计的朋友,都一头扎进css的研究当中,甚至误以为css就是web标准设计的全部。这点还是比较值得思考的。

提到JavaScript,很多做前台的都比较恐惧。美工、页面都可以做到很漂亮,但是就是JavaScript的基础比较差。我想这个也是比较值得反思的点。页面的配色、风格、图片等设计应该属于美工的事情,而后面两层(以三层架构为例)又是程序员的事情,所以,如果将自己定位为一个“Frontend Software Engineer”的时候,我们到底应该学习和掌握一些什么。我想淘宝的这个份试卷,还是比较有指导意义的。(当然,如果能力和精力比较好的话,全能是最好的。)

当然,我的意思也不是说,作为FSE(Frontend Software Engineer),只要掌握这三个方面就可以了。其实还需要一些其他的相关知识,例如SEO(搜索引擎优化)、UE(用户体验)等方面,甚至软件设计模式等方面也需要一定的能力,才能建设出好的(强壮、易维护、易扩展)网站。对待知识,我认为:第一:要广,只要和自己的职业定位相关的,都要有一定的了解。第二:要深,对自己凭着吃饭的技能一定要深入。掌握一些别人没有掌握的知识和能力,才能更好地体现自己的价值。

顺便推荐一篇文章(仅供参考):《WEB2.0的单手定则》

相关资料:
  • UED:User Experience Design 即:用户体验设计
  • FSE: Frontend Software Engineer 即: 前台软件工程师
  • 招聘网页源地址: 招聘网页源地址
  • CSS hack: CSS hack资料
  • QuirksMode和CSSCompat:诡异模式和标准模式(CSSCompat也叫Standards Mode) QuirksMode和CSSCompat资料
posted @ 2008-01-18 13:36  阿一(杨正祎)  阅读(8579)  评论(27)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3