美文网首页
前端实习生面试题

前端实习生面试题

作者: leon12138 | 来源:发表于2020-06-18 23:42 被阅读0次

1.div的display默认值为?

  • 答:block

2. 简述对标签语义化的理解?

  • 对搜索引擎友好,便于优化
  • 包含基本的样式,在没有css的时候也能满足基本的阅读
  • 源码更具可读性,便于维护

3.css选择器权重

  • 答:!important(无限大)>内联(1000)>ID选择器(100)>class选择符(10)>标签选择(1)
    加分项:属性选择器或伪类(10)、伪元素(1),通配选择器*(0)

4.position的默认值,以及各种position属性值的差别?

  • static(默认):按照正常文档流进行排列;
  • relative(相对定位):不脱离文档流,参考自身静态位置通过 top, bottom, left, right 定位;
  • absolute(绝对定位):参考距其最近一个不为static的父级元素通过top, bottom, left, right 定位;
  • fixed(固定定位):所固定的参照对像是可视窗口。
  • inherit(继承父级)
  • sticky 是relavtive+fixed的完美结合,制造出吸附效果。必须配合偏移值使用

5.弹性布局flex的理解以及使用场景?

  • 答:可以简便、完整、响应式地实现各种页面布局。其他的自由发挥。

6.ES5和ES6有哪些常见的区别,或者ES6新增了什么?

  • 箭头函数
  • let const
  • promise、map、set
  • class的原生支持,面向对象更加友好了

6.深拷贝和浅拷贝的区别?怎么实现深拷贝?

  • 浅拷贝在拷贝对象的时候,实际拷贝的对象的指针,深拷贝是拷贝的值
  • 递归的方式可以实现深拷贝
  • 拷贝的对象为简单的json对象的时候可以转化为字符串,然后再次转化成json对象,实现简单的深拷贝

7. ==和===的区别?

  • 前者会自动转换类型,再判断是否相等

8.闭包的作用?

  • 变量静态化,让变量常驻内存
  • 实现私有化成员变量和方法,避免污染全局成员
  • 实现了简单的封装。

9.实现任意一个排序算法

//冒泡排序
var array = [5, 4, 3, 2, 1];
var temp = 0;
for (var i = 0; i <array.length; i++){
for (var j = 0; j <array.length - i; j++){
if (array[j] > array[j + 1]){
temp = array[j + 1];
array[j + 1] = array[j];
array[j] = temp;
}
}

10.简单谈谈vue优化或者微信小程序优化?

  • 使用列表渲染时加上key
  • 微信小程序减少setdata,vue减少dom操作次数
  • 代码压缩、懒加载、减少请求

相关文章

网友评论

      本文标题:前端实习生面试题

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