这些前端大厂面试题你会做吗?每日10题大厂面试题(一)

简介: 这些前端大厂面试题你会做吗?每日10题大厂面试题(一)

前言

       今天是每日10题大厂面试题专栏的第一章,所以有一些地方需要和同学们啰嗦一下,以后每天一更,周末不更,题目都是题主前一天晚上亲自做过并且总结过的题目,因为为了避免浪费大家的时间,一些题主觉得比较容易的题目就不会记录进来,所以不一定正好10题,每一道题的小标题命名将会用括号表明这题的考察点,时间有限的同学可以根据自己的优劣势进行针对性地看

       看这些题目前,最好是把答案遮住,先不看题主的解释,尝试自己写一写,可能对自己的帮助提高会更大


题1(全等/new/基础包装类型)

下面输出的结果是:


640.png


答案:true false false

这道题主要考察可以分成三个部分:

  • 全等:值和类型匹配,才是全等(即===)
  • new:new Number(3)是 使用了new相当于引用了,返回的是一个对象,如果是3 === Number(3)将返回true,这里将进一步说明new在js中的作用:
  1. 创建一个新对象
  2. 将构造函数的作用域赋给新对象(因此 this 就指向了这个新对象)
  3. 执行构造函数中的代码(为这个新对象添加属性)
  4. 返回新对象
  • 基础包装类型:3虽然是基础类型,不是对象,却可以调用Number原型下的方法,这中间又发生了什么呢?对于js中的基础类型,他们都有对应的一个包装类类型,当对基础类型调用方法或者调用对应属性的时候,会调用基础包装类型对这个基础类型进行包装,比如’123’.length发生的过程内部实现如下:


640.png


题2(扩展符,函数参数默认值)

输出什么?


640.png


答案:{name: “Lydia”, age: 22}

这道题主要考察以下两点:

  • 扩展符,使用扩展符复制的对象是一个新的对象,但是并不代表扩展符对对象的操作是深拷贝,扩展符复制对象{…obj}其实是浅拷贝,拷贝层数只拷贝第一层,并不会进一步递归
  • 函数参数默认值,因为changeAge传了参数,所以可以对person进行修改,而changeAgeAndName没有传参数,第一点我们说到扩展符是复制一个新的对象,是浅拷贝但不是原对象,所以对x默认值的修改并不会影响到changeAgeAndName

题3(后置递增++)

输出是什么?


640.png


答案:10, 10

这道题主要考察:

  • 后置递增++,执行increaseNumber的时候,对num的+1操作会在返回数据之后执行,也就是num1会为10,然后将num1传入increasePassedNumber()中,同理,num2也是10

题4(const)

下面哪一项会报错?


640.png


答案:3

这道题主要考察:

  • const,使用了const关键字并不意味着我们都不能再改变这个变量了,如果是基础数据类型,是的,但是对于引用类型,是可以重定义变量中的值的,但是变量本身不可修改,也就是引用的地址不能改变,你不能直接把另一个引用类型赋值给用const修饰的变量

题5(变量提升,严格模式,ReferenceError, TypeError)

下面代码输出是什么?


640.png


这道题主要考察:

  • 变量提升,严格模式,es5下,如果没用var 声明变量,会自动把变量的申明提前到头部,声明为全局变量,如果是在严格模式下,禁止这种操作,并且会报出ReferenceError的错误
  • ReferenceError:ReferenceError(引用错误) 对象代表当一个不存在的变量被引用时发生的错误
  • TypeError: TypeError(类型错误) 对象用来表示值的类型非预期类型时发生的错误。

题7(类的静态函数)

下面代码的输出是什么?


640.png


答案:TypeError

这道题主要是考察:

  • 类的静态函数。colorChange方法是静态的,静态方法仅在创建它们的构造函数中存在,并且不能传递给任何子级。所以调用colorChange的时候会不存在colorChange方法,抛出TypeError

题8 (数组原型的相关方法)

下面哪些方法修改了原数组:

640.png


答案:splice

这道题主要考察:

  • 数组的相关原型方法,数组原型中其实能更改原数组的并不是很多,大部分都是返回一个新数组,能改变原数组的主要是以下几种:push, pop, shift, unshift, reverse, sort, splice,剩下的都不可以修改原数组哦,同时还要注意一点,题主原来也错误认为的部分,对数组进行foreach遍历的过程中,如果修改这个数组是并不会成功的


题10 (for…in)

下面输出是什么?

640.png

答案:“name", “age”

这道题主要考察:

  • for…in,这里题主之前不清楚,惭愧,for…in直接遍历出来的是属性的key,而不是包含key和value的对象
目录
相关文章
|
10天前
|
缓存 前端开发 JavaScript
"面试通关秘籍:深度解析浏览器面试必考问题,从重绘回流到事件委托,让你一举拿下前端 Offer!"
【10月更文挑战第23天】在前端开发面试中,浏览器相关知识是必考内容。本文总结了四个常见问题:浏览器渲染机制、重绘与回流、性能优化及事件委托。通过具体示例和对比分析,帮助求职者更好地理解和准备面试。掌握这些知识点,有助于提升面试表现和实际工作能力。
42 1
|
2月前
|
Web App开发 前端开发 Linux
「offer来了」浅谈前端面试中开发环境常考知识点
该文章归纳了前端开发环境中常见的面试知识点,特别是围绕Git的使用进行了详细介绍,包括Git的基本概念、常用命令以及在团队协作中的最佳实践,同时还涉及了Chrome调试工具和Linux命令行的基础操作。
「offer来了」浅谈前端面试中开发环境常考知识点
|
3月前
|
存储 XML 移动开发
前端大厂面试真题
前端大厂面试真题
|
21天前
|
Web App开发 JavaScript 前端开发
前端Node.js面试题
前端Node.js面试题
|
3月前
|
存储 前端开发 JavaScript
44 个 React 前端面试问题
【8月更文挑战第18天】
49 2
|
3月前
|
存储 JavaScript 前端开发
2022年前端js面试题
2022年前端js面试题
37 0
|
3月前
|
存储 前端开发 JavaScript
44 个 React 前端面试问题
44 个 React 前端面试问题
|
3月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
30天前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
59 2
|
1月前
|
JSON 安全 前端开发
第二次面试总结 - 宏汉科技 - Java后端开发
本文是作者对宏汉科技Java后端开发岗位的第二次面试总结,面试结果不理想,主要原因是Java基础知识掌握不牢固,文章详细列出了面试中被问到的技术问题及答案,包括字符串相关函数、抽象类与接口的区别、Java创建线程池的方式、回调函数、函数式接口、反射以及Java中的集合等。
27 0