考卷

前端

JavaScript & html

  1. function 创建(2),作用(3),子类型(3)
  2. object 创建(3),属性(3),创建属性,属性的描述 2*4
  3. Array of from isArray length prototype
  4. Array.prototype 修改添加 5 ,查找 5,遍历 4,排序 2,合并,其他
  5. Object 创建 2,获得对象的属性 5,修改对象的属性 2,其他 3
  6. Object.prototype constructor, hasOwnProperty, isPrototypeOf,propertyIsEnumerable,toString,valueOf
  7. String length, name, ptototype, fromCharCode, fromCodePoint, raw
  8. String.prototype 查找 11 ,拼接,截取 3,替换,转换 5,分割,填充,重复
  9. RegExp 属性 source,flags,global,ignoreCase,multiline,lastIndex
  10. RegExp 方法 exec,test,toString
  11. Promise 状态 4方法 3
  12. 方法统计
    • 正则相关 8
    • 回参新数组 4
    • 修改原数组 8
  13. 闭包
  14. 原型链
    1. 原型对象
    2. 对象的原型访问
    3. 继承
    4. constructor
    5. prototype
    6. Prototype __proto__
    7. 四个等式
  15. **运算符
    • instanceof object instanceof constructor
    • typeof(9)typeof obj 回参 string
    • ++前置后置
    • delete object['property'] 回参布尔
    • ?? ??=
  16. 运算顺序 括号,一元,算数,关系,相等,逻辑,赋值,逗号
  17. js 选择器 5
  18. 事件循环 (Event Loop)
    • 事件循环
    • 调用顺序 5
  19. es6 (5)
  20. this (6)
  21. 正则正则表达式
    • 表达式 3
    • 元字符
    • 量词 6
  22. HTML5 9
  23. Cookie 属性 6
  24. 严格模式 5

CSS

  1. CSS 选择器 CSS 选择器
    1. 基本选择器 #.tag
    2. 组合选择器 后代 ,子代 >,相邻兄弟 +,通用兄弟 ~
    3. 伪类选择器 链接,结构 :nth-child(n),动态 :focus
    4. 伪元素选择器 ::before
  2. CSS 选择器权重!important 10000,内联 1000,id100,类属性伪类 10,元素伪元素 1,通用,子,兄弟,后代 0
  3. CSS 动画 CSS 动画
    1. 渲染过程 样式计算、布局、绘制和合成
    2. GPU 加速 transform,opacity
    3. 重排
      1. DOM 结构变化
      2. 元素尺寸变化
      3. 内容变化
      4. 样式计算
      5. 其他滚动条,元素聚焦
    4. 重绘 是指在元素的几何属性没有变化,但是元素的外观(如颜色、阴影、边框颜色等)发生变化时,浏览器需要重新绘制元素的过程 CSS滤镜效果
  4. CSS 居中居中
    1. 居中 水平 3,垂直 2
    2. 水平垂直 flex,grid,绝对定位+transform,table-cell
  5. CSS3 CSS3 新内容
    1. 布局相关 2
    2. 动画与效果 3
    3. 视觉效果 3
    4. 字体与文本 2
    5. 其他特性 3
  6. flex
    1. 容器 flex container
      • flex-direction:定义主轴的方向(是水平还是垂直)。
      • flex-wrap:定义项目是否应该在必要时换行。
      • flex-flowflex-directionflex-wrap的简写形式。
      • justify-content:定义项目在主轴上的对齐方式。
      • align-items:定义项目在交叉轴上的对齐方式。
      • align-content:定义多行项目在交叉轴上的对齐方式。
    2. 项目 flex items
      • order:定义项目的排序顺序。数值越小,越靠前。
      • flex-grow:定义项目的放大比例。如果容器有多余的空间,项目可以放大。
      • flex-shrink:定义项目的缩小比例。如果容器空间不足,项目可以缩小。
      • flex-basis:定义项目在主轴上的初始大小。
      • align-self:允许单个项目有与其他项目不同的对齐方式。
      • flexflex-growflex-shrinkflex-basis的简写形式,默认值为0 1 auto

