前端开发笔试题

时间:2024.3.20

1.对WEB标准以及W3C的理解与认识

标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外 链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;

2、xhtml和html有什么区别

HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言

最主要的不同:

XHTML 元素必须被正确地嵌套。

XHTML 元素必须被关闭。

标签名必须用小写字母。

XHTML 文档必须拥有根元素。

3.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?

用于声明文档使用那种规范(html/Xhtml)一般为 严格 过度 基于框架的html文档

加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug

4、行内元素有哪些?块级元素有哪些?CSS的盒模型? 块级元素:div p h1 h2 h3 h4 form ul

行内元素: a b br i span input select

5、盒子模型概述

Css盒模型: margin、border、padding、content

盒子模型分为了w3c盒子和ie盒子,两者的区别在于w3c盒子的

width和height仅指content部分,没有包含padding和border部分,但是ie盒子模型的width和height包含padding和border部分

5.CSS引入的方式有哪些? link和@import的区别是?

内联 内嵌 外链 导入

区别 :同时加载

前者无兼容性,后者CSS2.1以下浏览器不支持

Link 支持使用javascript改变样式,后者不可

6.css选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?

标签选择符、 类选择符、 id选择符

优先级顺序: Id>class>标签选择

后者优先级高

7、form中input是类型有哪些?

text:文本框

password:密框码

radio:单选按钮

checkbox:复选框

file:文件选择域

hidden:隐藏域

button:按钮

reset:重置按钮

submit:表单提交按钮

image:图片按钮,类似submit可以为按钮添加图片

8、form中的input的redonly和disable区别

Readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容。但是它们之间有着微小的差别,总结如下:

Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,包括select, radio, checkbox, button等。但是表单元素在使用了disabled后,当我们将表单以POST

或GET的方式提交的话,这个元素的值不会被传递出去,而readonly会将该值传递出去(这种情况出现在我们将某个表单中的textarea元素设置为disabled或readonly,但是submit button却是可以使用的)

9、你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? Ie(Ie内核) 火狐(Gecko) 谷歌(webkit) opear(Presto)

10、写出几种IE6 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.select 在ie6下遮盖 使用iframe嵌套

8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)

11、<img>标签上title与alt属性的区别是什么?

Alt 当图片不显示是 用文字代表。

Title 为该属性提供信息

12、描述css reset的作用和用途。

Reset重置浏览器的css默认属性 浏览器的品种不同,样式不同,然后重置,让他们统一

13、解释css sprites,如何使用。

Css 精灵把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求次数

14、你如何对网站的文件和资源进行优化?期待的解决方案包括: 文件合并、文件最小化/文件压缩、使用CDN托管、缓存的使用

15、什么是语义化的HTML?

直观的认识标签 对于搜索引擎的抓取有好处

16.清除浮动的几种方式,各自的优缺点

1.使用空标签清除浮动 clear:both(理论上能清楚任何标签,,,增加无意义的标签)

2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE)

3.是用afert伪元素清除浮动(用于非IE浏览器)

17.简要说说关于Html5和css3的关注?

Html5:HTML5其实是关于图像,位置,存储,速度的优化和改进。一一列举HTML5的新特性,主要有下面一些:

[*]Canvas 图像、图形处理

[*]WebGL 网页3D游戏成为可能

[*]Geolocation API 地理位置定位

[*]Web Storage 本地存储,实现离线应用成为可能

[*]Web Workers 客户端多线程为应用提速

[*]Web Socket 套接字可实现客户端与服务器的持久连接

[*]Video 原生视频播放Audio 原生音频播放

[*]标签的改变:<header>,<footer>, <nav>,<dialog>, <aside>, <figure>, <section> 等 Css3

圆角:border-radius;5px;

盒子阴影:box-shadow

文字阴影:text-shadow

颜色渐变:

1、线性渐变(Linear Gradients)- 向下/向上/向左/向右/对角方向 #grad {

background: -webkit-linear-gradient(red, blue); /*Safari*/ background: -o-linear-gradient(red, blue); /* Opera*/

background: -moz-linear-gradient(red, blue); /* Firefox */ background: linear-gradient(red, blue); /* 标准的语法 */ }

