美文网首页
面试基础

面试基础

作者: 小螃蟹_5f4c | 来源:发表于2019-12-12 11:55 被阅读0次

    什么是DOCTYPE以及作用
    DTD告诉浏览器我是什么文档类型 浏览器根据这个用哪个引擎来渲染
    DOCTYPE声明文档类型和DTD规范的,告诉浏览器当前文档类型包含那个DTD

    HTML5
    <!DOCTYPE html>
    HTML4有两个类型 有严格模式(不包括展示型和弃用的元素,如font)和传统模式(不包括展示型和弃用的元素)
    浏览器渲染过程


    渲染过程

    layout没和render树合成之前 不知道应该画在什么地方(render树和layout树是并行的)
    重排
    重绘
    布局

    提高页面性能的方法有哪些?
    1、资源压缩合并,减少HTTP请求
    2、非核心代码异步加载->异步加载的方式->异步加载的区别
    异步加载的方式: 动态脚本加载 defer async
    异步加载的区别:defer是在html执行完之后才会执行, 如果是多个、按照加载的顺序依次执行;async是在加载完之后立即执行,如果是多个,执行顺序和加载顺序无关
    3、浏览器缓存->缓存的分类->缓存的原理
    缓存的分类:
    强缓存:
    Expires: ....(绝对时间)
    Cache-Control:max-age=3600 (3600s 都有的话 以这个为准)
    协商缓存:
    https://www.jianshu.com/p/9c95db596df5
    4、使用CDN
    5、预解析DNS
    <meta http-equiv="x-dns-prefetch-control" content="on">
    <link rel="dns-prefetch" href="//host_name_to_prefetch.com">

    image.png

    错误监控类:
    错误分类:
    运行错误:try...catch捕获 、window.onerror
    资源加载错误: object.onerror、 performance.getEntries()(获取加载的资源,所以可间接获取)、error事件捕获(在监听错误事件的第三个参数用true)
    跨域的JS运行错误可以捕获吗?错误提示是什么?应该怎么处理?
    可以捕获,但是没有详细信息,
    处理方法:在script标签中增加crossorigin属性(客户端)、设置JS资源响应头Access-Control-Allow-Origin:*(服务端)
    promise里面then()的第二个错误处理函数和catch有什么区别?
    https://segmentfault.com/q/1010000014867708
    上报错误的基本原理
    1、采用Ajax通信上报
    2、采用image对象上报(重要)
    前端错误处理

    相关文章

      网友评论

          本文标题:面试基础

          本文链接:https://www.haomeiwen.com/subject/rrfagctx.html