去哪儿网2015校园招聘前端笔试题

原文链接:http://www.dy1280.com/thread-601-1-1.html


我应聘的是前端工程师。笔试就考了四道前端题,个人觉得基础倒是考到了,但是前端方面的知识没有多大联系,四道题,有三道题都是写函数,只有一道题贴近了css,自己做的也一般一般。。。

现在将四道题分享给大家,希望对大家的面试有帮助。

1.写一个函数padstare(string str1,min_lenthg,string str2),然后就是用英文解释每个参数的意思,看了半天没看懂,然后看了下他的示例,一下就明白了。

例:padstare(‘5’,3,‘0’)返回的是‘005’;

  padstare(‘798’,5,‘0’)返回的是‘798’;

  意思是这样的,如果字符串str1的长度没有min_length大,就用str2来填充;
代码:

  1. <script>
  2. function padstare(str,min,str_char)
  3. {
  4.     var ret=[];
  5.     if(str.length>=min)
  6.     {
  7.         return str;   
  8.     }
  9.     else
  10.     {
  11.         for(var i=0;i<min-str.length;i++)
  12.           {
  13.                ret.push(str_char);
  14.           }
  15.         return ret.join('')+str;
  16.     }
  17. }
  18. </script>

2.写一个命令行字符的解析函数。
   例:-name lily  -age 25  -school "chengdu university"    返回的是[-name lily,-age 25, -school "chengdu university"]
  1. <script>
  2. function getdata(str)
  3. {
  4.     var json={};
  5.     var gets =str.split('"')[0];
  6.     gets =gets.split(' ');
  7.     for(var i=0;i<gets.length-1;i++)
  8.     {
  9.         if(i%2==0)
  10.         {
  11.             json[gets[i]]=gets[i+1];
  12.         }
  13.     }
  14.     json[gets[gets.length-1]]=str.split('"')[1];
  15.     return json;
  16. }
  17. </script>

3.第三题就是唯一的与css有关的题。

   div1和div2是DOM结构中的关系为兄弟节点的两个div元素,分别画出下列问题的效果图:

   a.   .div1 {width: 100px;height: 100px;position: absolute;float: left;}
         .div2 {width: 100px;height: 100px;position: absolute;float: right;}

 b.   .div1 {width: 100px;height: 100px;position: relative;float: left;}
         .div2 {width: 100px;height: 100px;position: relative;float: right;}

   c.   .div1 {width: 100px;height: 100px;position: absolute;float: right;}
         .div2 {width: 100px;height: 100px;position: relative;float: left;}


4.设计函数indexof(a,b)判断字符串a中是否包含字符串b,如果包含返回其位置,不包含返回-1;

  1. <script type="text/javascript">
  2.     function indexof(str1,str2)
  3.     {
  4.         var len1=str1.length;
  5.         var len2=str2.length;
  6.         var ret=[];
  7.         if(len1 <len2)
  8.         {
  9.             return false;
  10.         }
  11.         else
  12.         {
  13.             for(var i=0;i<=len1-len2;i++)
  14.             {
  15.                 ret.push(str1.substr(i,len2);
  16.                 if(ret[i]==str2)
  17.                     {return i;}
  18.                 else
  19.                     {return -1;}
  20.             }
  21.         }
  22.     }
  23. </script>

比如调用indexof('hello','e')应该返回的是2,而实际上返回了-1,这是为什么呢?本来我觉得这道题应该是没问题的,但是我刚才试了一下,才发现还是有问题的,最后那个if...else...有点问题,因为i=0时,就会判断了,ret[0]不等于str2,所以会返回-1;而实际上,不应该返回-1,因此这里有问题。希望大家仔细看看代码,帮我改正一下啊,谢谢了,O(∩_∩)O。




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值