Web前端面试常遇的问题有哪些
Web前端常见面试题及解答
一、HTML+CSS
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
CSS盒模型:内容,边框,外边距,内边距
5.CSS引入方式有哪些?link和import的区别是?
内联、内嵌、外链、导入
区别:同时加载
前者无兼容性,后者CSS2.1以下浏览器不支持
Link支持使用javascript改变样式,后者不可。
6.CSS选择器有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?
标签选择符、类选择符、id选择符
继承不如指定 Id>class>标签选择
后者优先级高
7.前端页面有哪些层次构成,分别是什么?作用是什么?
结构层 Html表示层 CSS行为层 js
8.css的基本语句构成是?
选择器{属性1:值1;属性2:值2;……}
9.你做的页面在哪些浏览器测试过?这些浏览器的内核分别是什么?
Ie(Ie内核)火狐(Gecko)谷歌(webkit) opear(Presto)
二、Javascript
1.javascript的typeof返回哪些数据类型
Object number function boolean underfind
2.列举3种强制类型转换和2种隐式类型转换?
强制(parseInt,parseFloat,number)
隐式(==–===)
3.split() join()的区别
前者是切割成数组的形式,后者是将数组转换成字符串
4.数组方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部删除
Unshift()头部添加 shift()头部删除
5.事件绑定和普通事件有什么区别
6.IE和DOM事件流的区别
1.执行顺序不一样、
2.参数不一样
3.事件加不加on
4.this指向问题
7.IE和标准下有哪些兼容性的写法
Var ev= ev|| window.event
document.documentElement.clientWidth|| document.body.clientWidth
Var target= ev.srcElement||ev.target
8.ajax请求的时候get和post方式的区别
一个在url后面一个放在虚拟载体里面
有大小限制
安全问题
应用不同一个是论坛等只需要请求的,一个是类似修改密码的
9.call和apply的区别
Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)
10.ajax请求时,如何解释json数据
使用eval parse鉴于安全性考虑使用parse更靠谱
11.b继承a的方法
12.写一个获取非行间样式的函数
function getStyle(obj,attr,value)
{
if(!value)
{
if(obj.currentStyle)
{
return obj.currentStyle(attr)
}
else
{
obj.getComputedStyle(attr,false)
}
}
else
{
obj.style[attr]=value
}
}
你使用过哪些前端性能优化的方法
这是面试常问的问题。
我来简单谈谈几个方面:
1.减少http请求:在YUI35规则中也有提到,主要是优化js、css和图片资源三个方面,因为html是无法避免的。因此,我们可以做以下几项操作:
合并js文件
合并css文件
使用雪碧图(css sprite)
使用base64表示简单的图片
2.减少资源体积
压缩css
压缩js
压缩图片
3.图片加载处理:
图片预加载
图片懒加载
首屏加载时进度条的显示
就简单说这些,特别详细的可以网上查阅。