2、径向渐变(Radial Gradients)- 由它们的中心定义 #grad { background: -webkit-radial-gradient(red, green, blue); /* Safari*/ background: -o-radial-gradient(red, green, blue); /* Opera */ background: -moz-radial-gradient(red, green, blue); /* Firefox */ background: radial-gradient(red, green, blue); /* 标准的语法 */ }

透明度:rgba(0,0,0,0.5)、opacity:0.5/filter:alpha(opacity=50); 变换:transform

过度:transition

动画:animation

18.如何用CSS分别单独定义IE6、7、8的width属性。

height: 100px; /*所有浏览器通用*/

height: 100px !important; /*ie7和firefox共用*/

color:#090\9; /* ie6、ie7、ie8*/

+color:#f00; /*只针对ie7浏览器*/

*color:#f00; /* ie6、ie7*/

_color:#ff0; /* ie6*/

19、如何上下左右居中一个浮动元素?

设置容器的浮动方式为相对定位,然后确定容器的宽高,比如宽500 高 300 的层,然后设置层的外边距。

div{Width:500px;height:300px;Margin:-150px 0 0

-250px;position:relative;left:50%;top:50%;}

20、IE6不支持png图片格式的解决方法

一、图片替换

使用GIF或PNG8(索引透明)来代替PNG图片

.png{background:url(image.png); _background:url(image.gif);}

特别说明一下:IE6是支持PNG索引透明的(即要么全透明,要么不透明),但不支持png的 alpha 透明(即半透明)

缺点:GIF图片色彩差了很多,特别是渐变色,有白色虚边。对色彩度要求不高,纯白色可以考虑此方法。

二、CSS滤镜(filter)

