zoukankan      html  css  js  c++  java
  • 分享《去哪儿网》前端笔试题

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

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

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

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

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

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

    我是这样答的:

    <script>
    function padstare(str,min,str_char)
    {
        var ret=[];
        if(str.length>=min)
        {
            return str;   
        }
        else
        {
            for(var i=0;i<min-str.length;i++)
              {
                   ret.push(str_char);
              }
            return ret.join('')+str;
        }
    }
    </script>
    

    这道题应该是做对了的吧。

    2.写一个命令行字符的解析函数。

       例:-name lily  -age 25  -school "chengdu university"    返回的是[-name lily,-age 25, -school "chengdu university"]

       我是这样答得:

    <script>
    function getdata(str)
    {
       	var json={};
       	var gets =str.split('"')[0];
       	gets =gets.split(' ');
       	for(var i=0;i<gets.length-1;i++)
       	{
       		if(i%2==0)
       		{
       			json[gets[i]]=gets[i+1];
       		}
       	}
       	json[gets[gets.length-1]]=str.split('"')[1];
       	return json;
    }
    </script>
    

      个人觉得有错误,但也是想了很久,才想出这段代码.......,既要考虑有没有引号,而且还要考虑到引号中的空格不能被分隔开,我觉得此题答的不好,希望大神能给个正确答案啊,在此谢过!

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

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

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

             .div2 { 100px;height: 100px;position: absolute;float: right;}

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

             .div2 { 100px;height: 100px;position: relative;float: right;}

       c.   .div1 { 100px;height: 100px;position: absolute;float: right;} 

             .div2 { 100px;height: 100px;position: relative;float: left;}

    我的答案就不写了,大家自己想一下这道题的答案吧。

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

    我是这么答的:

    <script type="text/javascript">
    	function indexof(str1,str2)
    	{
    		var len1=str1.length;
    		var len2=str2.length;
    		var ret=[];
    		if(len1 <len2)
    		{
    			return false;
    		}
    		else
    		{
    			for(var i=0;i<=len1-len2;i++)
    			{
    				ret.push(str1.substr(i,len2);
    				if(ret[i]==str2)
    					{return i;}
    				else
    					{return -1;}
    			}
    		}
    	}
    </script>
    

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

  • 相关阅读:
    html中滚动条的样式
    在个人机上发布web项目
    Apache与SVN的集成
    待完成
    chmod
    【转】ubuntu修改IP地址和网关的方法
    ubuntu 添加svn服务
    生成指定大小的空文件
    数码单反相机完全攻略
    【转】ubuntu subversion安装
  • 原文地址:https://www.cnblogs.com/jarson-7426/p/3989208.html
Copyright © 2011-2022 走看看