• 面试中遇到的一些问题


    关于vue的

    1. Vue,vue-router,vuex的实现原理
    2. Vue的生命周期
    3. Vue有哪些优势
    4. Vue组件间是如何通讯的
    5. 父组件和子组件created和mounted的顺序
    6. 由于 JavaScript 的限制,Vue 不能检测以下数组的变动,到底是不能实现还是vue不想实现
    7. vuex中mutation和action的作用
    8. 什么是双向绑定,实现一个简单双向绑定的思路
      双向绑定就是视图变了数据会变化,数据变了试图也会变化。实现思路是把数据做成一个代理,监听数据变化了就更新dom;在dom上设置监听事件,监听到变化了就更新数据。

    关于js的

    1. 对Js模块化的理解
    2. js两种函数定义方法有什么区别
    3. js闭包,闭包的作用和缺点
    4. 原生js获取dom和属性
    5. isNaN和Number.isNaN
    6. .sort() 方法用的是什么算法
      不同浏览器使用的算法也不同,如谷歌在长度比较少时采用插入排序,长度较多时采用快速排序。火狐中采取的是归并排序。
    7. 一句代码实现数组去重   [...new Set(array)]
    8. 如何判断一个变量是否为数组
    9. 对事件循环了解
    10. call,apply,bind的用法和区别
      三个方法第一个参数都是指定函数中的this指向;call,apply是立即执行,bind还要调用一次;函数调用时候的参数,call和bind可以直接传入,apply要以数组的形式传入
    11. callback,promise,generator,async之间的联系
      callback是最初的异步调用方式;
      promise是一个对象,是为了解决回调地狱的一种新的语法;
      generator函数是协程在js中的实现,返回迭代器对象,当迭代器对象处理的是promise时,可以用同步的语法,完成异步的任务;
      async函数是generator的优化,内置执行器、更好的语义化、更广的适用性,返回的是promise对象;
    12. 观察者模式和发布订阅者模式
      观察值模式是目标和观察者直接沟通,发布订阅者模式是发布者和订阅者通过一个中心进行沟通
    13. 函数节流和函数防抖
      函数防抖:当一个动作连续触发,则只执行最后一次,例如电梯,搜索框搜索输入。函数节流:限制一个函数在一定时间内只能执行一次,例如滚动加载。
    14. 浅拷贝,深拷贝及循环调用
    15. 栈内存和堆内存的区别
      栈内存:主要存储的是值类型(基本类型):String、Number、Boolean、Null、Undefined、Symbol,特点是数据大小与生存期是确定的,存取速度比较快;
      堆内存:主要存储的是引用类型:Object、Array、Function,特点是动态分配内存大小,生存期是由垃圾回收机制决定的,存取速度比较慢;
      值传递和引用传递、浅拷贝和深拷贝实际就是围绕堆内存和栈内存展开的,另外new关键字初始化的数据都是存储在堆内存中的

    关于css的

    1. Flex样式有哪些属性
    2. css盒子模型,ie盒子模型和标准盒子模型的区别
      ie盒子模型的宽和高包含了border,padding,content,类似于应用了box-sizing:border-box的标准盒子
    3. 对bfc(block formatting context)的理解,页面上一个独立的容器,里面的子元素不会和外面的元素相互影响
    4. 哪些css会触发gpu加速:transform、opacity、filter
    5. css优先级:important>style属性>id>class+属性选择器+伪类>标签+伪元素

    其他

    1. 描述一下HTTP2
      http1问题:tcp连接数限制,线头阻塞,header压缩,明文传输
      http2解决:多路复用,头部压缩,服务端推送,二进制帧传输
    2. 浏览器的渲染过程
    3. 浏览器的缓存机制
    4. 浏览器的垃圾回收机制
    5. 对webpack的了解,使用过哪些插件
    6. webpack中哈希值的算法
      常用的哈希值算法有MD5和SHA-1,webpack中有hash、chunkhash、contenthash三个层级的哈希算法来进行不同层级的缓存,默认算法应该是MD5
    7. 前端安全策略,常见的前端攻击及解决方法
      xss(跨站脚本攻击),csrf(跨站请求伪造),sql注入攻击,点击劫持
    8. 浏览器中线程和进程的区别
      进程是cpu资源分配的最小单位,线程是cpu调度的最小单位
    9. 一个有大量图片的页面怎么优化
    10. 页面的重排和重绘
      重排就是在浏览器渲染过程中的渲染树重新计算布局,重绘就是重新绘制渲染树
      所谓脱离文档流就是脱离渲染树,修改脱离文档流的元素如float元素、absolute元素、fixed元素等,不会引起正常渲染树元素的重排,另外在内存的操作也不会引起渲染树的重排
    11. get和post的区别
      传输数据的大小,安全性,对数据类型的限制
  • 相关阅读:
    图片处理连环画特效
    卡片翻页算法
    android 自定义属性
    android 中捕获全局异常
    c++ 学习笔记
    图片怀旧特效处理
    Linux 网络配置
    指针参数传递
    python 读写文件
    PopupWindow 点击外面取消
  • 原文地址:https://www.cnblogs.com/nightstarsky/p/11389426.html
Copyright © 2020-2023  润新知