面试题-html及基础知识

651 阅读3分钟

1. 当在浏览器输入一个url的时候,怎么把页面加载出来?(没问到)

  • DNS解析域名相对应的IP地址并返回浏览器
  • 三次握手
  • 发送http请求
  • 服务器响应
  • 浏览器解析渲染页面
  • 四次挥手

2. H5新特性(适当背一些)

  • 语义化标签header, section, footer, aside, nav, main, article, figure
  • Canvas图形容器
  • Video和audio (播放视频和音频)
  • 数据存储--
    • Localstorage 生命周期是永久,除非主动清除localStorage信息,否则这些信息将永远存在。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。
    • SessionStorage 仅在当前会话下有效,关闭页面或浏览器后被清除。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。
  • Web缓存
    • 使页面可以离线浏览
    • 缓存资源加快了加载速度
    • 减轻了服务器压力
  • 新的表单控件与属性
    • 控件 calendar、date、time、email、url、search
    • 属性autocomplete、autofocus、form、list、placeholder

3. 你见过的浏览器内核有哪些?(太难不背,问到放弃)

  • IE Trident IE、猎豹安全、360极速浏览器、百度浏览器
  • firefox Gecko 可惜这几年已经没落了,打开速度慢、升级频繁、猪一样的队友flash、神一样的对手chrome。
  • Safari webkit 从Safari推出之时起,它的渲染引擎就是Webkit,一提到 webkit,首先想到的便是 chrome,可以说,chrome 将 Webkit内核 深入人心,殊不知,Webkit 的鼻祖其实是 Safari。
  • chrome Chromium/Blink 在 Chromium 项目中研发 Blink 渲染引擎(即浏览器核心),内置于 Chrome 浏览器之中。Blink 其实是 WebKit 的分支。大部分国产浏览器最新版都采用Blink内核。二次开发
  • Opera blink 现在跟随chrome用blink内核。

 

4. 图片的懒加载(也没问到)

  • offsetTop方法,在滚动到可视区时将img切换带有真正url的src的类
  • intersectionRatio方法
  • getBoundingClientRect方法

5. 数组与伪数组区别(简单,记一下)

伪数组和数组的区别就在于-proto-属性,没有数组的方法

6. 深拷贝和浅拷贝原理,分别如何去实现?(问到过,记一下)

  • 浅拷贝---浅拷贝是指复制对象的时候,只对第一层键值对进行独立的复制,如果对象内还有对象,则只能复制嵌套对象的地址
  • 深拷贝---深拷贝是指复制对象的时候完全的拷贝一份对象,即使嵌套了对象,两者也相互分离,修改一个对象的属性,也不会影响另一个。其实只要递归下去,把那些属性的值仍然是对象的再次进入对象内部一 一进行复制即可;
  • 浅拷贝,创建一个对象,把需要拷贝的对象遍历赋值;
  • 深拷贝,递归调用浅拷贝。