面试题
Coder小鹿
前端小白程序员一枚,略略略~
展开
-
请分别用深度优先思想和广度优先思想实现一个拷贝函数? 每日一题系列(六)
前言在前一篇已经介绍过了深度优先和广度优先现在想通过这两个去实现一个深拷贝深拷贝需要注意一些问题:环状数据先了解过什么是环状数据后,再来进行深拷贝的实现环状数据相信大多数人都是第一次听说这个词,其实挺好理解的,先上代码看一看const obj = { foo: { name: 'foo', bar: { name: 'bar' baz: { name: 'baz', aChild: null //待会让它指向obj.原创 2020-09-12 10:19:44 · 1115 阅读 · 0 评论 -
介绍下深度优先遍历和广度优先遍历,如何实现? 每日一题系列(五)
前言深度优先遍历,广度优先遍历,基本上前端人员是很少听说过的,应用场景挺少,并且也没怎么接触过数据结构,因此会觉得陌生应用场景可用于实现深拷贝所以这题目可以只做个了解,其实实现也是挺简单的,无非是一个栈,一个队列深度优先遍历深度优先遍历DFS 与树的先序遍历比较类似。假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v有路径相通的顶点都被访问到。若此时尚有其他顶点未被访问到,则另选一个未被访问的顶点作起原创 2020-09-11 10:12:10 · 988 阅读 · 0 评论 -
介绍下 Set、Map、WeakSet 和 WeakMap 的区别?每日一题系列(四)
前言Set、Map、WeakSet、WeakMap都是ES6新增的数据结构这里只是说说区别,之后会根据ES6的规范来对其详细的特性和方法等进行讲解区别Set成员唯一、无序且不重复[value, value],键值与键名是一致的(或者说只有键值,没有键名)可以遍历,方法有:add、delete、hasWeakSet成员都是对象成员都是弱引用,可以被垃圾回收机制回收,可以用来保存DOM节点,不容易造成内存泄漏不能遍历,方法有add、delete、hasMap本质上是键值原创 2020-09-10 10:49:23 · 315 阅读 · 1 评论 -
什么是防抖和节流?有什么区别?如何实现? 每日一题系列(三)
前言函数的防抖与节流也是常见面试题其区别在于防抖:任务频繁触发的情况下,只有任务触发的间隔超过指定间隔的时候,任务才会执行节流:指定时间间隔内只会执行一次任务实现的话可以移步防抖与节流总结这是一个挺简单的实现,只要知道思路后,也可以根据应用场景,自己进行一些更改防抖与节流也是前端性能优化中重要的一环,面试基本上都会问到...原创 2020-09-09 09:35:53 · 215 阅读 · 0 评论