面试NO.1——HTML

一、浏览器加载过程
浏览器在接受到html代码后开始解析,解析过程是先构建DOM树,html代码自上而下进行构建,当遇到script文件加载或执行会阻塞后面DOM树的构建,而遇到css会阻塞渲染树的构建,不会阻塞DOM树,但不渲染到页面上
二、Doctype作用?严格模式与混杂模式如何区分?他们有何意义?
声明位于文档中的最前面,处于标签之前。告知浏览器的解析器,用什么文档规范来解析这个文档。
严格模式的排版和JS运作模式是以该浏览器支持的最高标准运行
在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作
DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现
(html5既然没有DTD,也就没有严格模式与混杂模式的区别,html5有相对宽松的语法,实现时,已经尽可能大的实现了向后兼容)
三、html5的离线存储怎么使用?工作原理能不能解释一下?
localStorage:长期存储数据,浏览器关闭后数据不丢失
sessionStorage:数据在浏览器关闭后自动删除
原理:在线的情况下,浏览器发现html头部有manifest属性,它会请求manifest文件,如果是第一次访问app,那么浏览器就会根据manifest文件的内容下载相应的资源并进行离线存储。如果已经访问过app并且资源已经离线存储了,那么浏览器就会使用离线的资源加载页面,然后浏览器会对比新的manifest文件与旧的manifest文件,如果文件没有发生改变就不做任何操作,如果文件改变了,那么就会重新下载文件中的资源并进行离线存储。离线的情况下,浏览器就直接使用离线存储的资源。
四、请描述一下cookies、session、sessionStorage、localStorage区别
cookie在浏览器和服务器间来回传递,相对安全性较差,存储信息量较小,只能存储4kb左右,可以设置过期时间,如果不设置过期时间,浏览器关闭时自动失效
sessionStorage和localStorage的存储空间更大,有更多丰富易用的接口,各自独立的存储空间
session是存储在服务器上的,session比较安全但是比较占用服务器资源,影响服务器性能,浏览器关闭时,session自动失效
localStorage是h5的一个新特性,存储信息量较大,大小为5mb,不可以设置过期时间,必须手动清除,否则将会一直保存在浏览器中。
五、网页验证码是干嘛的?是为了解决什么安全问题
主要是用于验证对网站发出的操作时人在进行而不是脚本程序发出的。
安全问题:防止攻击者大量恶意发出大量的注册或登录请求,导致服务器不断接受请求,数据库不断读取写入,会对整个网站的性能造成很大的影响。严重的情况下会导致网站瘫痪都有可能。
六、前端页面有哪些三层构成,分别是什么?作用是什么?
网页的结构层(structural layer)
由 HTML 或 XHTML 之类的标记语言负责创建。标签,也就是那些出现在尖括号里的单词,对网页内容的语义含义做出了描述,但这些标签不包含任何关于如何显示有关内容的信息。例如,P 标签表达了这样一种语义:“这是一个文本段。”
网页的表示层(presentation layer)
由 CSS 负责创建。 CSS 对“如何显示有关内容”的问题做出了回答。
网页的行为层(behavior layer)
负责回答“内容应该如何对事件做出反应”这一问题。这是 [JavaScript
语言和 DOM 主宰的领域。
网页的表示层和行为层总是存在的,即使我们未明确地给出任何具体的指令也是如此。此时, Web 浏览器将把它的默认样式和默认事件处理函数施加在网页的结构层上。例如,浏览器会在呈现“文本段”元素时留出页边距,有些浏览器会在用户把鼠标指针悬停在 某个元素的上方时弹出一个显示着该元素的 title 属性值的提示框,等等。

你可能感兴趣的:(面试NO.1——HTML)