网易|前端开发实习生 | 杭州 | 2021 一面面经
题外话:一面过了,二面我没有约时间,因为腾讯这边云证了,可能时间上网易流程也走不完了,希望下次再会。
一面 | 视频面试 | 40分钟
-
你先做个自我介绍吧
-
现在主要还是自学为主是吧?你都怎么自学?
-
代码题:使用for循环生成10个计时器,计时器的延迟执行时间分别是1到10秒时间,然后使用Promise同时执行这10个计时器,等全部计时器执行完毕后输出 “计时器全部执行完毕”。
这道题麻了,没写出来,Promise还是敲得少。
下面是我的错误代码
new Promise(() => {for (let i = 0; i < 10; i++) {setTimeout(()=>{console.log(1);},1000 * i);}resolve(); }).then(()=>{console.log('计时器全部执行完毕。'); })问题在于,没有给promise的回调函数中传参,resolve和reject。
后续我写一下这个题的想法。(挖坑
-
代码题:有一个数组,给定两个下标,将这两个下标之间的数组元素在原数组上面进行翻转,要求不能使用数组的方法。
双指针,没什么好说的。
function reverse(arr, left, right) {while (left < right) {[arr[left], arr[right]] = [arr[right], arr[left]];left++;right++;} }使用解构赋值交换元素值。
-
除了es6的语法,还有什么办法交换两个元素的值?
-
使用中间变量temp
-
[a, b] => b = a + b => [a, a + b]
=> a = b - a => [b, a + b]
=> b = b - a => [b, a]
-
异或 a = a ^ b, b = a ^ b, a = a ^ b
-
-
JSON.stringify了解吗?一般什么情况下用到?
- 网络请求不能发送JSON,需要转化为字符串
- 对象深拷贝
-
这个方法什么时候会发生异常?
没答出来。
- 当在循环引用时会抛出异常
TypeError(“cyclic object value”)(循环对象值) - 当尝试去转换
BigInt类型的值会抛出TypeError(“BigInt value can’t be serialized in JSON”)(BigInt值不能JSON序列化).
我尝试第一个循环引用的时候 没搞出异常,感兴趣的同学可以试一下怎么才能搞出异常。
- 当在循环引用时会抛出异常
-
form表单控件知道是什么意思吗?写一个checkbox试试。
几百年没手写表单了,全是用自动填充写的= =。居然没写出来。
-
现在有一个不知道宽高的div,把它放到屏幕正中间,怎么做?
- 绝对定位:top50% left50% transfrom: translate(-50%, -50%);
- flex布局:align-items center, justify-content center
-
代码题:将一个数组元素清空有几种办法?
let arr = [1,2,3,4,5];
arr = [],对const无效
arr.length = 0;
while(arr.length > 0) {arr.push(); }使用splice。arr.splice(0, arr.length);
反问
-
您对”前端停滞了三年没有发展了“,您对这个观点怎么看?
应该说的是框架吧,作为实际的开发人员,会往一些特殊的方向发展。
移动端的组件库还没有特别好的解决方案,跨端方面的问题。
react出来的时候改变了人们写代码的思考方式
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
