记一下腾讯AlloyTeam面经

1.简单自我介绍;

2.JS的数据类型有哪些,Symbol主要是用来干嘛的,基本数据类型和引用类型的区别;

3.ES6了解?谈了些ES6的新东西,面试官追问了箭头函数,var、let、const的区别,暂时性死区等这些问题;

4.在页面中实现一个可以拖拽的div;

5.实现一个计算两个整数和的函数,刚开始心想卧槽那么简单,然后实现后,面试官叫我把其中一个数的值了大于14位,让我再看下计算的结果,计算结果不对,我就说js有一个最大的安全整数(Number.MAX_SAFE_INTEGER)当计算超出时会有精度问题,然后问我想过怎么解决没有(懵逼),下来查看了解决的方法如下:

//使用Bigint()声明大整型 声明的值后面带n
1234567890123456789n * 123n

面试官是要自己实现一个计算最大值超出的算法函数:https://zhuanlan.zhihu.com/p/72179476 可查看链接,败在了这道算法题上;

6.对闭包有了解?我说了闭包的特性和构成闭包的条件后,叫我手写了个闭包的函数;

7.实现数组的扁平化,我是用递归完成的,问了些关于递归的问题;

8.问我了一些操作DOM的方法,我说了一些获取元素的方法,还有createElement、appendChild、removeChild、getAttribute、setAttribute等这些,然后面试官就一直追问还有吗,还有吗。。。除了几个常用的我是真的想不起来了(凉凉);

9.js的时间循环机制(宏任务和微任务有哪些)

总结一下问的全是js基础的东西底层原理和算法的东西,关于vue项目经历这些都没提。。

posted @ 2021-04-17 21:52  x小梦  阅读(130)  评论(0编辑  收藏  举报