• 作业帮前端面经


    一面:

    const a = {}; a.b = 1

    • 对象是引用类型的,栈中保存的是对象的指针,const保证指针不发生改变,修改对象的属性不会改变对象的指针,所以是被允许的,也就是说const定义的引用类型只要指针不发生改变,其他的改变都是允许的

    weakSet

    • weakSet的成员只能是对象

    • weakSet中的对象是弱引用不计入垃圾回收机制

    • weakSet没有size属性

    • weakSet不能遍历成员

    weakMap

    • weakMap只接受对象作为键名

    • weakMap键名指向的对象不计入垃圾回收机制

    • weakMap没有size属性

    • weakMap不能遍历成员

    history

    • History对象是window对象的一部分,可通过window.history属性对其进行访问

    • History对象属性:length

    • History对象方法:back()、forward()、go()

    arr.includes()

    • includes()方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回true

    • 对象数组不能使用includes方法来检测

    简历面

    对前端工程化的理解

    概念如下:前端工程化是使用软件工程的技术和方法来进行前端项目的开发、维护和管理(曾经的前端开发可不是这样的,不然为什么要说工程"化"呢?)。
    这里顺带说下软件工程的概念:应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度,实现满足用户要求的软件产品的定义、开发、和维护的工程或进行研究的学科
    前端工程化包含如下:
    1.代码规范: 保证团队所有成员以同样的规范开发代码。
    2.分支管理: 不同的开发人员开发不同的功能或组件,按照统一的流程合并到主干。
    3.模块管理: 一方面,团队引用的模块应该是规范的;另一方面,必须保证这些模块可以正确的加入到最终编译好的包文件中。(以上两点可以总结为模块化或者组件化开发。)
    4.自动化测试:为了保证和并进主干的代码达到质量标准,必须有测试,而且测试应该是自动化的,可以回归的。
    5.构建:主干更新以后,自动将代码编译为最终的目标格式,并且准备好各种静态资源,
    6.部署。 将构建好的代码部署到生产环境。

    找出数组中相加等于给定和的所有元素组

    var twoSum = function(nums, target) {
       let res = {}
       
       for(let i = 0; i < nums.length; i++) {
           if(res[nums[i]] !== undefined)
               return [res[nums[i]], i]
           else
               res[target - nums[i]] = i
      }
    }
  • 相关阅读:
    Python系列:5- Day1
    Python系列:4-计算机中的进制和编码
    操作系统随笔:什么是微内核和宏内核?【华为鸿鹄操作系统-微内核】
    Python系列:3-操作系统简史
    Python系列:2-电脑结构和CPU、内存、硬盘三者之间的关系
    数据结构中头结点和头指针那么易混淆吗
    pareto最优解(多目标智能算法要用到)
    Matlab学习中遇到的不熟悉的函数(智能算法学习第一天)
    6-2
    6-1
  • 原文地址:https://www.cnblogs.com/smalldy/p/13215133.html
Copyright © 2020-2023  润新知