您现在的位置是:首页 >技术交流 >小米秋招笔试题(强化基础)网站首页技术交流
小米秋招笔试题(强化基础)
1、已知const arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'],下面可以获取数组最后一项的表达式有
A arr[6]
B arr.pop()
C arr.shift()
D arr.unshift()
答案: AB
解析:
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
pop() 方法用于删除数组的最后一个元素并返回删除的元素。
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
2、如下方式创建的数组长度为5的有
A const array = [,,,,,]
B const array = new Array(5)
C const array = Array(,,,,,)
D const array = new Array('', '', '', '', '')
答案:ABD
解析:
使用字面量的方式创建数组还可以使用 ',' 占位,一个逗号表示一个元素
使用Array构造函数创建数组可以传入一个数值表示数组的length,或者直接传入要保存的元素,逗号非元素会报错,比如C选项
3、下面关于javascript的说法正确的有
A 基础类型的值保存在堆内存上
B 引用类型的值保存在栈空间上
C 基础类型的复制会创建该值的一个副本
D 引用类型的复制只会复制指针,复制后的变量和复制前的变量都指向同一个对象
答案:CD
解析:栈区存的是基本数据类型的变量和值,而引用数据类型存放在栈区的是变量和引用地址,它的值放在堆中
4、下面返回结果为true的有:
A isNaN(NaN)
B isNaN(10)
C isNaN('10')
D isNaN('blue')
答案:AD
解析:isNaN会把非数值的参数转化成数值再进行判断,因此字符串blue转完数值后是undefined,那么isNaN(undefined)是为true的
5、网络七层协议不包括
A 数据链路层
B 通讯层
C 物理层
D 会话层
答案:B
解析:网络七层协议从下到上分别是
7-应用层、6-表示层、5-会话层、4-传输层、3-网络层、2-数据链路层、1-物理层。
6、Git 暂存操作的API是什么
A git bisect
B git stash
C git rebase
D git fetch
答案:B
解析:
git bisect 是利用二分法的思想,来查找哪一次代码提交引入了错误
git stash 暂存
git rebase 合并
git fetch/clone 远程端下载至本地
7、已知字符串:'电话号码是:123-4567-8901',如下正则表达式可以匹配到字符串中的电话号码的有:
A /d[3]-d[4]-d[4]/
B /d{3}-d{4}-d{4}/
C /[0-9-]+/
D /[0-9-]+/
答案:BCD
解析:
A 选项考察集合[],它匹配的是1-2-3这种
B 选项考察重复匹配,d{3}表示对0-9的数字重复匹配三次,B选项正确
C 选项考察集合的区间,+匹配1次或者多次。[0-9-]+匹配0-9的数字或者-,C选项正确
D 选项和C 选项的区别是对-进行了转译,在集合里面 -符号只有在作为区间的连接符(a-z,0-9)使用时才是元字符,在集合中直接使用就是-字符本身, - 等价于 -,D选项正确
下篇见~