使用AlphaImageLoader加载PNG图片 .png{background:url(image.png) repeat-x 0 0; _background:none; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image.png' , sizingMethod='scale' ); }

缺点:IE6下背景无法平铺,性能差。而且页面使用filter 滤镜以后会出现这样那样的怪问题。页面中次数不是很多的时候该办法还是可行的。

21、你对前端界面工程师这个职位是怎么样理解的?

它其实好比就是一座桥梁,是链接 UI设计和程序开发的中间环节,这个环节直接关系到psd效果图正确高效稳定的还原,同时也为程序开发做好载体。

22、如果让你来制作一个访问量很高的大型网站,你会如何来管理所有CSS文件、JS与图片?

回答:涉及到人手、分工、同步;

1、先期团队必须确定好全局样式(globe.css),编码模式(utf-8)以及编写习惯必须一致

2、标注样式编写人,各模块都及时标注(标注关键样式调用的地方);

3、页面进行标注(例如页面模块开始和结束);

4、CSS跟HTML 分文件夹并行存放,命名都得统一(例如style.css)

5、JS 分文件夹存放命民以该JS 功能为准英文翻译;

6、图片采用整合的 images.pngpng8 格式文件使用尽量整合在一起使用方便将来的管理

23、前端页面有哪三层构成,分别是什么?作用是什么? 网页分成三个层次,即:结构层、表示层、行为层。

网页的结构层(structurallayer)由HTML 或XHTML 之类的标记语言负责创建。标签,也就是那些出现在尖括号里的单词,对网页内容的语义含义做出了描述,但这些标签不包含任何关于如何显示有关内容的信息。例如,P标签表达了这样一种语义:“这是一个文本段。” 网页的表示层(presentationlayer)由CSS 负责创建。CSS 对“如何显示有关内容”的问题做出了回答。

网页的行为层(behaviorlayer)负责回答“内容应该如何对事件做出反应”这一问题。这是Javascript 语言和DOM 主宰的领域。

25、执行力问题回答方案

第一点、首先谈谈我对执行力的理解:我所理解的执行力就是要能够把该做的事情落实到行动上,看到具体的效果,而不是说该怎么做,事情是做出来的,而不是嘴上说出来的; 第二点、我觉得单独的去讨论一个人是否有执行力没有太多的意义,我更加看重的是公司应该营造一种这样的文化氛围,个人的执行力才能发挥作用,也就是说公司有没有这样强的执行力文化氛围,靠一个人的执行力是不够的,要看整个公司的企业文化建设如何。执行力最后的体现在结果上。

1.javascript的typeof返回哪些数据类型

Object number function boolean underfind

2、javascript中的对话框有哪几种

Alert()警告框、prompt()输入对话框、confirm()确认对话框

2、javascript中setTimeout和setinterval的区别是? setTimeout是计时的功能,到点之后就触发后面的代码,只运行一次,也就是说设定的时间到后就触发运行指定代码,运行完后即

结束。如果运行的代码中再次运行同样的setTimeout命令,则可循环运行。

setinterval是循环运行的,即每到设定时间间隔就触发指定代码。这是真正的定时器。

setinterval使用简单,而setTimeout则比较灵活,可以随时退出循环,而且可以设置为按不固定的时间间隔来运行,比如第一次1秒,第二次2秒,第三次3秒……

2、例举3种强制类型转换和2种隐式类型转换?

强制(parseInt,parseFloat,number)

隐式(== – ===)

3、split() join() 的区别

前者是切割成数组的形式,后者是将数组转换成字符串

4、数组方法pop() push() unshift() shift()

Push()尾部添加 pop()尾部删除

Unshift()头部添加 shift()头部删除

6、IE和DOM事件流的区别

1.执行顺序不一样、

2.参数不一样

3.事件加不加on

4.this指向问题

8、ajax请求的时候get 和post方式的区别

简单的来说就是两个方面:有大小限制和安全问题。

Get方式不适合传递数据量较大的数据,同时的话请求的历史信息会保存在浏览器的缓存当中,有一定的风险;而已post方式向服务器发送数据请求,则不存在这两个方面的不足.

9、Ajax实现页面的异步调用和与服务器交互数据

(1)传统的javascript xmlHttpRequest的方式

(2)使用Jquery中的load方法

(3)使用Jquery中的getJson、getScript全局方法

(4)使用最底层的$ajax方法

9、call和apply的区别

Object.call(this,obj1,obj2,obj3)

Object.apply(this,arguments)

10.ajax请求时,如何解释json数据

使用eval parse 鉴于安全性考虑 使用parse更靠谱

13.事件委托是什么

让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!

/?p=78 例子可见此链接

14、闭包是什么,有什么特性,对页面有什么影响

闭包就是能够读取其他函数内部变量的函数。

/gaoshanwudi/article/details/7355794 此链接可查看(问这个问题的不是一个公司)

15.如何阻止事件冒泡和默认事件

canceBubble return false

16、添加 删除 替换 插入到某个接点的方法

obj.appendChidl()

obj.insertBefore()

obj.replaceChild()

obj.removeChild()

17、解释jsonp的原理,以及为什么不是真正的ajax

动态创建script标签,回调函数

Ajax是页面无刷新请求数据操作

18.javascript的本地对象,内置对象和宿主对象 本地对象为array obj regexp等可以new实例化 内置对象为gload Math 等不可以实例化的 宿主为浏览器自带的document,window 等

19.document load 和document ready的区别

Document.onload 是在结构和样式加载完才执行js Document.ready原生种没有这个方法,jquery中有 $().ready(function)

23.DOM操作

1、访问指定节点

(1)getElementsByTagName()

(2)getElementsByName()

(3)getElementById()

2、创建新节点

最常用到的几个方法是

createDocumentFragment()--创建文档碎片节点

createElement(tagname)--创建标签名为tagname的元素

createTextNode(text)--创建包含文本text的文本节点

3、属性操作

getAttribute(name) 获取属性值

setAttribute(name,newvalue) 设置属性值

removeAttribute(name) 删除属性值

4、遍历DOM

NodeIterator,TreeWalker

六、有使用过css sprite技术吗?请简述其原理及优缺点 CSS Sprites原理

CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position可以用数字能精确的定位出背景图片的位置。

CSS Sprites优点

利用CSS Sprites能很好地减少了网页的http请求,从而大大的提高了页面的性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;

CSS Sprites能减少图片的字节,曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。

CSS Sprites缺点

在图片合并的时候,你要把多张图片有序的合理的合并成一张图片,还要留好足够的空间,防止板块内不会出现不必要的背景;

在高分辨率的屏幕下的自适应页面,你的图片如果不够宽,很容易出现背景断裂;

八、怎么添加,移除,移动,复制创建和查找DOM节点

(1)创建新节点

createDocumentFragment() //创建一个DOM片段

createElement() //创建一个具体的元素

createTextNode() //创建一个文本节点

(2)添加、移除、替换、插入

appendChild()

removeChild()

replaceChild()

insertBefore()

(3)查找

getElementsByTagName() //通过标签名称

getElementsByName() //通过元素的Name属性的值 getElementById() //通过元素Id,唯一性

九、利用正则表达式进行邮箱、url验证

答:

邮箱验证:

Var myreg =

/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;

url

var tomatch= /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/

十、以下代码执行的结果?

var a = 10 ;

sayHi();

function sayHi()

{

a=a+10;

alert(a);

return a;

}

alert(a);

alert(sayHi()+10);

答:20 20 30 40

十一、将此数组根据冒泡排序重新排列:var myArray = new array(1,3,5,2,7,4);

答:

//new 一个数组

var myArray = new Array(1,3,5,2,7,4);

//冒泡排序

if(myArray.length>0){

for(var i=0; i //在这要注意myArray.length-i-1,意思是第一次从数组第一个值开始,第二次从第二个值开始….. for(var j=0; j str_j){

var tmp = myArray[j];

myArray[j] = myArray[j+1];

myArray[j+1] = tmp;

}

}

}

}

