分享《去哪兒網》前端筆試題


我應聘的是前端工程師。筆試就考了四道前端題,個人覺得基礎倒是考到了,但是前端方面的知識沒有多大聯系,四道題,有三道題都是寫函數,只有一道題貼近了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 {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;

我是這么答的:

<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。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM