小猿圈分享2019年前端JavaScript面试题(三)
上篇文章小猿圈前端讲师为你分享了前端面试中js遇到的一些基础问题,接下来给大家讲解的就是前端基础和理论问题都有哪些,想学习web前端就来小猿圈自学吧,里面有全面的技术指导,还有专业的老师为你解答问题。
前端基础和理论问题
1.HTML中Doctype的用途是什么?具体谈谈,以下每种情况下会发生什么:
Doctype不存在。
使用了HTML4Doctype,但HTML页面使用了HTML5的标签,如<audio>或<video>。它会导致任何错误吗?
使用了无效的Doctype。
2.DOM和BOM的区别是什么?
提示:BOM,DOM,ECMAScript和JavaScript都是不同的东西。
3.什么时候应该使用CSSanimations而不是CSStransitions?你做出这个决定标准是什么?
4.使用单页应用将文件上传到服务器的有哪些方法?
提示:XMLHttpRequest2(streaming),fetch(non-streaming),FileAPI
5.CSS重排和重绘之间有什么区别?
哪些CSS属性会导致重排及重绘?
6.什么是CSS选择器权重以及它如何工作?
说说计算CSS选择器权重的算法。
7.CSS中的pixel与硬件/物理中的pixel有何不同?
提示:像素不是像素不是像素–ppk。
8.什么是sectioning算法?
提示:它也被称为HTML5大纲算法。特别是在构建具有语义结构的网站时非常重要。
9.如果你用过CSSFlex/CSSGrid(网格)布局,请说明你为什么要使用它?它为你解决了什么问题?
使用CSSGrid,百分比%和fr单位有何不同?
使用CSSflexbox,有时flex-items/children会不考虑flex容器设置的宽度/高度?为什么会这样?
可以使用CSSGrid创建Masonrylayout(瀑布流布局)吗?如果可以,怎么做?
解释CSSGrid和CSSflexbox术语?
浮动元素(float:left|right;)如何在CSSGrid和flexbox中渲染?
提示:等高的列,垂直居中,复杂网格等。
10.如果你正在ReviewCSS代码,那么你在代码中经常遇到的问题是什么?
示例:使用魔性数字,如width:67px;或使用em代替rem单位,在通用代码之前编写mediaqueries(媒体查询),滥用ID和类等。
11.如何在JavaScript中检测触摸事件?
1、你是否不看好检测设备对触摸事件的支持?如果是,为什么?
2、比较触摸事件和点击事件。
3、当设备同时支持触摸和鼠标事件时,你认为这些事件的正确事件顺序是什么或应该是什么?
上述就是小猿圈web前端讲师为大家讲解前端基础和理论问题,希望你能在自学前端中找到自己学习方法以及真正有用的学习网站,如果你没有可以到小猿圈这里,这里不仅有专业的学习视频还有老师指导你学习帮助你进步,希望你在不断进步中加快成长。