Java性能调优相关面试题解析,以及Web前端热门面试题盘点
Web前端面试常见问题有哪些
Web前端常见面试题及解析
一、HTML+CSS
1. 对网络标准以及W3C的理解与认识
标签正确闭合、标签小写、避免嵌套、提升搜索引擎收录、使用外部CSS和JS脚本、分离结构、表现和行为、加速文件下载与页面加载、提高网站可访问性、适应更多设备、代码简洁、易于维护、方便改版、提供打印版本、提升用户体验;
2.xhtml和html的异同
HTML是基础网页设计语言,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
}
}
Web前端岗位面试题有哪些
前端面试题汇总,基本上会有四大类问题,具体如下:
一、HTML
1、Doctype作用?严格模式与混杂模式如何区分?有何意义?
2、HTML5为什么只需要写<!DOCTYPE HTML>?
3、行内元素有哪些?块级元素有哪些?空(void)元素有那些?
4、页面导入样式时,使用link和import有什么区别?
5、介绍一下你对浏览器内核的理解?
6、常见的浏览器内核有哪些?
7、html5有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML和 HTML5?
8、简述一下你对HTML语义化的理解?
9、HTML5的离线储存怎么使用,工作原理能不能解释一下?
10、浏览器是怎么对HTML5的离线储存资源进行管理和加载的呢?
11、请描述一下 cookies,sessionStorage和 localStorage的区别?
12、iframe有那些缺点?
13、Label的作用是什么?是怎么用的?(加 for或包裹)
14、HTML5的form如何关闭自动完成功能?
15、如何实现浏览器内多个标签页之间的通信?(阿里)
16、webSocket如何兼容低浏览器?(阿里)
17、页面可见性(Page Visibility)API可以有哪些用途?
18、如何在页面上实现一个圆形的可点击区域?
19、实现不使用 border画出1px高的线,在不同浏览器的Quirksmode和CSSCompat模式下都能保持同一效果。
20、网页验证码是干嘛的,是为了解决什么安全问题?
21、tite与h1的区别、b与strong的区别、i与em的区别?
二、css
1、介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的?
2、CSS选择符有哪些?哪些属性可以继承?
3、CSS优先级算法如何计算?
4、CSS3新增伪类有那些?
5、如何居中div?如何居中一个浮动元素?如何让绝对定位的div居中?
6、display有哪些值?说明他们的作用。
7、position的值relative和absolute定位原点是?
7、position的值relative和absolute定位基准点是什么?
8、CSS3有哪些新功能?
9、请阐述一下CSS3的Flexbox(弹性盒布局模型)及其适用情况?
10、用纯CSS绘制一个三角形的原理是什么?
11、一个全屏品字布局该如何设计?
三、常见兼容性问题?
1、li与li之间出现不可见的空白间隔的原因是什么?有哪些解决方法?
2、常见浏览器的兼容性问题有哪些?原因,解决方法是什么,常用的hack技巧?
3、为什么需要对CSS样式进行初始化。
4、absolute的包含块计算方式与正常流有何不同?
5、CSS中的visibility属性中的collapse属性值是做什么用的?在不同浏览器下有何区别?
6、position与display、margin collapse、overflow、float等特性叠加后会怎样?
7、对BFC规范(块级格式化上下文:block formatting context)的理解?
8、CSS权重优先级是如何计算的?
9、请解释一下为什么会出现浮动以及何时需要清除浮动?清除浮动的方法
10、移动端布局是否使用过媒体查询?
11、使用过CSS预处理器吗?喜欢哪个?
12、CSS优化、提升性能的方法有哪些?
13、浏览器是如何解析CSS选择器的?
14、在网页中应该使用奇数还是偶数的字体?为什么?
15、margin和padding分别适用于什么场景?
16、如何分离样式模块,请阐述思路,有实践经验吗?[阿里航旅的面试题]
17、元素竖向的百分比设定是相对于容器的高度吗?
18、全屏滚动的原理是什么?用到了CSS的哪些属性?
19、什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?
20、视差滚动效果,如何为每页设置不同的动画?(回到顶部,向下滑动要再次出现,和只出现一次分别怎么做?)
21、::before和:after中双冒号和单冒号有何区别?解释一下这两个伪元素的作用。
22、如何修改chrome记住密码后自动填充表单的黄色背景?
23、你对line-height是如何理解的?
24、设置元素浮动后,该元素的display值是多少?(自动变为display:block)
25、如何让Chrome支持小于12px的文字?
26、如何让页面里的字体变得更清晰、更细?(使用CSS:-webkit-font-smoothing: antialiased;)
27、font-style属性可以让它赋值为“oblique” oblique是什么意思?
28、position:fixed;在android下无效怎么办?
29、如果需要手动编写动画,你认为最小时间间隔是多少,为什么?(阿里)
30、display:inline-block何时会显示间隙?(携程)
31、overflow: scroll时不能平滑滚动的问题如何处理?
32、有一个高度自适应的div,其中有两个div,一个高度100px,希望另一个填满剩余的高度。
33、png、jpg、gif这些图片格式分别是什么,分别适用于什么情况。是否了解过webp?
34、什么是Cookie隔离?(或者说:请求资源时如何避免携带cookie?)
35、style标签写在body后与body前有什么区别?
四、JavaScript
1、介绍JavaScript的基本数据类型。
2、谈谈编写JavaScript的基本规范。
3、JavaScript原型,原型链?有什么特点?
4、JavaScript有几种类型的值?(堆:原始数据类型和栈:引用数据类型),你能画一下它们的内存图吗?
5、JavaScript如何实现继承?
6、JavaScript创建对象的几种方法?
7、JavaScript作用域域?
8、谈谈对This对象的理解。
9、eval是做什么的?
10、什么是window对象?什么是document对象?
11、null,undefined的区别?
12、编写一个通用的事件监听器函数(机试题)。
13、[“1”,“2”,“3”].map(parseInt)的结果是多少?
14、关于事件,IE与火狐的事件机制有何区别?如何阻止冒泡?
15、什么是闭包(closure),为什么要用它?
16、javascript代码中的”use strict”;是什么意思?使用它的区别是什么?
17、如何判断一个对象是否属于某个类?
18、new操作符具体做了什么?
19、用原生JavaScript实现过什么功能吗?
20、JavaScript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是什么?
21、对JSON的了解?
22、[].forEach.call($$(""),function(a){ a.style.outline="1px solid#"+(~~(Math.random()(1<<24))).toString(16)})这段代码能解释一下吗?
23、js延迟加载的方式有哪些?
24、Ajax是什么?如何创建一个Ajax?
25、同步和异步的区别?
26、如何解决跨域问题?
27、页面编码和被请求的资源编码如果不一致如何处理?
28、模块化开发如何做?
29、AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)规范的区别?
30、requireJS的核心原理是什么?(如何动态加载?如何避免多次加载?如何缓存?)
31、如果你自己设计实现一个requireJS,你会怎么做?
32、谈谈你对ECMAScript6的了解?
33、ECMAScript6如何写class?为什么会出现class这种东西?
34、异步加载的方式有哪些?
35、documen.write和innerHTML的区别?
36、DOM操作——如何添加、移除、移动、复制、创建和查找节点?
37、.call()和.apply()的含义和区别?
38、数组和对象有哪些原生方法,列举一下?
39、JavaScript如何实现一个类。如何实例化这个类
40、JavaScript中的作用域与变量声明提升?
41、如何编写高性能的JavaScript?
42、哪些操作会造成内存泄漏?
42、哪些操作会引起内存溢出?
43、是否研究过JQuery的源代码?能否简要描述其运作机制?
44、jQuery.fn的init方法所返回的this指的是哪个对象?为何要返回this?
45、在jQuery中,如何将数组转换为JSON字符串,然后再将其转换回数组?
46、jQuery的属性扩展(extend)的内部机制是什么,如何实现深度复制?
47、jQuery.extend与jQuery.fn.extend有何不同?
48、jQuery的队列是如何构建的?队列能在哪些场合使用?
49、探讨jQuery中的bind(), live(), delegate(), on()方法的区别。
50、jQuery对象如何实现同时绑定多个事件?
51、了解自定义事件吗?jQuery中的fire函数是什么意思,何时使用?
52、jQuery是通过哪个方法与Sizzle选择器结合的?(jQuery.fn.find()进入Sizzle)
53、有哪些方法可以优化jQuery的性能?
54、jQuery与jQuery UI之间的区别是什么?
55、是否研究过JQuery的源代码?能否简要概述其实现原理?
56、在jQuery中,如何将数组转换为JSON字符串,然后再转换回数组?
57、jQuery与Zepto有哪些区别?它们各自适用的场景是什么?
58、有哪些优化jQuery的方法?
59、如何解决Zepto的点透问题?
60、如何在jQueryUI中自定义组件?
61、需求:如何实现一个页面操作无需整页刷新的网站,并能在浏览器前进、后退时正确响应?请提供技术实现方案。
62、如何判断当前脚本是在浏览器还是Node.js环境中运行?(阿里)
63、移动端最小的触控区域应该是多少?
64、在使用jQuery的slideUp动画时,如果目标元素由外部事件触发,当快速连续触发外部元素事件时,动画会重复执行,如何解决这个问题?
65、将Script标签放置在页面底部body标签封闭之前和之后有什么区别?浏览器将如何解析它们?
66、移动端的点击事件存在延迟,延迟时间是多久?为什么会有延迟?如何解决这个延迟?(click有300ms延迟,这是为了实现safari的双击事件设计,浏览器需要知道你是否要进行双击操作。)
67、了解各种JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)吗?能描述它们各自的优缺点吗?
68、Underscore扩展了哪些JS原生对象,并提供了哪些实用的函数方法?
69、解释JavaScript中的作用域和变量声明提升。
70、哪些操作会导致内存泄漏?
71、jQuery对象如何实现同时绑定多个事件?
72、Node.js适用于哪些场景?(如果熟悉Node)了解route, middleware, cluster, nodemon, pm2, server-side rendering吗?
73、解释一下Backbone的MVC实现方式。
74、什么是“前端路由”?何时适合使用“前端路由”?“前端路由”有哪些优缺点?
75、了解什么是webkit吗?知道如何使用浏览器的各种工具来调试和调试代码吗?
76、如何测试前端代码?了解BDD, TDD, Unit Test吗?知道如何测试前端工程吗(mocha, sinon, jasmin, qUnit…)?
77、前端模板(Mustache, underscore, handlebars)是做什么用的?如何使用?
78、简要说明Handlebars的基本用法。
79、简要说明Handlebars对模板的基本处理流程,如何编译?如何缓存?
80、如何使用JavaScript实现千位分隔符?(来源:前端农民工,提示:正则+replace)
检测浏览器版本有哪些方法?
共有 0 条评论