Web前端工作的面试问题有哪些?
首先,HTML
1,Doctype函数?如何区分严格模式和混杂模式?它们是什么意思?
2.为什么HTML5只需要写
3.线中的元素是什么?什么是块级元素?什么是无效元素?
4.导入样式时使用link和@import有什么区别?
5.说说你对浏览器内核的理解?
6.常见的浏览器内核有哪些?
7.html5移除了哪些新特性和元素?如何处理新HTML5标签的浏览器兼容性?如何区分HTML和HTML5?
8.简述一下你对HTML语义的理解?
9.如何使用HTML5的离线存储?能解释一下工作原理吗?
10.浏览器如何管理和加载HTML5的离线存储资源?
11,请描述一下cookies、sessionStorage和localStorage的区别?
12和iframe有什么缺点?
13,标签的作用是什么?如何使用?(添加或打包)
14,如何关闭HTML5形式的自动补全功能?
15.如何实现浏览器中多个标签页之间的通信?(阿里)
16,webSocket如何兼容低浏览器?(阿里)
17,页面可见性)API可以有哪些用途?
18.如何在页面上实现一个圆形可点击区域?
19.高度为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.展示的价值是什么?解释他们的角色。
7.位置的相对和绝对定位原点是什么?
8.CSS3有哪些新特性?
9.请解释一下CSS3的Flexbox(柔性盒子布局模型)以及适用场景?
10,用纯CSS创建三角形的原理是什么?
11.如何设计一个全屏的产品布局?
三、常见的兼容性问题?
1,李和李之间无形的空白是什么原因?有什么解决办法?
2.常见浏览器的兼容性有哪些?为什么,解决方法是什么,黑客常用技巧?
3.为什么要初始化CSS样式?
4.absolute的包含块计算方法和正常流量有什么区别?
5.CSS中的visibility属性中有一个collapse属性值的目的是什么?不同浏览器有什么区别?
6.位置叠加显示,边距塌陷,溢出,浮动会发生什么?
7.对BFC(块格式上下文)的理解?
8.CSS权重的优先级是如何计算的?
9.请解释为什么会有浮动,什么时候需要清除。清理漂浮的道路。
10.移动端的布局有没有被媒体质疑过?
11.你使用CSS预处理程序吗?像那样吗?
12,有哪些优化CSS提高性能的方法?
13.浏览器如何解析CSS选择器?
14.网页中应该使用奇数还是偶数字体?为什么?
15,边距和填充适合什么场景?
16,如何写风格模块,说出思路,有什么实践经验吗?【阿里旅行面试问题】
17.元素的垂直百分比是相对于容器高度设置的吗?
18,全屏滚动是什么原理?使用了CSS的哪些属性?
什么是响应式设计?响应式设计的基本原理是什么?如何兼容IE的较低版本?
20、视差滚动效果,如何为每个页面制作不同的动画?(回到顶部,滑下去再次出现,只出现一次怎么办?)
21中的双冒号和单冒号有什么区别,:before和:after?解释这两个虚拟元素的作用。
22.如何修改chrome在记住密码后自动填充表单的黄色背景?
23.你怎么理解行高?
24.一个元素设置为float后的显示值是多少?(自动更改为显示:块)
25.如何让Chrome支持文本小于12px?
26.使页面上的字体清晰而细。如何使用CSS?(-webkit-font-smoothing:抗锯齿;)
27.字体样式属性可以被指定为“目标”。这是什么意思?
28、位置:固定;安卓下无效怎么办?
29.如果需要手动编写动画,你认为最小时间间隔是多少,为什么?(阿里)
30.何时会显示:inline-block显示差距?(携程)
31,溢出:如何处理滚动不流畅的问题?
32.有一个高度自适应的div,有两个div,一个高度为100px,希望另一个填充剩下的高度。
33.说明png、jpg、gif的图像格式,以及分别在什么时候使用。你了解过webp吗?
34.什么是Cookie隔离?(或者:在请求资源时,如何在没有cookie的情况下完成)
35.写在正文之后和正文之前的样式标签有什么区别?
第四,JavaScript
1.介绍JavaScript的基本数据类型。
2.写JavaScript的基本规范是什么?
3.JavaScript原型,原型链?有什么特点?
4.JavaScript有多少种类型的值?(堆:原始数据类型和栈:引用数据类型),能不能画出它们的内存图?
5.Javascript是如何实现继承的?
6.Javascript如何创建对象?
7.Javascript作用域?
8.谈谈对这个对象的理解。
9.eval是做什么的?
10,什么是窗口对象?什么是文档对象?
11,null和未定义有什么区别?
12,写一个通用的事件监听器函数(机测)。
13, ["1", "2", "3"].map (parseint)的答案是什么?
14.IE和火狐有什么区别?如何停止冒泡?
15.什么是闭包,我为什么要使用它?
16,javascript代码中的“使用严格”;你什么意思?用起来有什么区别?
17.如何判断一个对象是否属于某个类?
18和新运营商到底做了什么?
19.有没有用原生JavaScript实现过什么功能?
20.在Javascript中,有一个函数在执行对象搜索时永远不会寻找原型。这个功能是什么?
21,对JSON的理解?
22 、[]foreach . call($ $(" * "),function(a){ a . style . outline = " 1px solid # "+(~ ~(math . random()*(1 & lt;& lt24))).toString(16)})能解释一下这个代码的意思吗?
23.延迟加载js的方法有哪些?
24.什么是Ajax?如何创建一个Ajax?
25、同步和异步的区别?
26.跨域问题怎么解决?
27.页面代码和请求的资源代码不一致怎么办?
28.如何做模块化开发?
29、AMD(模块/异步定义)、CMD(通用模块
定义)规格差异?
30.requireJS的核心原则是什么?(是如何动态加载的?如何避免多次加载?是如何缓存的?)
31,让你设计实现一个requireJS,你会怎么做?
32.你对ECMAScript6了解多少?
33.ECMAScript6怎么写类?为什么会有阶级这种东西?
34.异步加载的方式有哪些?
35.documen.write和innerHTML有什么区别?
36.DOM操作——如何添加、删除、移动、复制、创建和查找节点?
37.之间有什么含义和区别。调用()和。apply()?
38.数组和对象的原生方法有哪些?
39.JS是如何实现一个类的?如何实例化这个类
40.JavaScript中的作用域和变量声明改进了?
41.如何编写高性能的Javascript?
42.哪些操作会导致内存泄漏?
43.你见过JQuery的源代码吗?能否简单概述一下它的实现原理?
44.jQuery.fn的init方法返回的这个是指什么对象?你为什么回到这里?
45.如何在jquery中将数组转换成json字符串,然后再转换回来?
46.jQuery的属性复制(扩展)的实现原理是什么,如何实现深度复制?
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.如何判断当前脚本是运行在浏览器环境还是节点环境?(阿里)
63.移动终端的最小触摸面积是多少?
64.jQuery的slideUp动画,如果目标元素是由外部事件驱动的,当鼠标快速连续触发外部元素事件时,动画会有一个滞后重复执行。我该怎么办?
65.把脚本标签放在页面底部,在主体关闭前后有什么区别?浏览器将如何解析它们?
66.移动终端上的点击事件存在延迟。时间有多长,为什么?这种延迟怎么解决?(click有300 ms的延迟,为了实现safari双击事件的设计,浏览器要知道你是否要双击操作。)
67.你知道各种JS框架(有角、骨干、余烬、React、流星、Knockout……)吗?你能说出它们各自的优缺点吗?
68.下划线扩展了哪些JS原生对象,提供了哪些有用的函数和方法?
69.解释JavaScript中的作用域和变量声明提升?
70.哪些操作会导致内存泄漏?
71,JQuery一个对象可以同时绑定多个事件。这是如何实现的?
72.Node.js的适用场景是什么?
你知道路由,中间件,集群,nodemon,PM2,服务器端渲染吗?
73.解释一下Backbone的MVC实现?
74.什么是“前端路由”?什么时候使用“前端路由”比较合适?「前端路由」的优缺点是什么?
75.你知道什么是webkit吗?你知道如何用浏览器的各种工具调试和调试代码吗?
76.前端代码怎么测试?你知道BDD,TDD和单元测试吗?你知道如何测试你的前端项目(mocha,sinon,jasmin,qUnit...)?
77.什么是前端模板(小胡子、下划线、手柄条)以及如何使用它?
78.简述车把的基本用法?
79.简述Handlerbars的模板的基本处理流程,如何编译?是如何缓存的?
80.用js实现千位分隔符?(来源:前端农民工,提示:定期+更换)
检测浏览器版本的方法有哪些?
81.我们同时将两个点击事件绑定到一个dom,一个是捕获,另一个是冒泡。告诉我事件会执行多少次,然后先执行冒泡还是捕捉。