文档章节

面试前端职位的测试题

校友君
 校友君
发布于 2014/07/04 09:32
字数 1658
阅读 37
收藏 0

1、设计的四大原则, 对比、对齐、重复、亲密性的作用。

亲密性,物理位置的接近就意味着存在关联。如果多个项目相互之间存在很近的亲密  性,它们将成为一个视觉单元,而不是多个孤立元素。亲密性的根本目的是实现组织性。

对齐,任何东西都不能在页面上随意安放。每个元素都应当与页面上的另一个元素有某种视觉联系。这样能建立一种清晰精巧而且清爽的外观。对齐的根本目的是使页面统一而有条理。
另:页面上只使用一种文本对齐。

重复,让设计中的视觉要素在整个作品中重复出现。可以重复颜色、形状、材质、空间关系、线宽、字体、大小和图片等。这样一来,既能增加条理性,还可以加强统一性。重复的目的就是统一,并增强视觉效果。

对比,对比的基本思想是,要避免页面上的元素太过相似。如果元素(字体、颜色、大小、线宽、形状、空间等)不相同,那就干脆让它们截然不同。要让页面引人注目,对比通常是最重要的一个因素,正是它能使读者首先看这个页面。对比的根本目的有两个方面,一个是增强页面的效果,另一个目的是有助于信息的组织。
摘自:http://wenku.baidu.com/link?url=1uzF-ySHDP1FUmNTRMMPP0v34mUG6-6rguYz4tZ3_fHYagNhg832a9ybs264DemsOf0ALgwipQXoihNFwqANQEl2ZrZeSCHcDHgfXxp2B7q

2、元素的属性设置display:inline-block,其作用。

display:inline-block 将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内,允许空格。但可以设置自身宽度和高度的块元素的属性,同时又能是该元素轻松在父元素居中显示。

另1:块元素下使用该属性IE6、IE7不支持。

解决的方法,
方法1:直接让块元素设置为内联对象呈递(display:inline;),然后触发块元素的layout(如:zoom:1;等)。兼容各个浏览器的代码: div {display: inline-block; *display: inline; *zoom:1;...}
方法2:先使用display: inline-block属性触发块元素,然后再定义display: inline,让块元素呈递为内联对象(两个display 要先后放在两个css样式声明中才有效果,这是IE的一个经典bug,如果先定义了 display: inline-block,然后再将display 设回inline或block,layout不会消失)。代码:div {display: inline-block;...} div {*display: inline;}

另2:display:inline-block 元素间会产生多余空白,这是inline-block本身特性!可以使用font-size设置可以解决。
http://www.phpvar.com/archives/2211.html
http://www.phpvar.com/archives/453.html

3、javascript中pop()、push()、shift()、unshift()的作用。

以上是Array对象的方法。pop()方法用于删除最后一个数组项,返回它作为函数值。push()方法用于在Array结尾处添加一个或多个项,返回的是该项在数组的位置。shift()方法将删除数组中的第一个项,将其作为函数值返回。unshift()方法,它把一个项放在数组的第一个位置,然后把余下的项向下移动一个位置。

4、javascript中apply和call的作用。

这两个方法主要是用于对象继承。
call和apply的第一个参数与都是需要调用的函数对象,在函数体内这个参数就是this的值,剩余的参数是需要传递给函数的值,call和apply的不同就是call传的值可以是任意的,而apply传递给函数的参数必须是数组。

5、jQuery中绑定事件有哪些,其区别。

live()方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。通过live()方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)。
bind()方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数。
bind()和live()的区别:live()方法其实是bind()方法的变种,其基本功能就同bind()方法的功能是一样的,都是为一个元素绑定某个事件,但是bind()方法只能给当前存在的元素绑定事件,对于事后采用js等方式新生成的元素无效,而live()方法则正好弥补了bind()方法的这个缺陷,它可以对后生成的元素也可以绑定相应的事件。

另:live方法之所以能对生成的元素也绑定相应的事件的原因归结在“事件委托”上面,所谓“事件委托”就是指绑定在祖先元素上的事件可以在其后代元素上进行使用。live方法的处理机制就是把事件绑定在DOM树的根节点上,而不是直接绑定在某个元素上。http://blog.csdn.net/yeliping2011/article/details/7407389

另:delegate()方法语法定义不同。
http://www.jb51.net/article/27309.htm

6、解决jQuery库于其他库之间的$命名冲突。

