随笔分类 - 两周刷完100道面试题
算法题冲冲冲!
摘要:首先上几个面试题:(真难) 1. 手写函数实现数组扁平化(只减少一级嵌套) 思路: function flatten(arr) { let res = []; arr.forEach((item) => { if (Array.isArray(item)) { item.forEach((e) =>
阅读全文
摘要:以下代码的输出?(函数修改形参能否影响实参?) 函数是赋值传递。num和obj的值是不会被改变的。 所以输出的num还是100,obj仍然是{name: '双越'}。 手写convert函数,将数组转为树(TS写的) 基础问题!不会的话先去恶补JS版本的数据结构! 树节点: 如何找到parentNo
阅读全文
摘要:有哪些前端攻击?如何预防? XSS 跨站脚本攻击 预防:尖括号替换,Vue中用插值{}不会发生XSS攻击。 CSRF 跨站请求伪造 预防:服务端严格控制跨域,验证机制二次确认 SameSite禁止第三方cookie 点击劫持 演示一下: 预防: 1.判断两个iframe域名是否一致 2.让当前网页只
阅读全文
摘要:页面如何进行首屏优化? 路由懒加载 服务端渲染SSR 只获取HTML就可以,里面包含data。 APP预取(啥东西) APP结合H5、结合JS bridge 分页 图片懒加载 lazyload Hybrid 总结: 后端一次性返回10w条数据,你会如何渲染? 本身后端设计方案的设计就不合理!非要的话
阅读全文
摘要:网页和iframe如何通讯?(听都没听过iframe) 属于HTML中Web Socket内容 iframe是HTML中的一个元素,它允许在一个HTML页面中嵌入另一个HTML页面。下面是对iframe的简要解释: 定义: iframe代表"内联框架"(Inline Frame)。 用途: 它用于在
阅读全文
摘要:如何检测JS内存泄漏?JS内存泄露场景有哪些? 垃圾回收GC:引用计数算法、标记清除。 引用计数👇有个问题:循环引用。 标记清除👇现代JS引擎使用的方法: ❗闭包内的数据是常驻内存的,不会被销毁。 内存泄漏:是指程序中已经不再需要的对象无法被垃圾回收器释放,导致内存占用越来越多,进而可能导致性能
阅读全文
摘要:1. Vue中computed和watch的区别 两者用途不同啊!computed用于计算产生新的数据,watch用于监听现有数据。 computed有缓存,methods没有缓存。 computed有点儿像工厂模式(产生新的东西),watch像发布订阅模式。(是我目前的知识盲区) 2. Vue组件
阅读全文
摘要:一、 Ajax Fetch Axios都用于网络请求,但是不同维度。比如之前提到的,栈队列数组,栈和队列是逻辑结构,数组是物理结构。 Ajax(Asynchronous JavaScript and XML)是一种技术统称;Fetch是一个具体的原生API;Axios是第三方库(lib)。 (回顾一
阅读全文