网络

  1. TCP/IP 协议
    1. 链路层 以太网、Wi-Fi、PPP
    2. 网络层 IP
    3. 传输层 TCP、UDP
    4. 应用层 HTTP、FTP、DNS、SSH
  2. OSI(开放系统互连)七层模型:物理层,数据链路层,网络层,传输层,回话层,表示层,应用层
  3. http HyperText Transfer Protocol,超文本传输协议
    • http 请求 请求头,请求体;
    • http响应 状态行,相应头,响应体
    • 特点 无状态,无连接,媒体独立,简单快速
    • http2/3 二进制分帧、多路复用、服务器推送、头部压缩,性能和可靠性
    • https Secure
  4. WebSocket 在单个 TCP 连接上进行全双工通信的方式
    • 特点
      • 长连接 持久连接
      • 全双工通信 服务器和客户端之间同时进行数据的发送和接收
      • 基于 HTTP 的握手->WebSocket 握手-> WebSocket 连接
      • 支持二进制数据传输Blob 或 ArrayBuffer
    • WebSocket API
      • 属性
        • readyState 0,1,2,3
        • bufferedAmount表示已发送但尚未被浏览器传输的数据量(以字节为单位)
        • extensions表示服务器选择的 WebSocket 扩展
        • protocol
        • url
      • 方法
        • constructor(url, [protocols])
        • send(data) 向服务器发送数据
        • close([code], [reason])
      • 事件 socket.addEventListener('open',(e)=>{}) 等价 ws.onopen
        • open:当 WebSocket 连接成功建立时触发。
        • error:当 WebSocket 连接发生错误时触发。
        • message:当从服务器接收到数据时触发。
        • close:当 WebSocket 连接关闭时触发。
    • 工作流握手, 数据传输,关闭
    • 心跳用于维持客户端与服务器之间长连接的一种保活机制
      • 客户端建立连接
      • 客户端定时发送心跳数据包
      • 服务器在设定时间内没有收到心跳,会发送关闭连接请求
      • 服务器定时发送心跳数据包,客户端接收并返回响应
      • 客户端在设定时间内没有收到心跳,会重新连接

Vue

  1. Vue 基本知识
    • 基础
      • 初始化
      • 常用模板语法
      • 生命周期函数
      • 数据和方法 data() & methods
      • 计算属性和侦听器 computed & watcher
    • 组件
      • 组件 component
        • 全局,局部
        • 命名方式
      • 组件传值
      • 插槽 slot 和具名插槽
      • 动态组件和异步组件
    • 动画
    • 高级语法
      • 混入mixin
      • 自定义指令directive
      • 传送门teleport Vue3
      • render
      • plugin
    • composition api
      • setup
      • ref 和 reactive
      • toRef 和 toRefs
      • context 参数 3
      • 计算属性computed
      • watch和watchEffect
      • provide, inject
      • 模版 ref
  2. Vue 特点 数据绑定,虚拟 DOM,事件,计算属性和侦听器,指令系统,keep-alive,$属性 6$ 方法 8
  3. Vue 组件通信
    • props 和 $emit
    • none-props 和 $attrs
    • 插槽 slot
    • Vuex/Pinia
    • provide/inject
  4. Vue 生命周期函数
    1. Vue2
      • 创建 beforeCreate,created
      • 挂载beforeMount,mounted
      • 更新 beforeUpdate,updated
      • 销毁 beforeDestroy,destroyed
      • keep-alive activated,deactivated
    2. Vue3
      • setup 在 created,移除创建 2 个
      • 挂载beforeMount,mounted
      • 更新 beforeUpdate,updated
      • 销毁 beforeUnmount,unmounted
      • keep-alive activated,deactivated
      • 渲染onRenderTracked,onRenderTriggered
  5. Vuex
    • state 存储应用的状态
    • mutations 用于同步修改状态的方法
    • actions 用于异步操作,最终通过调用 mutations 修改状态
    • getters 类似于 Vue 的计算属性,用于派生状态
    • 顺序
      1. dispatch 方法,派发一个 action,名字叫做change
      2. 感知到 change 这个action,执行store 中 actions 下面的 change 方法
      3. commit 提交一个叫做 change 的数据改变
      4. mutation 感知到提交的change改变,执行 change 方法改变数据
  6. pinia State(状态):存储需要共享的数据。Getters(计算属性):基于状态的派生值。Actions(操作方法):用于修改状态的函数
  7. Vue 插件 Vue-devtools,router,Vuelidate,Axios,状态管理,lazyload

其他

  1. 兼容性
    • CSS 解析差异
    • JavaScript API
    • 响应式布局
    • 图片兼容性
    • 字体兼容性性
  2. 安全 https,数据加密,安全储存,权限控制,输入验证
  3. 跨域 CORS 域名、协议或端口不同
    1. CORS 头部
    2. jsonp 淘汰
    3. 文档域
    4. PostMessage
    5. WebSocket
    6. 代理服务器
  4. 登录鉴权
    1. cookie 自动携带,服务器存储;安全风险,太小,
    2. token(JWT JSON Web Token)无状态,安全,支持跨域;需要手动携带,有存储风险
    3. Session 安全,服务控制;服务器负担,跨域限制
    4. OAuth2.0 标准化,安全;复杂
  5. cookie 设置 HttpOnly 和 Secure 标志,防止跨站脚本攻击和非安全传输
  6. electron
    1. 主进程
    2. 渲染进程
    3. preload
    4. 通信 ipcMainipcRenderer
    5. 常用模块
      1. dialog
      2. menuMenuItem 模块
      3. shell 模块用于在系统中打开外部链接、文件管理器等
      4. clipboard 模块用于读写系统剪贴板的内容
      5. powerMonitor 模块用于监听系统电源状态,如系统唤醒、待机
      6. systemPreferences 模块用于访问系统偏好设置,如颜色模式
      7. globalShortcut 模块用于注册全局快捷键,即使应用不活跃时也能捕获键盘输入
      8. fs
      9. chokidar 监听文件变化
    6. 缓存