阿里巴巴Web前端开发面试题赋答案

开发 前端
最近发现阿里巴巴的Web前端开发面试题,共分三部分:CSS部分,JavaScript部分,紧急处理部分,分享给大家做个参考~

最近发现阿里巴巴的Web前端开发面试题,共分三部分:CSS部分,JavaScript部分,紧急处理部分,分享给大家做个参考~

第一部分:用CSS实现布局

让我们一起来做一个页面

首先,我们需要一个布局。

请使用CSS控制3个div,实现如下图的布局。

e65e0e34544aa20a251f14a2.jpg 

第二部分:用javascript优化布局

由于我们的用户群喜欢放大看页面

于是我们给上一题的布局做一次优化。

当鼠标略过某个区块的时候,该区块会放大25%,

并且其他的区块仍然固定不动。

78662dd02d1862cba0ec9cc6.jpg 

提示:

也许,我们其他的布局也会用到这个放大的效果哦。可以使用任何开源代码,包括曾经你自己写的。

关键字:javascript、封装、复用

第三部分:处理紧急情况

好了,我们的页面完成了。

于是我们将页面发布上网。

突然,晴天霹雳,页面无法访问了,这时候,你会怎么做?

面试题到此为止,你是否能够对答如流呢,仔细想一下,然后在翻页看一下答案。

#p#

答案部分

第一题:主要考虑几个问题:1. IE6 的 3 像素 BUG;2. 清楚浮动;

CSS代码:

  1. div{background:#CCCCCC;}  
  2. #first{float:left;width:100pxheight:150px}  
  3. #second{clear:left;float:left;margin-top:10px;width:100px;height:150px}  
  4. #third{zoom:1width:200px;margin-left:110px;_margin-left:107pxheight:310px}  

XML/HTML代码

  1. <div id="first"></div>     
  2. <div id="second"></div>     
  3. <div id="third"></div> 

 第二题:用javascript优化布局

提示:

也许,我们其他的布局也会用到这个放大的效果哦。

可以使用任何开源代码,包括曾经你自己写的。

关键字:javascript、封装、复用

惭愧啊,用上边那个布局我怎么也没把它优化出来,硬这头皮用绝对定位改了布局;

所以样式改成了这样:

  1. body{ margin:0; padding:0}  
  2. div{background:#CCCCCC; position:absolute}  
  3. #first{width:100px; height:150px}  
  4. #second{top:160px;width:100px;height:150px}  
  5. #third{ width:200px; height:310px; left:110px} 

 javascript 要考虑封装、复用

  1. function zoom(id,x,y){ // 设置缩放函数参数:容器id、横向缩放倍数、纵向缩放倍数(等比例缩放时也可以设定一个参数)  
  2. var obj=document.getElementById(id); // 获取元素对象值  
  3. var dW=obj.clientWidth; // 获取元素宽度  
  4. var dH=obj.clientHeight; // 获取元素高度  
  5. //var oTop=obj.offsetTop;  
  6. //var oLeft=obj.offsetLeft;  
  7. obj.onmouseover=function(){ // 鼠标移入  
  8. this.style.width=dW*x+"px"// 横向缩放  
  9. this.style.height=dH*y+"px"// 纵向缩放  
  10. this.style.backgroundColor="#f00″; // 设置调试背景  
  11. this.style.zIndex=1; // 设置z轴优先  
  12. }  
  13. obj.onmouseout=function(){ // 鼠标移出,设回默认值  
  14. this.style.width="";  
  15. this.style.height="";  
  16. this.style.padding="";  
  17. this.style.backgroundColor="";  
  18. this.style.zIndex="";  
  19. }  
  20. }  
  21. zoom("first",1.25,1.25);  
  22. zoom("second",1.25,1.25);  
  23. zoom("third",1.25,1.25); 

第三题也许是JS代码没有放在页面的后面,加载速度慢尚未显示出来。或者是页面地址出错了。

这种情况下,先查看页面的源代码,看看有没有什么问题,然后找后台技术人员,看是不是服务器或技术方面的问题。

责任编辑:张伟 来源: 前端学院
相关推荐

2018-01-02 09:23:38

数据分析算法阿里巴巴

2015-07-23 14:13:43

前端开发面试题

2018-05-10 16:52:03

阿里巴巴前端面试题

2024-03-04 00:00:00

系统架构核心

2024-03-11 10:52:34

2010-04-22 16:31:20

Oracle开发面试题

2024-03-12 09:34:01

2018-01-24 20:59:46

阿里巴巴Python面试题

2024-02-28 07:35:32

SQL查询数据库

2015-07-30 09:31:26

阿里巴巴前端面试

2009-02-27 10:46:32

DBA笔试题阿里巴巴

2022-01-18 08:16:52

Web 前端JavaScript

2015-07-30 10:19:29

阿里巴巴面试经历

2020-12-18 10:55:51

阿里巴巴Redis数据库

2024-04-08 07:27:02

JDK8ZGC垃圾回收

2010-06-28 10:43:47

2017-05-02 21:14:20

阿里巴巴Java开发

2013-08-22 09:41:52

阿里巴巴去IOE王坚

2012-02-02 09:45:24

Web

2015-04-14 15:05:35

Web前端开发腾讯暑期实习生
点赞
收藏

51CTO技术栈公众号