十二、jQuery插件开发的基本格式(选填)

(function ($) {

$.extend($.fn, {

}) })(jQuery)

12、正则表达式

13、前端优化知识

JavaScript和css部分

(1)、GZIP 压缩你的 JS 和 CSS 文件:

(2)把你的 .js 库文件地址替换成 Google CDN的地址:

/ajax/libs/jquery/1.4.4/jquery.min.js,其意义在于当一个用户访问过使用 google api 的网站之后,再次访问其他调用了该api地址的网站就不需要再次加载该文件了。从而达到提速的目的。 (3)把脚本放到底部

当一个脚本在下载的时候,浏览器干不了其它的事儿(串行了) ,把脚本放到尽可能底部的地方,一个原因是让页面逐渐渲染,另一个是实现更好的并行下载。对于脚本,脚本以下的内容被阻止逐渐加载了,因为只有当下载完脚本以后才会下载下面的内容, 当脚本正在下载的时候,浏览器不会开始下载任何东西。

(4)把样式表放到顶部

这一条其实和用户访问期望有关。CSS 放到最顶部,浏览器能够有针对性的对 HTML 页面从顶到下进行解析和渲染。没有人喜欢等待,而浏览器已经考虑到了这一点。

图片处理部分

(1)、使用css sprites合并图片;

一个网站经常使用小图标和小图片进行美化,但是很遗憾这些小图片占用了大量的HTTP请求,因此可以采用sprites的方式把所有的图片合并成一张图片 ,可以通过相关工具在线合并,也可以在ps中合并。

(2)、优化你网站图片:

大量使用的图片和图标虽然可以给网站带来美轮美奂的效果,图文混编更是一种非常绚丽的博文展现方法。可图片的体积确实不是很给力,jpg是一种有损压缩格式,而png虽然是无损的,但缺憾是体积颇大。为了减少图片体积达到最快的下载速度,每一张图片上传前应该优化一下体积。

14、Jquery性能优化

(1)优先使用id和标记选择器

(2)使用JQuery缓存对象

(3)更多的使用链式的写法

(4)减少对dom元素的直接操作

(5)正确引用jQuery;

1.尽量在body结束前才引入jQuery,而不是在head中。

2.借助第三方提供的CDN来引入jQuery,同时注意当使用第三方CDN出现问题时,要引入本地的jQuery文件。

15、 简述下cookie的操作,还有cookie的属性都知道哪些

16、js中this关键字的使用场合和用法

17、HTTP协议的状态消息都有哪些?

18、 AJAX是什么? AJAX的交互模型(流程)? AJAX跨域的解决办法?

