阿里_一道备受关注的前端开发笔试题
2009-04-14 16:38
183 查看
上星期三参加了阿里的前端开发的笔试,今天接到了阿里的第一轮面试通知,记得考后感觉题目不会很难哦,毕竟考的东西不外乎:XTHML/CSS/JS 的知识,但心里还是怕被over了,因为自己感觉当时考试的卷面很不整洁,画了又画的,满是伤痕~~~ (在这提起这缺点,希望自己以后要多多注意,在思考完全后再动笔,字也要写清楚, 勉励自己~)。
在接到面试通知后,我在网上也找到很多关于这道题的很多解答, 这里作了小小的总结:
阿里巴巴面试题出自:http://job.aliued.com/race/chooseRace/wd.html
BI上也有很多解法:http://bbs.blueidea.com/thread-2824105-1-1.html
这里就放上我自己的解决方法:
1.用CSS实现布局
让我们一起来做一个页面
首先,我们需要一个布局。
请使用CSS控制3个div,实现如下图的布局:
这题不难,在平时项目开发过程中也经常会碰到:
CSS代码:
XHTML代码:
2.用javascript优化布局
由于我们的用户群喜欢放大看页面,于是我们给上一题的布局做一次优化。
当鼠标略过某个区块的时候,该区块会放大25%,并且其他的区块仍然固定不动
效果如下:
提示:
也许,我们其他的布局也会用到这个放大的效果哦。
可以使用任何开源代码,包括曾经你自己写的。
关键字:
javascript、封装、复用
惭愧啊,自己的解答并不能很好的具有封装复用性,只能达到效果。
在接到面试通知后,我在网上也找到很多关于这道题的很多解答, 这里作了小小的总结:
阿里巴巴面试题出自:http://job.aliued.com/race/chooseRace/wd.html
BI上也有很多解法:http://bbs.blueidea.com/thread-2824105-1-1.html
这里就放上我自己的解决方法:
1.用CSS实现布局
让我们一起来做一个页面
首先,我们需要一个布局。
请使用CSS控制3个div,实现如下图的布局:
这题不难,在平时项目开发过程中也经常会碰到:
CSS代码:
<style type="text/css"> *{ margin:0px; padding:0px;} #first{float:left; margin-left:-310px;width:100px; height:150px;background:#f33; } #second{float:left;margin-left:-310px;margin-top:160px;width:100px;height:150px;background:#ff0;} div.container{ float:left; } #third{ margin-left:110px; width:200px;height:310px; background:#CC0000; } </style>
XHTML代码:
<div class="container"><div id="third"></div></div> <div id="second"></div> <div id="first"></div>
2.用javascript优化布局
由于我们的用户群喜欢放大看页面,于是我们给上一题的布局做一次优化。
当鼠标略过某个区块的时候,该区块会放大25%,并且其他的区块仍然固定不动
效果如下:
提示:
也许,我们其他的布局也会用到这个放大的效果哦。
可以使用任何开源代码,包括曾经你自己写的。
关键字:
javascript、封装、复用
惭愧啊,自己的解答并不能很好的具有封装复用性,只能达到效果。
function zoom(id,x,y){ // 设置缩放函数参数:容器id、横向缩放倍数、纵向缩放倍数(等比例缩放时也可以设定一个参数) var obj=document.getElementById(id); // 获取元素对象值 var dW=obj.clientWidth; // 获取元素宽度 var dH=obj.clientHeight; // 获取元素高度 obj.onmouseover=function(){ // 鼠标移入 this.style.postion = "absolute"; this.style.width=dW*x+"px"; // 横向缩放 this.style.height=dH*y+"px"; // 纵向缩放 this.style.backgroundColor="#f00"; // 设置调试背景 this.style.zIndex=3; // 设置z轴优先 if( /third/.test(id)) { document.getElementById("first").style.marginLeft = -310 - dW*(y-1) +"px"; document.getElementById("second").style.marginLeft = -310 - dW*(y-1) +"px"; } } obj.onmouseout=function(){ // 鼠标移出,设回默认值 this.style.width=""; this.style.height=""; this.style.padding=""; this.style.backgroundColor=""; this.style.zIndex=""; if( /third/.test(id)) { document.getElementById("first").style.marginLeft = ''; document.getElementById("second").style.marginLeft = ''; } } } window.onload = function(){ zoom("first",1.25,1.25); zoom("second",1.25,1.25); zoom("third",1.25,1.25); }
相关文章推荐
- 阿里_一道备受关注的前端开发笔试题
- 阿里巴巴_一道备受关注的前端开发笔试题
- 阿里2016前端开发工程师笔试 - 布局之左侧自动宽度右侧固定宽度
- 前端教程&开发模块化/规范化/工程化/优化&工具/调试&值得关注的博客/Git&面试-资源汇总
- 前端开发面试笔试题学习--额额
- 阿里15年前端实习笔试-做的答案
- 自己整理的部分腾讯web前端开发的笔试题目及答案
- 前端开发工程师必须关注的几个性能指标
- 一些前端开发的笔试题及答案(期待更好的答案)
- 求两个字符串的最大公共长度 看到的一道阿里笔试题
- 2018网易校招笔试题——web前端开发
- 阿里的一道笔试题
- 百度2010校园招聘 web前端开发笔试题(大概)
- 2017年暑期前端开发实习-阿里内推一面
- 关注前端开发流程
- 前端 2018 届校招笔试面经【百度,阿里,腾讯,阿里文娱,携程,美团,拼多多】
- 关注jquery技巧提高jquery技能(前端开发必学)
- 我在阿里这仨月 前端开发流程 前端进阶的思考 延伸学习的方式很简单:google 一个关键词你能看到十几篇优秀的博文,再这些博文中寻找新的关键字,直到整个大知识点得到突破
- 阿里测试开发笔试题--字符串相关知识
- 前端开发工程师-阿里内推一面