- 博客(66)
- 收藏
- 关注
原创 前端面试高频算法
1 排序算法;1.1 如何分析一个排序算法1.1.1 执行效率3.1.2 内存消耗1.1.3 稳定性1.2 冒泡排序(Bubble Sort)1.3 插入排序(Insertion Sort)1.4 选择排序(Selection Sort)1.5 归并排序(Merge Sort)1.6 快速排序(Quick Sort)1.7 希尔排序(Shell Sort)1.8 堆排序(Heap Sort)2 动态规划和贪心算法;2.1 动态规划2.1.1 斐波拉契数列2.1.2 寻找最长公共
2025-04-27 16:26:16
966
原创 Https补充-Https原理&加密算法
HTTP 的最大弊端——不安全。HTTP 在传输数据的过程中,所有的数据都是明文传输,没有安全性可言最最重要的区别就是安全性,HTTP 明文传输,不对数据进行加密安全性较差。HTTPS (HTTP + SSL / TLS)的数据传输过程是加密的,安全性较好;使用 HTTPS 协议需要申请 CA 证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、DigiCert 和 GlobalSign 等;HTTP 页面响应速度比 HTTPS快。
2025-04-20 19:56:32
627
原创 uni-app 多端开发
uniapp 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。
2025-04-20 14:18:01
1229
原创 微信小程序详解
前端概念下,客户端的类型:浏览器器、桌面端、APP端。是一种全新的用户与服务连接的方式。它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。
2025-04-20 10:57:45
1080
原创 常见数据结构
1. 数组(Array)2. 对象(Object)3. 栈(Stack)4. 队列(Queue)5. 链表(Linked List)6. 树(Tree)7. 集合(Set)8. 哈希表(Hash Table)9. 图(Graph)10. 堆(Heap)11. 不可变数据结构(Immutable.js)12. ES6+ 新增结构
2025-04-15 20:28:36
965
原创 Express & Koa
1. Express 的基本使用1.1 基本用法1.2 核心特性2. Koa 的基本使用2.1 基本用法2.2 核心特性3. Express & Koa 核心对比与区别4. 关键区别详解4.1 中间件机制4.2 异步处理4.3 错误处理5 如何选择
2025-03-05 19:52:44
918
原创 Vue 性能优化实战
1 常见的性能优化分析方式;2 页面加载优化;2.1 选用正确的架构2.2 包体积与 Tree-shaking 优化2.3 代码分割3 页面更新优化;3.1 Props 稳定性3.2 v-once3.3 v-memo4 通用优化;
2025-02-25 20:51:08
572
原创 Http缓存 & 本地缓存优化实战
资源缓存强缓存ExpiresCache-Control协商缓存状态码如何缓存缓存技术方案实践静态资源优化方案与思考充分利用浏览器缓存机制数据缓存数据缓存技术cookielocalStorage、sessionStorage基础 API事件监听indexedDBindexedDB 的使用场景
2025-01-11 15:43:09
814
原创 微前端介绍
微前端介绍微前端定义微前端特点微前端常见框架路由分发式微前端iframesingle-spaqiankunwebpack5:module federationWeb Component微前端问题总结js隔离
2025-01-11 13:46:30
1717
原创 CSR 和 SSR 分别是什么?
实际项目中,有时还会采用同构(Isomorphic)或预渲染(Prerendering)等混合策略,结合CSR和SSR的优点,以适应不同需求。当用户访问一个网站时,服务器首先返回一个基本的HTML结构(通常包含必要的脚本标签和样式表引用),这个结构中通常不含或仅含少量静态内容。而SSR重视首屏加载速度和SEO优化,更适合内容为主的网站、需要快速呈现首屏内容的场景以及对SEO有严格要求的应用。当用户访问网站时,服务器接收到请求后,直接生成完整的HTML页面(包括数据填充),并将这个完整的页面发送给浏览器。
2024-11-14 18:36:51
447
原创 Vue 模板编译原理
Vue中的模板tempalte无法被浏览器解析并渲染,因为这不属于浏览器的标准,不是正确的HTML语法,所以需要将template转化成一个JS函数,这样浏览器就可以执行这一个函数并渲染出对应的HTML元素,就可以让试图跑起来,这是一个转化的过程,就成为模板编译。解析 parse优化 optimize生成 genertate,最终生成可执行函数render解析阶段:使用大量的正则表达式对 template 字符串进行解析,将标签、指令、属性等转化为抽象语法树 AST优化阶段。
2024-11-12 20:01:33
417
原创 模块化开发 & webpack
模块化开发 & webpack1.1 webpack 执行过程1.1.1 初始化1.1.2 编译1.1.3 输出2.1 webpack 基础配置2.1.1 Entry2.1.1.1 context2.1.1.2 Entry类型2.1.2 output2.1.2.1 filename2.1.2.2 publicPath2.1.2.3 path2.1.2.4 libraryTarget 和 library2.1.3 module2.1.3.1 loader2.1.4 Resolv
2024-11-06 20:02:38
1182
原创 CSS面试真题 part2
11、css3新增了哪些新特性?12、css3动画有哪些?13、介绍一下grid网格布局14、说说flexbox(弹性盒布局模型),以及使用场景?15、说说设备像素、css像素、设备独立像素、dpr、ppi之间的区别?16、说说em/px/rem/vh/vw区别?17、让Chrome支持小于12px的文字方式有哪些?区别?18、怎么理解回流和重绘?什么场景下会触发?19、说说对css预编语言的理解,有哪些区别?20、如果要做优化,css提高性能的方法有哪些?
2024-10-19 14:12:21
1030
原创 CSS面试真题 part1
1、说说你对盒子模型的理解2、谈谈你对BFC的理解3、什么是响应式设计?响应式设计的基本原理是什么?如何做?4、元素水平垂直居中的方法有哪些?如果元素不定宽高呢?5、如何实现两栏布局,右侧自适应?三栏布局中间自适应呢?6、css选择器有哪些?优先级?哪些属性可以继承?7、css中,有哪些方式可以隐藏页面元素?区别8、如何实现单行/多行文本溢出的省略样式?9、css如何画一个三角形?原理是什么?10、如何使用css完成视差滚动效果
2024-09-30 22:00:00
1516
原创 JS面试真题 part7
31、web常见的攻击方式有哪些?如何防御32、说说JavaScript中内存泄漏的几种情况33、JavaScript如何实现继承34、说说JavaScript数字精度丢失的问题,如何解决35、举例说明你对尾递归的理解,有哪些应用场景
2024-09-26 22:15:00
1027
原创 JS面试真题 part6
26、如何判断一个元素是否在可视区域中27、什么是单点登录?如何实现28、 如何实现上拉加载,下拉刷新29、说说你对正则表达式的理解?应用场景?30、说说你对函数式编程的理解?优缺点
2024-09-25 22:00:00
2759
原创 JS面试真题 part5
21、说说对事件循环的理解22、JavaScript本地存储方式有哪些?区别及应用场景?23、大文件上传如何断点续传?24、ajax原理是什么?如何实现?25、什么是防抖和节流?有什么区别?如何实现
2024-09-13 22:15:00
1529
原创 JS面试真题 part4
16、谈谈JavaScript中的类型转换机制17、深拷贝浅拷贝的区别?如何实现深拷贝18、JavaScript中如何实现函数缓存?函数缓存有哪些应用场景?19、JavaScript字符串的常用方法有哪些20、数组的常用方法有哪些
2024-09-11 17:04:17
1108
原创 JS面试真题 part3
11、bind、call、apply区别?如何实现一个bind12、JavaScript中执行上下文和执行栈是什么13、说说JavaScript中的事件模型14、解释下什么是事件代理?应用场景?15、说说你对闭包的理解?闭包使用场景
2024-09-10 16:41:29
1089
原创 前端AST
1、什么是编译器2、什么是AST3、编译器的基本思路3.1 词法分析3.2 语法分析3.3 代码转换3.4 代码生成3.5 完整链路
2024-09-08 13:43:50
1225
原创 JS面试真题 part2
6、typeof 与 instanceof 区别7、JavaScript原型,原型链?有什么特点8、说说你对作用域链的理解9、谈谈this对象的理解10、说说new操作符具体干了什么
2024-09-06 18:40:41
1277
原创 JS面试真题 part1
1、说说JavaScript中的数据类型,储存上的差别2、说说你了解的js数据结构3、DOM常见的操作有哪些4、说说你对BOM的理解,常见的BOM对象你了解哪些5、== 和 === 区别,分别在什么情况使用
2024-09-05 17:23:44
1128
原创 算法题汇总
算法汇总环形链表 https://leetcode.cn/problems/linked-list-cycle/反转链表 https://leetcode.cn/problems/reverse-linked-list/28环形链表 II https://leetcode.cn/problems/linked-list-cycle-ii/快乐数 https://leetcode.cn/problems/happy-number/反转链表 II https:/
2024-09-04 16:46:54
1316
原创 Node 缓存、安全与鉴权
1、Cookie1.1 Set-Cookie1.2 Cookie 的生命周期1.3 如何保证Cookie安全性1.4 Cookie 的作用域Domain 属性Path 属性1.5 SameSite attribute1.6 JS操作Cookie1.7 安全性2、 Node缓存2.1 缓存作用2.2 缓存类型强制缓存对比缓存(协商缓存)3、Node鉴权3.1 HTTP Basic Authentication3.2 session-cookie3.2.1 cookie3.
2024-08-28 09:54:15
1152
原创 Node 网络详解
1、 OSI & TCP/IP模型设计1.1 OSI七层模型应用层:(Application Layer)表示层:(Presentation Layer)会话层:(Session Layer)传输层:(Transport Layer)网络层:(Network Layer)数据链路层:(Data Link Layer)物理层:(Physical Layer)1.2 TCP/IP协议应用层传输层网络层网络接口层1.3 OSI与TCP/IP协议间的关系1.3 每层间的合作与加工2、
2024-08-21 14:46:30
853
原创 Node 基础
1、什么是Node.js2、CommonJS模块化2.1 CommonJS规范2.2 CommonJS示例3、Node.js核心模块使用3.1 HTTP模块(常用)3.2 URL模块(常用)3.3 Query String模块(常用)3.4 Path模块(常用)3.5 File System模块(常用)3.6 Modules:CommonJS模块3.7 Modules:ECMAScript模块3.8 Modules:node:module API3.9 OS模块
2024-08-19 17:58:26
1087
原创 TypeScript
Typescript 基础语法类型定义类型联合与交叉类型断言Typescript 泛型与类型体操泛型的概念和使用 interface 接口extends 的重要性Infer 推断Typescript 综合
2024-08-18 18:33:48
895
原创 ES6 & ESNext 规范及编译工具简介
变量定义新形式(let、const)解构语法模板字符串箭头函数ES6新增的数组方法Set和Map面向对象编程——class 语法生成器 generator异步处理——callback、Promis
2024-08-18 14:18:24
1480
原创 Vue 状态管理 & Vue CLI
1、状态管理2、集中状态管理2.1 Vuex2.1.1 Vuex核心概念2.1.2 Vuex Store实例2.1.3 Vuex Getter2.1.4 Vuex Mutation2.1.4 Vuex Actions2.1.4 Vuex Module2.2 Pinia2.2.1功能增强3、Vuex 实现原理4、Pinia 实现原理5、CLI5.1 实现
2024-07-24 13:53:49
1164
1
原创 7、 函数式编程(纯函数的好处、柯里化使用和实现、代码组合compose、pipe)
我们追求的是那种可靠的,每次都能返回同样结果的函数,而不是像 splice 这样每次调用后都把数据弄得一团糟的函数,这不是我们想要的。4、curried的if分支判断,参数个数3,小于4,继续返回一个函数Fn2(函数名字不重要,没有名字也可以),Fn2的函数体是一个执行。柯里化是一种函数的转换,它是指将一个函数从可调用的 f(a, b, c) 转换为可调用的 f(a)(b)©。纯函数是这样一种函数,即相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用(不会影响别人)。我们把它们重命名一下。
2024-06-19 17:41:58
947
原创 5、JavaScript 模块化详解
将一个复杂的程序依据一定的规则(规范)封装成几个块(文件),并进行组合在一起;块的内部数据与实现是私有的, 只是向外部暴露一些接口(方法)与外部其它模块通信;CommonJS规范主要用于服务端编程,加载模块是同步的,这并不适合在浏览器环境,因为同步意味着阻塞加载,浏览器资源是异步加载的,因此有了AMD CMD解决方案;AMD规范在浏览器环境中异步加载模块,而且可以并行加载多个模块。不过,AMD规范开发成本高,代码的阅读和书写比较困难,模块定义方式的语义不顺畅;
2024-06-17 15:42:32
647
原创 4.2、浏览器请求详解(ajax、fetch、axios使用,手写ajax)
Ajax 是Async Javascript And Xml的简称,它是原生JavaScript的一种请求方案,利用 XMLHttpRequest 进行异步请求数据,实现无感刷新数据;Fetch 是 ES6 新推出的一套异步请求方案,它天生自带 Promise,同时也是原生的,如果在较小项目中为了项目大小着想和兼容性不是那么高的前提下不妨可以用它来进行异步请求也是不错的;Axios 是基于 Ajax 和 Promise 封装的一个库,可以利用Promise来更好的管控请求回调嵌套造成的回调地狱;
2024-06-16 22:10:34
1230
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人