使用 noConflict()方法为 jQuery 变量规定新的名称: var jq = $.noConflict();noConflict()方法让渡变量$的jQuery控制权。该方法释放jQuery 对$变量的控制。该方法也可用于为jQuery变量规定新的自定义名称。在其他Javascript库为其函数使用$时,该方法很有用。

7、@media  screen and (max-width:960px) {
    body {
        background:#fff;
    }
}

这段代码的作用。

在样式表中内嵌@media ,当计算机屏幕宽度最大为960px时,body的背景颜色设置为#fff。

8、<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
这段代码的作用。

这段代码是针对移动端浏览器写的,就是告诉移动设备你所写的网页的属性。
name="viewport" : 这个就是针对移动端浏览器的说明;
width=device-width : 告诉浏览器页面的宽度应该等于设备的宽度;
initial-scale=1.0 : 初始的缩放比例。页面将是原本尺寸展示,如果后面是2.0的话,就是将页面放大两倍;
minimum-scale : 允许用户缩放到的最小比例。最小缩小至原先的大小;
maximum-scale=1.0 : 允许用户缩放到的最大比例。最大放大至原先大小;
user-scalable : 用户是否可以手动缩放;

© 著作权归作者所有

共有 人打赏支持
校友君
粉丝 3
博文 5
码字总数 5151
作品 0
广州
私信 提问
求各种前端面试题.......

过两天将面试一家我很想去的公司,职位是前端开发. 在此希望大家出些前端的题,帮帮忙.不甚感激!!

我是潮汐
2013/09/13
225
3
易聘代招:北京大型互联网公司16-26K高薪招聘前端架构师

工作年限 5年以上 学历要求 本科 岗位描述 1 带领组员实现全网前端框架。 2 创建前端标准及规范,并孜孜不倦的布道。 3 为全网信息架构及技术选型提供专业意见。 团队负责搜索结果页面开发、...

candy
2012/05/16
286
0
科技公司9大古怪面试题:如何解决世界饥饿问题

科技公司在面试求职人员时通常会问到一些奇怪的问题,希望以此挑战求职者的思维。这些问题会迫使求职者抛开事先准备好的一些说法,即兴想出问题的解决方案。不过,这些奇怪的问题在一定程度上...

虫虫
2011/12/28
4.5K
52
给参加校招的同学三点建议 | 掘金技术征文

找工作是一场战役 我作为技术类职位的面试官参与过一些城市的校园招聘,很庆幸遇到了很多优秀的同学,但也为一些很有潜力的同学最终没有拿到Offer而可惜。 共性问题是很多同学将面试的过程看...

美团点评点餐
2017/08/25
0
0
谷歌15个刁钻的面试题

谷歌公司的面试题在刁钻古怪方面相当出名,科技博客BusinessInsider贴出了15道谷歌面试题,并一一给出了答案。 第一题:多少只高尔夫球才能填满一辆校车?(职位:产品经理) 解析:通过这道...

zh119893
2012/11/28
410
0

没有更多内容

加载失败,请刷新页面

加载更多

深入理解Spring MVC 思想

目录 一、前言 二、spring mvc 核心类与接口 三、spring mvc 核心流程图 四、spring mvc DispatcherServlet说明 五、spring mvc 父子上下文的说明 六、springMVC-mvc.xml 配置文件片段讲解 ...

呵呵哒灬
24分钟前
1
0
数据库技术-Mysql主从复制与数据备份

数据库技术-Mysql 主从复制的原理: MySQL中数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”...

须臾之余
昨天
12
0
Git远程仓库——GitHub的使用(一)

Git远程仓库——GitHub的使用(一) 一 、 Git远程仓库 由于你的本地仓库和GitHub仓库之间的传输是通过SSH加密的,所以需要一下设置: 步骤一、 创建SSH key 在用户主目录下,看看有没有.ss...

lwenhao
昨天
2
0
SpringBoot 整合

springBoot 整合模板引擎 SpringBoot 整合Mybatis SpringBoot 整合redis SpringBoot 整合定时任务 SpringBoot 整合拦截器...

细节探索者
昨天
1
0
第二个JAVA应用

第二个JAVA应用 方法一:配置文件: # cd /usr/local/tomcat/conf/# vim server.xml</Host> <Host name="www.wangzb.cc" appBase="/data/wwwroot/www.wangzb.cc" //引用所......

wzb88
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部