2013年阿里巴巴实习生笔试题

    前几天参加了阿里的笔试题,题目虽然很简单,但是现在回想下发现出了不少问题,还是基础不牢固啊。把这些题目写出来也算是对自己的一种提升吧。

    1.html题

     

   代码: 

<!DOCTYPE html>
<html>
    <head> 
    </head>
	<style>
	table,td,th{
		border: 1px solid #000;
		border-collapse: collapse;
		text-align: center;
	}
	</style>
    <body>
    <table class="table" cellspacing="0">
        <thead>
         <tr>
            <th>国家</th>
            <th>名称</th>
            <th>域名</th>
            <th>排名</th>
        </tr>
        </thead> 
        <tbody>
        <tr>
            <td>中国</td>
            <td>淘宝</td>
            <td>www.taobao.com</td>
            <td>1</td>
        </tr>
        <tr>
            <td rowspan="2">美国</td>
            <td>epay</td>
            <td>www.epay.com</td>
            <td>2</td>
        </tr>
        <tr>
            <td>amazon</td>
            <td>www.epay.com</td>
            <td>3</td>
        </tr>
        </tbody>
        <tfoot>
            <tr>
            <td colspan="4" style="text-align:right">www.a.com</td>
        </tr>
        </tfoot>
    </table>
    </body>
</html>

  2.css选择器的缩写,具体代码记不清楚了,就是涉及background、font、#000000之类、后代选择器的缩写

     3.先是语义化一个登录界面,然后是实现css部分(圆角半透明)。当时是想不起来如何实现半透明,找了找资料,发现是通过rgba(r,g,b,a)中的a来实现开透明的,还是基础知识掌握的不牢固啊。下面是自己写的代码,颜色背景什么的没有细致调整,样子大致是这样。

   

<!DOCTYPE html>
<html>
    <head>
    <style type="text/css">
	*{
	    margin: 0;
	    padding: 0;
	}
        #login{
	    position: relative;
	    margin: 0 auto;
	    width: 300px;
	    border: 10px solid rgba(0,0,0,0.4);
	    border-radius: 3px;
	}
		#delete{
			overflow: hidden;
			background: #555; 
		}
		#delete input{ 
			float: right;
			width: 28px;
			background: url(img/delete.png) no-repeat right top #555;
		}
		#login h3{  
			background: rgb(240, 173, 173);
			padding: 5px 10px;
		}
		#loginForm{
			padding: 10px;
		}
		#loginForm div{
			margin: 5px;
		}
		#submit{
			text-align: center;
		} 
		#submit input{
			margin: 0 10px;
		}
    </style>
    </head>
    <body>
		<div id="login">
			<div id="delete">
				<input type="button"  /> 
			</div>
			<h3>淘宝登录页面</h3>
			<form id="loginForm" action="" method="post">
				<div id="user">
					<label for="userName"> 用户名: </label>
					<input type="text" id="userName"/>
				</div>
				<div id="password">
					<label for="password"> 密  码: </label>
					<input type="password" id="password" />
				</div>
				<div id="submit"> 
					<input type="submit" value="登 录" /><a>请注册</a>
				</div>
			</form>
		</div>
    </body> 
</html>

  

     4.查找页面中所有类为test的节点,当时是对document.body.childNodes进行遍历,没有想到子节点还有可能拥有子节点,此题就此倒下,贴出一个可行的吧:     

function getByClass(test){ 
	var lists = document.getElementsByTagName('*');
	var result = [];
	var reg = new RegExp('\\b'+test+'\\b');
	for(var i=0,len=lists.length;i<len;i++){
		if(reg.test(lists[i].className)){
			result.push(lists[i]);
		}
	}
	return result;
}

  5.删除数组中的重复节点

if(! Array.prototype.unique){

       Array.prototype.unique = function(){
        
             var arr = this, temp = [], result = [];

             for(var i=0,len=arr.length;i<len;i++){
                  if(!temp[arr[i]]) {
                           result.push(arr[i]);
                           temp[arr[i]] = true;
                  }
             }
              return result;

       }


}

  6.谈谈对前端工程师的认识?这种题目就看自己发挥了。

posted @ 2013-05-09 22:53  沙漠孤鹰1140  阅读(1389)  评论(9编辑  收藏  举报