通过xmlHttpRequest对象,以一种异步的方式,像服务器发送数据请求,并通过该对象接受请求返回的数据,从而完成人机交互的数据操作;

19、JavaScript继承有哪两种形式形式,进行描述

20、简述JavaScript封装

21、Jquery冒泡原理

22、Ajax跨域问题

23、页面的加载方式

html解析过程是从开头到下一行一行的执行。如果遇到CSS的加载以及JS的加载的话,就先让css和js加载完或者是等js执行完毕之后再继续加载;所以页面中如果js全放在头部并且开始就执行的话,如果网速跟不上,可能出现短暂的空白!所以js一般放在页面末尾,然后的话css放在头部!加载完毕后,会进行页面的外观渲染!

更多相关推荐:
WEB前端面笔试题总结

1如何显示隐藏一个DOM元素更改元素的cssstyle设为displaynone此外还可以将visibility设为hidden透明度设为0或长宽设为02一个定宽网页在浏览器IE6IE7FirefoxIE5中横...

web前端笔试题面试题汇总+前端优化总结

前端是庞大的包括HTMLCSSJavascriptImageFlash等等各种各样的资源前端优化是复杂的针对方方面面的资源都有不同的方式那么前端优化的目的是什么1从用户角度而言优化能够让页面加载得更快对用户的操...

前端面试笔试题总结

JavaScript类库jQueryPrototypeJavaScript框架BackBoneVuejsAngularjsReactjsCSS预编译器LessCssSassJavaScript模块加载器Requ...

前端面试题总结

1.!DOCTYPE标签的定义与用法。DOCTYPE声明是指HTML文档开头处的一行或两行代码,它描述使用哪个DTD(documenttypedefinition)。DOCTYPE通常——但不总是——包含指定的…

前端笔试面试题目总结

希望对一起奋战找工作的战友们有帮助列举3个以上http请求头响应头有哪些字段列举5个以上http的响应状态消息有哪些值列举4个以上说明解析ajax的意思同步和异步的区别异步请求有哪些状态如何创建一个异步请求异步...

前端工程师面试试题

20xx年最新前端开发面试题Thelasttimethatrefresh20xx113123757本文主要是由于我最近在找前端开发职位所以总结了一些常见前端面试多数来源于网络希望看的朋友阅后也要用心钻研其中的原...

20xx年最新前端开发面试题(题目列表+答案 完整版)

前言本文总结了一些优质的前端面试题多数源于网络初学者阅后也要用心钻研其中的原理重要知识需要系统学习透彻学习形成自己的知识链万不可投机取巧只求面试过关是错误的面试注意点1面试题目根据你的等级和职位变化入门级到专家...

前端面试题

1自我评价一下HTMLCSSJS的掌握情况2简述HTML经常使用的标签和作用Divapspanliuloltabletrtd3你认为最常遇到的兼容Bug有哪些有哪些问题是你认为解决起来最麻烦的IE6PNGIE6...

java面试题总结

第一谈谈finalfinallyfinalize的区别final用于声明属性方法和类分别表示属性不可变方法不可覆盖类不可继承finally是异常处理语句结构的一部分表示总是执行finalize是Object类的...

[面试题] 好玩的面试题,在学校老师总结的!人事面试题!

1请你自我介绍一下回答提示一般人回答这个问题过于平常只说姓名年龄爱好工作经验这些在简历上都有其实企业最希望知道的是求职者能否胜任工作包括最强的技能最深入研究的知识领域个性中最积极的部分做过的最成功的事主要的成就...

最新常见面试题及答案分析总结之四

最新常见面试题及答案分析总结之四1常见面试题每个人都有追求成功的欲望为了实现自己的欲望为了实现自己的目标你会怎样努力工作答案分析回答这个问题的关键在于你一定要显示出自己履行责任的意愿和能力面试人希望通过对这个问...

BW+BO面试题总结

SAP商用项目实战快速内荐高端就业第一品牌BWBO顾问面试一般分为两块HR人事和技术面项目经理或技术主管下面对HR和PM经常关注的问题分别加以总结在面试时不管是会的还是不会的都不要犹豫回答干脆些如果没有想好就说...

前端面试题总结(26篇)