• 关于面试


    框架类:

    vue 原理

    webpack 

      plugin

    webpack整体是一个插件架构,所有的功能都以插件的方式集成在构建流程中,通过发布订阅事件来触发各个插件执行。webpack核心使用Tapable 来实现插件(plugins)的binding(绑定)和applying(应用)。

    Compiler 模块是 webpack 的支柱引擎,它通过 CLI 或 Node API 传递的所有选项,创建出一个 compilation 实例。它扩展(extend)自 Tapable 类,以便注册和调用插件。大多数面向用户的插件首先会在 Compiler 上注册。

       配置项: entry、output、module( loader )、plugins、devServer、resolve、devtool、optimization

    css:

    盒模型、js 获取对应宽高

    // 通过DOM节点的 style 样式获取
    // 只能获取行内样式,不能获取内嵌的样式和外链的样式
    element.style.width/height;
    
    // 
    window.getComputedStyle(element).width/height;
    
    // 
    element.getBoundingClientRect().width/height;

    包裹性

    BFC

    垂直水平居中

    安卓、ios 行高问题

    布局 - 圣杯布局

    es6:

    promise

    class super

    js:

    原始类型 => 装箱拆箱 => 对象构造 => new 操作符 => 箭头函数、普通函数区别 => 闭包

    js线程 => 事件循环 => 异步执行顺序

    浏览器绘制页面 => 重绘重排

    闭包 => 垃圾回收

    面向对象

    深拷贝

    require 、import 区别

    • require是‘运行时加载‘,只有在代码真正运行的时候才会去加载对应需要的东西,所以不能做到编译时就把想加载的模块加载进来,即不能做到编译时静态化
    • import是编译时调用,所以必须放在文件开头

     JS编译解析的流程

    1. 语法分析,生成抽象语法树(AST)和执行上下文:

        生成 AST 需要经过两个阶段:
            第一阶段是分词(tokenize),又称为词法分析
            第二阶段是解析(parse),又称为语法分析

    2. 预编译,解释器 lgnition 生成字节码

    3. 解释执行,第一次执行,解释器 lgnition 通常会一行行执行代码,解释过程中,若发现一段代码被重复执行多次,即为热点代码,则 编译器 TurboFan 会把该段热点的字节码编译为机器码,再次执行这段被优化的代码时,只需要执行编译后的机器码就可以了,这样就大大提升了代码的执行效率。这就是 即时编译(JIT)

    设计模式

    Class => prototype

    node.js:

    koa、中间件

    http:

    安全:xss、跨域

  • 相关阅读:
    技术列表
    常用软件开发工具
    EXCEL数据导入SQL2008相关操作
    点点滴滴
    揪出ASP.NET 2.0四大“插件”的总后台 ASPNETDB
    古人说
    好点子都是偷来的:史上最感性的60堂创新课读书摘要
    我是怎么割韭菜的:一个骗子的悔过与自白读书摘要
    人生如我读书摘要
    德米安:彷徨少年时读书摘要
  • 原文地址:https://www.cnblogs.com/_error/p/12696849.html
Copyright © 2020-2023  润新知