1、web前端面试题及答案 资料仅供参考 1. WEB标准以及W3C标准是什么? 标签闭合、标签小写、不乱嵌套、使用外链css和js、结构行为表现的分离。 1.1div中img怎么水平和垂直居中? Div{width:200px; height:200px;text-align:center; font-size:0; overflow: hidden;line-height:200px; _line-height:178px;/*兼容IE6*/ } Img{ vertical-align:middle;} 1.2 HTML中没有单位的属性是? z-index:
2、1; zoom:1; font-weight:200; 1.3 form表单中input标签的readonly 和disabled属性有何区别? readonly=“readonly”是只读,不能够修改, disabled=“disabled”是禁用,整个文本框是显示灰色状态 form 中method是数据传递的方式,action是与后台数据库提交的 2. xhtml和html有什么区别 XHTML 元素必须被正确地嵌套,闭合,区分大小写,文档必须拥有根元素。 3.行内元素有哪些?块级元素有哪些? 行内元素: a b img em br i span inpu
3、t select 块级元素:div p h1-h6 form ul dl ol table 4.行内元素和块级元素有什么区别? 行内元素不能够设置宽高,不独占一行; 块级元素能够设置宽高,独占一行。 5.我想让行内元素跟上面的元素距离10px,加margin-top和padding-top能够吗? margin-top,padding-top无效 6.CSS的盒模型由什么组成? 内容(width,height),border ,margin,padding 6.1 简述div+css布局的优势? (1)符合w3c标准;(2)兼容性好;(3)有
4、利于搜索引擎很友好;(4)样式的调整更加方便;(5)css简洁的代码,能使样式和结构分离; 7.说说display属性有哪些?能够做什么? display:block行内元素转换为块级元素 display:inline块级元素转换为行内元素 display:inline-block转为内联元素 display:box(css3新增的弹性布局属性) 8.CSS 选择符有哪些? 1.id选择器( # myid) 2.类选择器(.myclassname) 3.标签选择器(div, h1, p) 4.相邻选择器(h1 + p) 5.子
5、选择器(ul < li) 6.后代选择器(li a) 7.通配符选择器( * ) 8.属性选择器(a[rel = "external"]) 9.伪类选择器(a: hover, li: nth - child) 9.哪些css属性能够继承? 可继承: font-size font-family color, ul li dl dd dt;(字体属性和列表属性) 不可继承 :border padding margin width height ; 10.css优先级算法如何计算? !important > id > class >
6、标签 !important 比 内联优先级高 * 优先级就近原则,样式定义最近者为准; * 以最后载入的样式为准; 11.text-align:center和line-height有什么区别? text-align是水平对齐,line-height是行间。 12.前端页面由哪三层构成,分别是什么?作用是什么? 结构层 Html(页面结构内容,骨架) 表示层 CSS(网页的样式和外观) 行为层 js(实现网页的交互,动画效果) 13.标签上title与alt属性的区别是什么? Alt是图片属性,让搜索引擎认识你的图片。当图片不显
7、示的时候显示。 title是网站标题,是seo中最重要的属性。 14.使用css 精灵有什么优缺点? 优: Css 精灵 把一堆小的图片整合到一张大的图片上,减轻HTTP的请求数量(HTTP连接数对网站的加载性能有重要影响)。能够提升网站性能 缺:可维护性方面,如要改变局部一张小图,就要很繁琐,而且算图片的位置也很麻烦; 15.什么是语义化的HTML? 标签使用的合理性,对于搜索引擎的抓取有好处。 16.b标签和strong标签,i标签和em标签的区别? 后者有语义,前者则无。 17.tite与h1的区别。 title侧重于网站信息标
8、题 从文章而言,h1侧重于文章主题 站在seo的角度看,好网站少不了title,好文章少不了h1标题,title权重高于h1。 18.清除浮动的几种方式,各自的优缺点 1.使用空标签清除浮动clear:both(缺点,增加无意义的标签) 2.使用overflow:auto(使用zoom:1用于兼容IE)或:overflow:hidden; 3.是用afert伪元素清除浮动(用于非IE浏览器) .Clearfix:after{ content:””; display:block; height:0; overflow:hidden; clear:
9、both;} .clearfix{ zoom:1;} 18.1 HTML doctype 有哪些常见的类型? HTML4.01 XHTML1.0 HTML5 18.2 什么是css hack?(怎么让css很好的兼容各主流浏览器) ,CSS hack的目的就是使你的CSS代码兼容不同的浏览器。当然,我们也能够反过来利用CSS hack为不同版本的浏览器定制编写不同的CSS效果。 有三种表示方式:(1).css内部hack:主要针对类内部的hack,比如IE6能识别“_”“*”,IE7能识别“*”等(也叫类内属性前缀法);(2).选择器hack:例如IE6能*html .cl
10、ass{}; IE7能识别 *+html .class{}(也叫选择器前缀法); (3)html头部引用(if IE)hack:针对所有IE:,针对IE6及以下版本:,这类Hack不但对CSS生效,对写在判断语句里面的所有代码都会生效(也叫条件注释法)。 18.3请简述css加载方式link和@import的区别? 1. link属于XHTML标签,而@import完全是CSS提供的一种方式。 2.加载顺序的差别:前者在页面加载的时候就
11、同时加载进来,而后者是在页面完全加载完再加载 3.兼容性的差别:前者能够兼容全部,后者只有在IE5以上才能被识别; 4. 使用JavaScript DOM控制样式的差别:只能控制link标签,不能控制@import 19.display:none和visibility:hidden的区别是什么? visibility: hidden----将元素隐藏,可是还占着位置。 display: none----将元素的显示设为无,不占任何的位置。 19.1五大浏览器的内核 火狐:-moz- IE:-ms- 欧朋:-o- 谷歌和苹果:-webkit- 20.说出几种IE
12、6 BUG的解决方法 1.双边距BUG float引起的 解决:使用display:inline 2.3像素问题 使用float引起的 解决:使用dislpay:inline -3px 3.超链接hover 点击后失效 解决:使用正确的书写顺序 link visited hover active 4.Ie z-index问题 解决:给父级添加position:relative 5.Png 透明 解决:使用js代码 6.Min-height 最小高度 !Important 解决 7.img出现边框 border:non
13、e; 8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的overflow:hidden,zoom:0.08 line-height:1px能够解决) 21.域名和服务器相关知识? 22.HTTP状态码都有那些。 200 OK //客户端请求成功 400 Bad Request //客户端请求有语法错误,不能被服务器所理解 403 Forbidden //服务器收到请求,可是拒绝提供服务 404 Not Found //请求资源不存在,输入了错误的URL 500 Internal Server Error
14、//服务器发生不可预期的错误 503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常 23.如何优化网页加载速度? 1.减少css,js文件数量及大小(减少重复性代码,代码重复利用),压缩CSS和Js代码 2.图片的大小 3.把css样式表放置顶部,把js放置页面底部 4.减少http请求数 5.使用外部 Js 和 CSS 24.position属性absolute与relative的区别? absolute绝对定位 //相对于浏览器定位 relative相对定位
15、//相对于前面的容器定位
25.HTML5 的有那些新标签?
16、新的API? 1. 选择器:querySelector,querySelectorAll document. querySelectorAll(“.head”); 2. Canvas API:有关动态产出与渲染图形、图表、图像和动画的API。 3. 音频与视频 API。 4. 离线存储API 5. 通讯API 6. 文件操作 7. 地理位置API 8. 拖放API 26.CSS3新增伪类有那些? p:first-of-type 选择属于其父元素的首个
元素的每个
元素。 p:last-of-type 选择属于其父元素的最后
17、 元素的每个
元素。 p:only-of-type 选择属于其父元素唯一的
元素的每个
元素。 p:only-child 选择属于其父元素的唯一子元素的每个
元素。 p:nth-child(2) 选择属于其父元素的第二个子元素的每个
元素。 :enabled、:disabled 控制表单控件的禁用状态。 :checked,单选框或复选框被选中。 27.1 简述call和apply的区别? 两者的作用是一样的,只是参数列表不同 27.2 js中== 和 === 的区别? ‘==’是判断值是否相等
18、先转换类型再判断), null == underfined 这两个是相等的‘===’是判断值及类型是否完全相等。(直接判断),注意: NaN!===NaN 的,NaN不等于任何数,包括她自身(奇怪的东西) 27.3 js中 的基本数据类型? 数值类型:number 字符串类型:string 布尔类型:boolean(true和false) 对象类型: abject (null) 未定义类型: underfined(underfined) 27.4 什么是JavaScript 闭包,有何作用? 一个拥有许多变量和绑定了这些变量的环境的表示式(一般是一个函数),因而这些变量也是该表
19、示式的一部分。闭包的特点: 1.作为一个函数变量的一个引用,当函数返回时,其处于激活状态。 2.一个闭包就是当一个函数返回时,一个没有释放资源的栈区。 27.5 jQuery和JavaScript相比的优缺点? 优点:实现了脚本和页面的分离;最少的代码做最多的事(这也是jQuery的口号);性能更好,几乎解决了所有的浏览器兼容问题; 缺点:不能向后兼容;插件的兼容性(各版本之间不能很好的兼容),在同一个页面使用多个插件可能会出现冲突现象;稳定性方面也有待提高; 27.6全局变量和局部变量有什么区别? 在JavaScript中一对大括号代表着一个独立的空间,在这个空间当中声
20、明的变量相对这个大括号来说就是全局变量,而相对其它大括号来说就是局部变量,局部变量只能在自己的大括号里被使用,其它大括号是不能调用的。 28.谈谈This对象的理解。 this是js的一个关键字,随着函数使用场合不同,this的值会发生变化。可是总有一个原则,那就是this指的是调用函数的那个对象。 this一般情况下:是全局对象Global。 作为方法调用,那么this就是指这个对象 28.1 前端技术有哪些?还有哪些相关的书籍? JavaScript jQuery HTML5 CSS3 (移动端框架:jQuery mobile Phonegap Bootstra
21、移动端开发工具等) 《精通JavaScript》《锋利的jQuery》《编写高质量代码:web前端开发修炼之道》《SEO教程:搜索引擎优化入门与进阶》 29.documen.write和 innerHTML有什么区别? DOM的innerHTML是DOM元素对象的一个属性 而write是document对象的一个方法 29.1用JavaScript怎么判断谷歌浏览器? 30.JSON是什么? JSON是一种轻量级的数据交换格式。它是基于JS的一个子集。数据格式简单, 易读写, 占用带宽小 {'age':'12', 'name':'back'} 31.ajax 是什么?ajax 的交互模型?同步和异步的区别? 允许浏览器与服务器端通信(进行数据交换)而无需刷新当前
23、页面的技术 1. 经过异步模式,提升了用户体验 2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用 3. Ajax在客户端运行,承担了一部分原来由服务器承担的工作,减少了大用户量下的服务器负载。 2. Ajax的最大的特点是什么。 Ajax能够实现动态不刷新(局部刷新) 3.ajax的缺点: 1、ajax不支持浏览器back按钮。 2、安全问题 AJAX暴露了与服务器交互的细节。 3、对搜索引擎的支持比较弱。 4、破坏了程序的异常机制。 5、不容易
24、调试。 32.你常见那些js框架? jQuery Sencha Ext JS(4.0版本后要收费) 33.工作流程,你怎么来实现页面设计图,你认为前端应该如何高质量完成工作? 34.介绍项目经验、合作开发、独立开发。 35.开发过程中遇到困难,如何解决。 36.对前端界面工程师这个职位是怎么样理解的?它的前景会怎么样? 前端是最贴近用户的程序员,比后端、数据库、产品经理、运营、安全都近。 1、实现界面交互 2、提升用户体验 3、有了Node.js,前端能够实现服务端的一些事情 前端是最贴近用户的程序员,前端的能力就
25、是能让产品从 90分进化到 100 分,甚至更好, 参与项目,快速高质量完成实现效果图,精确到1px; 与团队成员,UI设计,产品经理的沟通; 做好的页面结构,页面重构和用户体验; 处理hack,兼容、写出优美的代码格式; 针对服务器的优化、拥抱最新前端技术。 其它相关的加分项: 1. 都使用和了解过哪些编辑器?都使用和了解过哪些日常工具? 2. 都知道有哪些浏览器内核?开发过的项目都兼容哪些浏览器? 3. 瀑布流布局或者流式布局是否有了解 4. HTML5都有哪些新的API? 5. 都用过什么代码调试工具? 6. 是否有接触过或者了解
26、过重构。 7.你遇到过比较难的技术问题是?你是如何解决的? 8.什么叫优雅降级和渐进增强? 优雅降级/平稳退化:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,针对不同版本的IE的hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效. 渐进增强:从被所有浏览器支持的基本功能开始,逐步地添加那些只有新式浏览器才支持的功能,向页面增加无害于基础浏览器的额外样式和功能的。当浏览器支持时,它们会自动地呈现出来并发挥作用。 --
27、 去学学bootstrap框架,有兴趣的话建议你向移动端这方面发展,有空就看看编写高质量代码这本书。 跨浏览器,网页性能优化,seo,深刻理解Web标准,对可用性、可访问性等相关知识有实际的了解,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持等。 设计: 怎么工作,怎么和程序员沟通,看以往作品,为什么那样做, 例如,程序员经常反驳的理由有这么些: 1、功能太占用服务器资源了。 2、开发这个功能好复杂,如果占用太多时间可能影响项目进度。 3、这个功能有助于提升用户体验,但我们实现起来比较麻烦。 4、这个功能太麻烦了,还是现在这样的好。 改改改 1、企业主要是看你能不能做东西。 企业很难招到一个适合的人,不会轻易把你淘汰掉。 如果对方挑你毛病,证明对方有招聘你的意图,否则的话,对方不会浪费时间挑你毛病,挑你毛病的主要原因是,想压榨你工资,因此你要自信一点,无论对方怎么挑你毛病都不要害怕。 企业中没有专门的面试官。 不是说我面试了这一家,她就一定要录取我,还有很多公司等着你去挑,目光放长远一点,一定要拿到自己满意的薪资才做。 面试就是一个解开双方谎言的过程,你能瞒过对方,证明你赢了。 换个心态去面试,不是企业在挑你,是你在挑企业。






