![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
coder_yihua
这个作者很懒,什么都没留下…
展开
-
call-apply-bind
手写call、bind、apply原创 2022-01-25 21:00:00 · 659 阅读 · 0 评论 -
华为OD从机试到技术三面算法题复盘
华为OD从机试到技术三面算法题复盘。前端,js,栈,指针,滑动窗口,字典,排序原创 2022-07-19 10:57:56 · 1599 阅读 · 2 评论 -
JS树与父级相关
树原创 2022-06-01 09:40:19 · 116 阅读 · 0 评论 -
找多个子节点最近父级的id
树原创 2022-05-31 21:20:04 · 66 阅读 · 0 评论 -
树与数组的转换
function deepClone(obj,map = new WeakMap()){ if(typeof obj !== "object" || obj == null) return obj // 最开始map是空的map,所以objFromMap是undefined const objFromMap = map.get(obj) console.log(obj,objFromMap); if(objFromMap) return objFromMap原创 2022-05-29 09:32:06 · 701 阅读 · 0 评论 -
JS深拷贝
function deepClone(obj,map = new WeakMap()){ if(typeof obj !== "object" || obj == null) return obj // 最开始map是空的map,所以objFromMap是undefined const objFromMap = map.get(obj) console.log(obj,objFromMap); if(objFromMap) return objFromMap原创 2022-05-29 09:30:58 · 171 阅读 · 0 评论 -
EventBus
在on和once里面注册事件,在off里销毁事件,在emit里触发事件interface IEventObj{ fn:Function isOnce:boolean}export class EventBus { private events:{ [key:string] : Array<IEventObj> } constructor(){ this.events = {} } on(type:原创 2022-05-29 09:29:13 · 55 阅读 · 0 评论 -
遍历树(JavaScript、typescript)
深度优先遍历function deepFirstTraverse(root:Node){ visitNode(root) const childNodes = root.childNodes // childNodes和children不一样 if(childNodes.length){ childNodes.forEach(child=>{ deepFirstTraverse(child) //递归 }) }原创 2022-05-29 09:23:09 · 292 阅读 · 0 评论 -
前序遍历-中序遍历-后序遍历(JavaScript、Typescript、二叉树)
前序遍历方式:根左右,所以我们遍历的时候每次拿的就是当前节点,然后去拿左子树,最后拿右子树。export interface ITreeNode{ value:number left:ITreeNode | null right:ITreeNode | null}// 前序遍历:根左右// 中序遍历:左根右// 后序遍历:左右根const bst:ITreeNode = { value:5, left:{ value:3,原创 2022-05-29 09:18:36 · 185 阅读 · 0 评论 -
字节一面复盘
笔试笔试一共四题第一题考的是组件的封装,因为我使用的是vue所以我用vue进行实现。大致内容就是实现一个图片长宽比是固定的宽度自适应,及下面文本内容占两行多余部分…(抖音的界面)第二题则是找出两个数组互斥的元素第三题是考的递归(树形结构),行政区划找指定id的name(考虑时间复杂度优化)第四题的是分析题,分析的是今日头条的一个页面,主要讲述技术实现及自己的看法。一面由于我一年工作经验不到且面的是外包,所以问题可能不是很难。主要问的题目也没有特别大的难度,都是一般面试会问的闭包啊,原型链之类的原创 2022-03-17 10:53:05 · 154 阅读 · 0 评论 -
IP地址与int整数的转换
将 IP 地址转换成 10 进制整数。例如,IP 地址为10.0.3.193,把每段拆分成一个二进制形式组合起来为00001010 00000000 00000011 11000001,然后把这个二进制数转变成十进制整数就是167773121。let IP = '10.0.3.193'function transformIpToNumber(IP){ let ipArr = IP.split('.') let obStr = '' ipArr.forEach(item=>原创 2022-01-28 09:06:15 · 6482 阅读 · 0 评论 -
手写new
我们要知道new做了哪些事第一步:创建一个空对象第二步:将创建的空对象的原型指向构造函数的原型第三步:修改this指向第四步:返回创建的对象 function myNew() { // 首先创建了一个新的空对象 let newObject = {} let [constructor, ...args] = arguments let rst = null if(typeof constructor !== 'function' ){原创 2022-01-22 17:07:34 · 152 阅读 · 0 评论 -
深信服二面
let tree = [{ name: ‘A’ },{name: ‘B’,children: [{ name: ‘A’ },{ name: ‘D’, children: [] }]},{ name: ‘C’ }]实现一个函数,加入我输入 A,返回[ { name: 'A' }, { name: 'B', children: [ { name: 'A' }, ] }]输入B,返回[ { name: 'B', ch原创 2022-01-20 23:24:20 · 763 阅读 · 0 评论