HTML面试手册

345 阅读4分钟

这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战

HTML面试手册

html5新特性

  • 用于媒介回放的video元素和audio元素
  • 本地离线存储localStorage长期存储数据,浏览器关闭后数据不丢失
  • sessionStorage的数据在浏览器关闭后自动删除
  • 语义化更好的标签,如article、footer、header、nav、section等
  • 设备兼容特性 HTML5提供了前所未有的数据与应用接入开放接口
  • 新的技术web worker、websocket、Geolocation,增加拖放API、绘画canvas

行内元素、块级元素和空元素

  • 行内元素:span,img,input,select,a,strong
  • 块级元素:div,ul,li,h1-5,p,dl,dt,dd
  • 空元素:br,hr,link,meta

网站文件和资源进行优化

  • 文件合并(减少http请求)
  • 文件压缩(减少文件下载体积)
  • 使用缓存
  • 反向链接,网站外链优化
  • 使用CDN托管资源
  • gzip压缩需要的js和css文件
  • meta标签优化(title, description, keywords),heading标签的优化,alt优化

页面导入css,使用link和@import的区别

  • link是html标签,而@import是css的
  • @import存在兼容问题,只在IE5以上可用,而link无兼容问题
  • 页面被加载时,link会同时被加载,而@import引用的css会等到页面被加载完再加载
  • link的权重高于@import的权重

label的作用

label用于定义表单控制间的关系,当用户选择该标签时,浏览器会自动将焦点转到和标签相关的表单控件上。

 <label for="Name">Number:</label> 
 <input type=“text“ name="Name" id="Name"/>

标签的title属性和alt属性的区别

  • alt是为了在图片未能正常显示时给予文字说明。
  • title属性为设置该属性的元素提供建议性的信息。

语义化标签的好处

  • 去掉或者丢失样式的时候能让页面呈现出清晰的结构
  • 方便设备解析渲染网页
  • 有利于SEO,与搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重
  • 便于团队开发和维护,语义化更具可读性

浏览器内多个标签页通信

使用localStorage、cookies等本地存储方式。

iframe的优缺点

优点:

  • 可以跨域通信
  • 可以实现无刷新文件上传
  • 解决第三方内容的加载问题

缺点:

  • 不利于SEO
  • 页面会增加服务器请求
  • 会阻塞主页面的Onload事件

src和href区别

  • src用于替换当前元素;href用于在当前文档和引用资源间确立联系
  • src指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;而href指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接。

为何多个域名来存储网站资源会更有效

  • 节约cookie宽带;
  • CDN缓存更加方便;
  • 突破浏览器并发限制;
  • 节约主域名的连接数,优化页面下响应速度;
  • 防止不必要的安全问题;

HTML5本地存储

HTML5Web storage的存储方式有:sessionStoragelocalStorage

  • sessionStorage用于本地存储一个会话中的数据,当会话结束后就会销毁;
  • localStorage用于持久化的本地存储,除非用户主动删除数据,否则数据永远不会过期;
  • cookie是网站为了标示用户身份而储存在用户本地上的数据。

区别:

  • 从浏览器和服务器间的传递看cookie数据始终在同源的http请求中携带,即cookie在浏览器和服务器间来回传递;而sessionStoragelocalStorage仅在本地保存,不会自动把数据发给服务器。
  • 从大小看: 存储大小限制不同,cookie数据不能超过4k,只适合保存很小的数据;而sessionStoragelocalStorage 也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
  • 从数据有效期看sessionStorage在会话关闭会立刻关闭,因此持续性不久;cookie在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。而localStorage始终有效。
  • 从作用域看sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;而localStoragecookie都是可以在所有的同源窗口中共享的。

常见的浏览器内核

浏览器/RunTime内核(渲染引擎)JavaScript引擎
Chromewebkit->blinkV8
FireFoxGeckoSpiderMonkey
SafariWebkitJavaScriptCore
EdgeEdgeHTMLChakra(for JavaScript)
IETridentJScript(IE3.0-IE8.0)
OperaPersto->blinkLinear A(4.0-6.1)/ Linear B(7.0-9.2)/ Futhark(9.5-10.2)/ Carakan(10.5-)
Node.js-V8

如果本文对您有帮助,请帮忙点赞支持哇~