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,一个是捕获,另一个是冒泡。告诉我事件会执行多少次,然后先执行冒泡还是捕捉。