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

前端实习生面试题

作者: 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