前端面试题1

140 阅读3分钟

1、写vue时候 app适配怎么写的?

答: 媒体查询 @media结合rem、不同的宽度给不同的根节点字体大小 vw vh

2、axios get和post有什么区别?

答:

  • get从服务器获取数据、post往服务器传递数据
  • get通过拼接url传递参数、post参数在body中
  • 理论上post比get更安全、毕竟传参是Url上面不可见

3、computed和weatch区别?

答:

  • 功能上:computed是计算属性 weatch是监听一个值的变化、然后执行对应的回调
  • 是否支持缓存:computed支持缓存、相依赖的值发生变化的时候才会重新计算,weatch不支持缓存、只要监听的数据变化就会调用相应的函数
  • 是否需要return:computed必须要有return返回、weatch中的函数不是必须用return
  • 第一次是否加载:computed默认第一次加载时就监听、weatch默认不监听,只有调用immediate为true时才监听
  • 是否支持异步:computed不支持、weatch支持
  • 使用场景:当一个属性受多个属性影响的时候用computed,当一个数据影响多条数据的时候用weatch

4、子盒子在父盒子中水平居中有几种方法?

答:

  1. 子绝父相后 left top50%、再给margin-leftmargin-top各-自身的一半
    
  2. 子绝父相后 left top50%transform: translate(-50%,-50%)
    
  3. 设置父盒子为flex; justify-content: center; align-items: center;
    
  4. 子绝父相后 子盒子left,top,right.bottom都设置为0 再给一个margin:auto
    

5、行内块元素在一行并列排 为什么会有3px的间隙?

答:将两个元素设置为块元素 或者将两个元素并排放置、不换行

6、数据结构?

答: 栈、堆、队列?

7、闭包是什么?

答:闭包就是在一个函数内部创建另一个函数,让你可以在一个内层函数中访问到其外层函数的作用域、本质上,闭包是将函数内部和函数外部连接起来的桥梁。

8、v-for中key的作用?

答:

  • 因为key的存在 vue不是去改变原有的元素和数据、而是创建新的元素和数据渲染进去
  • 提升v-for属性的效率
  • 避免数据混乱的情况出现
  • 提高渲染性能
  • 所以总结一句话,key的作用主要是为了高效的更新虚拟DOM

9、js中怎么实现继承?

答: 原型继承、class类技能、call,apply改变this指向继承

10、vue组件传值方法?

答: 父子、兄弟、祖孙

11、设计模式有了解吗?

12、H5新增标签有哪些?为什么要新增语义化?

13、为什么要清除浮动、清除浮动的方法?

14、数据存储有哪几种方式? 有什么不同?

15、vue实现双向绑定的原理?vue怎么实现数据的劫持的?

16、文本怎么不换行 超出部分用省略号替代?

17、vue生命周期?

18、跨域是怎么?怎么解决 以及jsonp原理?

19、轮播图实现的原理?

20、h5新特性 css3新特性?

21、seo搜索引擎优化?

22、js捕获冒泡怎么执行的?

23、什么是闭包?优点缺点?

24、cookie中的session有了解吗?

25、简述node.js?

26、前端常用的性能优化有哪些?如果一个页面打开速度较慢、怎么解决?

25、数组去重方法?

25、for in 和 for of区别?