TryCoding.FunTryCoding.Fun
JavaScript 基础
JavaScript 基础知识
浏览器原理
浏览器渲染和工作机制
HTML 基础
HTML 基础
CSS & 布局体系
CSS 样式和布局体系
网络与协议
网络协议和 HTTP
性能优化
前端性能优化
前端工程化
前端工程化概念
前端安全
前端安全知识
React
React 框架相关
Vue
Vue 框架相关
JavaScript 基础
JS 基础编程题
对象与数组
对象和数组操作
DOM 操作
DOM 操作相关
工具函数
常用工具函数
数据结构
数据结构实现
框架相关
框架源码实现
异步与并发
异步编程模式
字符串
字符串处理算法
数组 & 双指针
数组和双指针技巧
哈希表
哈希表应用
栈与队列
栈和队列操作
链表
链表操作
树 / 图 / DFS / BFS
树图遍历算法
动态规划(DP)
动态规划算法
模拟与逻辑题
模拟和逻辑题
搜索... ⌘K
  • 基础题
  • 代码题
  • 算法题
    • Ajax、Axios 和 Fetch 的区别
    • 数组 length 为 0 时访问元素
    • addEventListener 第三个参数
    • Array.prototype.slice.apply(arguments)
    • Animation、Transition、Transform 区别
    • 伪数组与真数组的转换
    • 类数组对象
    • 数组按属性值排序
    • 箭头函数与普通函数的区别
    • AST 抽象语法树
    • attribute 与 property 的区别
    • Babel 编译工具
    • async/await 原理解析
    • 异步编程实现方式
    • forEach 中使用 await
    • 异步任务批量执行结果获取
    • Base64 编码为何增大数据量
    • BigInt 数据类型
    • JavaScript 二分查找实现
    • JavaScript 实现二叉排序树
    • bind 连续调用的 this 绑定
    • 浏览器缓存机制
    • bind、call、apply 的区别与实现
    • 浏览器进程和线程
    • callee 与 caller 属性
    • 浏览器版本检测
    • Canvas 黑块计数
    • Canvas 跨域图片数据获取
    • Canvas 与 WebGL 区别
    • 浏览器从输入网址到页面显示的过程
    • 判断对象是否为空
    • 摄氏度转华氏度
    • JavaScript 变量与函数提升
    • 移动端点击穿透问题
    • JavaScript 变量提升与函数提升
    • setTimeout 在循环中的执行时机
    • 转盘组件设计与防刷方案
    • Promise.resolve 返回 Promise 的执行顺序
    • 静态资源 CDN 部署
    • typeof 运算符的执行顺序
    • typeof 和暂时性死区的执行分析
    • 箭头函数与普通函数的 this 和 new 行为
    • this 指向判断
    • Cookie 过期时间设置为 0 的行为
    • typeof 和暂时性死区的执行分析
    • 浏览器跨域限制的原因
    • Company Culture Fit
    • Cookie、LocalStorage 和 SessionStorage 的区别
    • 前端跨域请求解决方案
    • 统计 HTML 页面标签种类数
    • 浏览器标签页间通信
    • 什么是跨域
    • 前端跨页面通信方法
    • CSS 和 JS 文件是否阻塞页面渲染
    • CSR 与 SSR 渲染模式
    • CSS 动画与 JS 动画对比
    • JavaScript vs CSS 动画
    • 十进制转二进制
    • 判断 PC 端还是移动端
    • 深拷贝与浅拷贝
    • document.write 与 innerHTML 的区别
    • document.ready vs window.onload
    • JavaScript 实现拖拽功能
    • DOM 和 BOM 的区别
    • Element Dimension Properties
    • 空数组调用 reduce
    • enumerable 属性忽略规则
    • devDependencies 与 dependencies 的区别
    • 判断脚本运行环境(浏览器或 Node)
    • 判断空对象的方法
    • ES6 Decorator 装饰器
    • 面试必问问题
    • eval 函数的作用与弊端
    • 事件捕获与冒泡执行顺序
    • 事件代理
    • 解释 JavaScript 事件循环
    • 执行上下文与作用域链
    • React setState 批量更新机制
    • 事件冒泡和捕获机制
    • ES6+ 新特性概览
    • 函数是一等公民
    • 浮点数精度问题:0.1 + 0.2
    • 表达式 123['toString'].length + 123 的输出
    • flexible.js 移动端适配原理
    • forEach 循环中断
    • 前端路由的实现与应用
    • 前端动画实现方式
    • 前端面试流程
    • 前端性能优化指标与检测方法
    • 前端路由历史栈结构
    • JavaScript 函数声明方式及区别
    • 函数调用方式
    • 获取页面滚动距离
    • 函数原型链输出结果
    • 生成 1-10000 的数组
    • 函数式编程概念
    • 全局函数与全局变量
    • 堆与栈的区别
    • HTTP/2 多路复用原理
    • HTTPS 握手过程
    • 立即执行函数表达式(IIFE)
    • isNaN 与 Number.isNaN 的区别
    • 图片搜索系统设计
    • 面试关键点
    • 实现可迭代对象
    • JavaScript 内置对象
    • Iterator 迭代器与 Generator 生成器
    • JavaScript 的组成部分
    • JavaScript 内置对象
    • 闭包:概念、应用与内存管理
    • JavaScript 垃圾回收机制
    • JavaScript 错误类型
    • JavaScript 数据类型与检测方法
    • JavaScript 动态生成海报
    • JavaScript 对象定义方法
    • Promise 原理与用法
    • JavaScript 请求取消
    • JavaScript 单线程模型
    • JavaScript 继承方式对比
    • JavaScript 对象生命周期
    • this 的指向规则
    • jQuery.fn.init 返回的 this
    • jQuery 对象特点
    • Job Fit Assessment
    • JS 文件对 DOM 和 CSSOM 的阻塞
    • JSBridge 原理
    • JSON 基础
    • 0-1 背包问题
    • 大文件上传实现
    • Job Handover and Benefits
    • setTimeout 循环输出问题
    • 低代码平台技术实现
    • 宏任务与微任务的执行优先级
    • map(parseInt) 返回值问题
    • map(parseInt) 输出分析
    • 实现 LRU 缓存
    • map 与 filter 的区别
    • Map、Set、WeakMap、WeakSet 的区别
    • Math.ceil 和 Math.floor 的区别
    • 使用 Math 方法获取数组最值
    • Math.random() 在中奖概率计算中的安全问题
    • Math 取整方法的区别
    • 内存泄漏的场景与检测
    • 最大子序和
    • 合并连续数字
    • 什么是微前端
    • MessageChannel 的用法和应用场景
    • MessageChannel 的用途和场景
    • 微前端应用隔离
    • 实现 mergePromise 函数
    • 微前端解决的问题
    • 移动端样式适配
    • 模块化方案对比:CommonJS、AMD、ES Module
    • mouseEnter 和 mouseOver 的区别
    • 为按钮绑定多个 onclick 事件
    • 微前端技术方案
    • 移动端点击延迟问题
    • 多 tab 页通信方案
    • 实现 Promise.all 方法
    • 实现数组的 map 方法
    • 原生 JavaScript 知识体系
    • 计算机网络模型
    • new fn 与 new fn() 的区别
    • Node ES Module 为什么需要文件扩展名
    • new 操作符的执行过程
    • 不冒泡的事件类型
    • 非递归遍历二叉树
    • null 与 undefined 的区别
    • npm 包管理器
    • 空值合并运算符(??)使用场景
    • 数字转汉语输出函数
    • Object.create 与 new 的区别
    • 数字转中文
    • 数字分隔符的相等性判断
    • JavaScript 创建对象的方法
    • 对象解构赋值的实现方式
    • 面向对象编程
    • 让对象支持数组解构赋值
    • 面向对象编程思想
    • Object 与 Map 的区别
    • 面向对象与面向过程编程
    • OOP Three Principles
    • 前端页面截图实现
    • 页面生命周期事件
    • 轮询机制实现
    • 个人经历
    • Portal 子组件的事件冒泡
    • Personal Qualities
    • pnpm 包管理工具
    • 什么是 Polyfill
    • postMessage 跨域通信
    • 防止重复提交
    • 实现数组笛卡尔积
    • 前端面试中的问题分析方法
    • 防止按钮重复点击
    • 阻止事件冒泡和默认行为
    • 项目难点分析
    • 项目流程
    • 项目经验
    • Promise.all 异常处理
    • 中断 Promise 的方法
    • Promise 并发控制
    • Promise.then 的错误处理
    • Promise then 与 catch 的区别
    • Promise.all 和 Promise.allSettled 的区别
    • Promise 构造函数的执行时机
    • Promise 异步加载图片
    • 使用 Promise 实现定时输出
    • 用 Promise 实现红绿灯交替
    • Property Descriptors
    • 属性遍历方法
    • Proxy Basic Usage
    • Proxy 与 Object.defineProperty
    • 原型与原型链
    • PWA 渐进式网络应用
    • React Fiber 架构与 Vue 的差异
    • React 废弃三个生命周期钩子的原因
    • React 事件与原生事件执行顺序
    • 扫码登录实现方案
    • React Portals 的用途
    • React 与 React-DOM 的关系
    • reduce 方法用途
    • React render 方法原理与触发时机
    • ES6 Reflect 对象的用途
    • Reflect 对象的使用
    • React 为什么不直接使用 requestIdleCallback
    • 正则表达式常用方法
    • RESTful 接口规范
    • requestIdleCallback 与 requestAnimationFrame
    • 简历投递的最佳时间段
    • Script 标签位置的影响
    • 滚动公告组件的鼠标交互
    • 顺序执行异步任务
    • JavaScript 脚本延迟加载方式
    • 浏览器同源策略
    • Script 标签中的 export 报错
    • Service Worker 是什么
    • 用 setTimeout 实现 setInterval
    • setTimeout 零延迟的应用场景
    • setTimeout 运行机制
    • 实现 sleep 函数
    • 单线程与异步的关系
    • SPA 首屏加载优化
    • 严格模式的限制
    • 字符串压缩
    • 字符串长度计算(支持表情符号)
    • 实现字符串 repeat 方法
    • 字符串 toString() 方法调用
    • 同步与异步的区别
    • 尾调用优化与尾递归
    • toPrecision、toFixed 和 Math.round 的区别
    • target 与 currentTarget 的区别
    • JavaScript 倒计时偏差纠正
    • TCP 三次握手和四次挥手
    • 实现二叉树所有路径
    • try...catch 捕获异步错误
    • Tree Shaking 原理
    • typeof NaN 的结果
    • JavaScript 类型转换机制
    • TypeScript 访问修饰符
    • TypeScript 泛型的使用
    • TypeScript:Interface 与 Type 的区别
    • TypeScript 方法重载
    • TypeScript 中的 is 关键字
    • TypeScript 变量声明方式
    • TypeScript 命名空间与模块
    • undefined 与 ReferenceError 的区别
    • 获取 URL 资源文件后缀
    • TypeScript 与 JavaScript 的区别
    • URL 参数编码的必要性
    • JavaScript 版本号排序实现
    • var、let、const 的区别
    • JavaScript 变量提升机制
    • 虚拟 DOM 渲染处理
    • 虚拟列表实现
    • Vue created 与 mounted 的时间差
    • Vue 生命周期中发起请求的最佳位置
    • Vite 工作原理
    • Vue 页面渲染流程
    • Vue2 数组变化检测问题
    • Webpack 5 模块联邦
    • Web Worker 基础
    • WebSocket 心跳机制
    • WebSocket 协议
    • Vue 3 响应式原理
    • WebSocket 低版本浏览器兼容方案
    • Webpack 5 升级要点
    • WebSocket 与 HTTP 的区别
    • 页面白屏原因与优化
    • XML 与 JSON 的区别
    • addEventListener 第三个参数
    • addEventListener 与 attachEvent 区别
    • 浏览器兼容性测试与内核
    • 浏览器兼容性问题
    • 浏览器内核与引擎
    • 浏览器图层创建条件
    • 浏览器多进程架构
    • 浏览器渲染机制
    • 浏览器存储方案
    • 浏览器版本检测方法
    • children 与 childNodes 区别
    • 常见浏览器兼容性问题
    • Chrome 页面进程数量
    • 坐标系统对比
    • 多标签页通讯方案
    • 删除 Cookie
    • 自定义事件
    • DOM 事件处理方式演进
    • 元素尺寸属性对比
    • DOM 节点操作
    • DOM 事件机制
    • addEventListener 与 attachEvent 的区别
    • 获取页面所有复选框
    • HTMLCollection 与 NodeList 区别
    • Hybrid 应用开发
    • 强缓存命中机制
    • 浏览器缓存机制
    • 页面编码与资源编码不一致处理
    • jQuery 事件绑定方法对比
    • Input 点击触发的事件顺序
    • JavaScript 浏览器兼容性问题
    • jQuery 多事件绑定实现
    • JSBridge 原理
    • 链接点击后 Hover 失效解决方案
    • 减少重绘和回流的性能优化
    • 移动端 300ms 点击延迟问题
    • 移动端视口配置
    • 移动端点击穿透问题解决
    • 移动端兼容性问题
    • JSBridge 原理与实现
    • 移动端 1px 像素问题解决方案
    • 浏览器渲染流程
    • 页面加载完成事件对比
    • Offset、Scroll、Client 属性对比
    • 同源策略与跨域解决方案
    • Script 标签位置对页面加载的影响
    • Service Worker 与 PWA
    • 存储方案对比:Cookie、Storage、IndexedDB
    • 强缓存默认时间
    • URL 到页面显示的完整过程
    • V8 引擎 JavaScript 执行过程
    • 微信小程序 bindtap 和 catchtap 的区别
    • Bootstrap 徽章
    • Bootstrap 按钮下拉菜单
    • Bootstrap 按钮组
    • Bootstrap 按钮激活与禁用
    • Bootstrap 文档类型声明
    • Bootstrap 下拉菜单
    • Bootstrap 表单帮助文本
    • Bootstrap 水平表单
    • Bootstrap 输入框组
    • Bootstrap 超大屏幕
    • Bootstrap 标签
    • Bootstrap 导航类型
    • Bootstrap 分页
    • Bootstrap 响应式表格
    • Bootstrap 垂直表单创建
    • 浏览器乱码问题及解决方案
    • Canvas 标签属性与 CSS 样式设置宽高的区别
    • Canvas、SVG、WebGL 对比
    • 网页验证码的作用
    • 前端跨页面通信方法
    • 圆形可点击区域实现
    • 浏览器多标签页通信方案
    • CSSOM 树和 DOM 树的解析时机
    • 设备的 DPR 是否可变
    • 禁用 a 标签的跳转和定位
    • DOM 和 BOM 的区别
    • DOM 发展历程
    • DOCTYPE 与文档模式
    • DNS 预解析优化网页加载速度
    • DOM 树的理解
    • Drag API 拖拽事件
    • 前端 SEO 优化要点
    • 标题与副标题的实现
    • HTML 元素分类
    • HTML 全局属性
    • HTML 页面渲染过程
    • HTML 语义化
    • HTML 语义化
    • HTML5 DOCTYPE 声明简化原因
    • HTML5 离线存储原理与使用
    • HTML5 新特性
    • HTML5 移除的元素
    • IconFont 字体图标
    • iframe 的优缺点与通信
    • 图片点击下载而非预览
    • HTML 和 CSS 中的图片加载与渲染规则
    • 浏览器预览待上传图片
    • img 标签 title 和 alt 的区别
    • input 标签触发拍照功能
    • 控制 input 输入框字数
    • img 的 srcset 属性
    • 禁止 input 显示历史记录
    • input 上传多个文件
    • JS 和 CSS 对 DOM 树构建的影响
    • label 标签的作用
    • link 和 @import 的区别
    • Meta 标签常用属性
    • Meta 标签自动刷新跳转
    • 小程序的双线程架构
    • 小程序页面间传递数据的方法
    • 小程序为什么没有 DOM API
    • 微信小程序的优劣势
    • Node 和 Element 的关系
    • 页面生命周期事件:DOMContentLoaded、load、beforeunload、unload
    • 渐进增强与优雅降级
    • 渐进式 JPEG 图片格式
    • PV 和 UV 的区别
    • Script 标签 defer 和 async
    • 实现点击回到顶部功能
    • script 标签能否使用自闭合语法
    • src 与 href 的区别
    • SSG 静态网站生成
    • style 标签位置对页面渲染的影响
    • 从输入 URL 到页面显示的过程
    • Web 标准与可访问性理解
    • 网页常用图片格式
    • 网页常用图片格式
    • Web 标准与 W3C 标准
    • WebSocket 低版本浏览器兼容方案
    • Web Worker 的作用与场景
    • 微信小程序事件传值
    • 微信小程序文件结构
    • 微信小程序的架构
    • 微信小程序原理
    • 页面白屏时间优化
    • 小程序 WXSS 与 CSS 的区别
    • XHTML 与 HTML 的区别
    • 自适应高度布局
    • 链接伪类执行顺序
    • Bootstrap 浮动与清除浮动
    • Bootstrap 框架介绍
    • Base64 图片的使用场景
    • Bootstrap 网格列间距
    • Bootstrap 网格系统工作原理
    • Bootstrap 网格系统
    • Bootstrap 图片样式类
    • Bootstrap 响应式 class 前缀
    • 浏览器 CSS 选择器解析机制
    • Bootstrap 文字对齐方式
    • 浏览器最小字体检测
    • CheckBox 美化方法
    • Chrome密码自动填充背景色修改
    • 屏幕阅读器隐藏元素
    • BFC 块级格式化上下文
    • CSS 盒模型
    • 垂直水平居中方案
    • 清除浮动方法
    • CSS 代码合并方法
    • CSS content 属性用法
    • CSS Content 属性作用
    • display 属性值及其作用
    • CSS 绘制几何图形
    • CSS 硬件加速触发方式
    • CSS 工程化实践
    • Flex 弹性布局
    • Grid 网格布局
    • CSS Hack 原理与应用
    • 绘制 0.5px 细线
    • CSS 隐藏元素方式
    • CSS 可继承与不可继承属性
    • CSS 继承属性
    • 改变页面布局的 CSS 属性
    • CSS 长度单位对比
    • CSS 无限循环动画
    • CSS 模块化的实现方式
    • 样式模块化编写
    • CSS Modules 与 CSS-in-JS
    • CSS 为何不支持父选择器
    • CSS 性能优化
    • Position 属性值
    • CSS 选择器权重
    • CSS 选择符与继承属性
    • 多栏布局方案
    • CSS 样式初始化的必要性
    • CSS 幻灯片效果实现
    • CSS Sprites 的优缺点
    • CSS 动画与 JS 动画的区别
    • 文字重叠的 CSS 属性
    • CSS3 新特性
    • CSSOM 与 DOM 的解析时机
    • CSS3 新增伪类
    • 自定义字体使用场景
    • CSS 预处理器对比
    • 设备像素与 CSS 像素的区别
    • 禁用移动端滑动手势
    • display、float、position 的关系
    • div+css 布局相比 table 的优点
    • 浮动元素的 display 值变化
    • 等高布局实现方案
    • 浮动元素的块级化
    • 浮动元素问题与解决
    • 字体清晰度与细度优化
    • 浮动元素垂直居中
    • font-style 的 oblique 属性
    • FOUC 无样式闪烁及其避免
    • 全屏滚动原理与CSS属性
    • 原生 JS 实现图标边框切换
    • 行内元素与块级元素的区别
    • HTML 和 CSS 中的图片加载与渲染
    • JavaScript 动画与 CSS 动画的区别
    • JS 与 CSS 对 DOM 构建的影响
    • inline-block 元素间隙问题
    • inline-block 间隙问题
    • line-height 的继承与计算
    • link 与 @import 的区别
    • 列表项间隔空白问题
    • 移动端适配方案
    • CSS 实现视差滚动效果
    • Margin 与 Padding 使用场景
    • 外边距重叠现象
    • CSS object-fit 属性用法
    • 百分比高度相对计算
    • position: dbpnk 定位
    • 品字布局设计
    • 伪类与伪元素的区别
    • 伪元素 ::before 和 ::after 的使用
    • px 与 em 单位区别
    • 响应式设计原理与IE兼容
    • 宽高自适应正方形实现
    • 回流与重绘
    • 层叠上下文与 z-index
    • 小于 12px 字体实现
    • RGBA 与 Opacity 透明度对比
    • rgba 与 opacity 透明度对比
    • 单行文本两端对齐
    • 文本溢出省略样式
    • 网页字体大小选择
    • 网页字体大小奇偶选择
    • WXSS 与 CSS 的区别
    • Ajax、Axios、Fetch 对比
    • Ajax 原理
    • Ajax 技术与实现
    • 常见的应用层协议
    • 浏览器缓存的存储位置
    • 从输入 URL 到页面显示的过程
    • Cache-Control 常见配置值
    • CDN 工作原理
    • 为什么推荐将静态资源放到 CDN 上
    • Cookie 的弊端
    • Cookie 的 Secure 属性设置
    • CORS 请求携带身份凭证的方法
    • CORS 跨域原理
    • 复杂请求预检检查内容
    • CORS 预检请求
    • CORS简单请求的条件
    • 简单请求为何无需预检
    • DNS 域名解析与网络请求路由
    • 什么是跨域
    • 什么是 DNS 劫持?
    • DNS 预解析优化网页加载速度
    • DNS 解析过程与优化
    • URL 参数为什么需要 encodeURIComponent 转码
    • Last-Modified 和 ETag 的区别
    • Fetch 发送两次请求的原因
    • 正向代理与反向代理
    • 前后端通信方式
    • GET请求能否上传图片
    • GET 请求的传参长度限制
    • HTTP 缓存策略
    • GET 与 POST 的区别
    • HTTP状态码301与302的区别
    • HTTP 数据传输
    • HTTP 队头阻塞
    • HTTP 请求头和响应头的重要字段
    • HTTP发展历程
    • HTTP与HTTPS总结
    • HTTP 和 HTTPS 的区别
    • HTTP 报文结构与状态码
    • HTTP Keep-Alive 机制
    • HTTP管道机制的作用
    • HTTP协议优缺点
    • HTTP 重定向状态码 301/302/303/307/308
    • HTTP 请求方法
    • HTTP 协议版本演进
    • HTTP与TCP的区别
    • HTTP/2 多路复用原理
    • HTTPS 协议的缺点
    • HTTP/3 如何保证传输可靠性
    • HTTP/2 的改进
    • HTTPS 加密原理
    • 什么是负载均衡?
    • Nginx 负载均衡调度算法
    • Nginx 是什么
    • 对象存储 OSS 是什么
    • OPTIONS 请求方法及使用场景
    • 轮询与 WebSocket 对比
    • HTTPS 中 SSL 的 OSI 层位置
    • SSL连接恢复
    • 强缓存和协商缓存
    • TCP 三次握手与四次挥手
    • TCP三次握手中的数据传输
    • TCP 和 HTTP 请求的关系
    • TCP/IP 协议
    • TCP 如何判断丢包
    • TCP 与 UDP 的区别
    • WebSocket 的 Handshaking 握手过程
    • TLS 1.3 相比 TLS 1.2 的改进
    • URI、URL、URN 的区别
    • WebSocket 心跳机制
    • WebSocket 协议原理
    • XML与JSON对比
    • 动画最小时间间隔
    • AJAX 请求缓存策略
    • 浏览器渲染性能优化
    • CDN 上 JS 运行时错误捕获
    • Chrome Timing 性能优化
    • 编码阶段优化
    • CSS 性能优化
    • CSS 渲染层合成与创建
    • 代码编码优化
    • DNS 预解析与资源预加载
    • 高效 DOM 操作
    • 错误上报方式
    • 文件优化策略
    • 首屏加载优化
    • HTTP/1 多图片加载优化
    • 高性能 JavaScript 编写
    • 图片格式选择
    • 图片优化策略
    • 大数据列表处理
    • jQuery 性能优化
    • 移动端性能优化
    • 多域名部署的优势
    • 多域名资源部署
    • 其他优化方案
    • 前端性能优化方向
    • 页面基础优化
    • 性能优化 API
    • 性能优化总览
    • 性能优化方向指南
    • 性能检测工具
    • 减少 CORS 预请求次数
    • 预渲染优化
    • 脚本加载优化
    • SEO 优化
    • 用户体验优化
    • 长列表虚拟滚动
    • Vue 项目优化实践
    • 1x1 透明 GIF 埋点请求
    • Webpack 构建优化
    • 前端性能指标
    • 网页卡顿排查
    • 白屏时间监控
    • Babel 的工作原理
    • body-parser 中间件的作用
    • Babel 转译原理
    • 浏览器和 Node 中的事件循环区别
    • 职责链模式
    • 链模式
    • 命令模式
    • 组件封装设计
    • 数据统计
    • dependencies 和 devDependencies 的区别
    • CommonJS 和 ES6 模块引入的区别
    • 设计模式分类
    • 前端开发中常用的设计模式
    • 设计模式应用场景
    • 设计原则
    • 开发环境搭建要点
    • Electron 理解
    • 前后端分离是什么
    • 工厂模式
    • 前端代码重构
    • 前端组件化
    • 前端工程师职业发展
    • 前端工程化方向
    • 前端工程化的理解
    • 前端工程价值体现
    • 前端工程化
    • Git 常用命令与工作流
    • Gulp 任务自动化工具
    • 图片导出
    • 前端模块化规范
    • 迭代器模式
    • JavaScript 编码规范
    • 前端 CI/CD 流程
    • jQuery 生态对比
    • jQuery 实现原理
    • jQuery 与 Sizzle 选择器集成
    • Koa 中间件异常处理
    • jQuery 源码优秀实践
    • jQuery 与 Zepto 对比
    • jQuery UI 自定义组件
    • Koa 中间件不调用 await next() 的影响
    • Koa 在没有 async/await 时如何实现洋葱模型
    • Koa 和 Express 的区别
    • Koa 洋葱模型
    • 登录实现
    • 中介者模式
    • 模块模式
    • 小程序架构
    • 小程序常见问题
    • Monorepo 概念与工具
    • mpvue 框架
    • MVC vs MVP vs MVVM
    • Node.js ES Module 为什么必须加文件扩展名
    • MVC、MVP 和 MVVM 架构模式
    • Node.js 全局对象
    • Node.js 性能监控与优化
    • Node.js 多进程与进程通讯
    • Node.js 调试方法
    • Node.js 中的 process 对象
    • Node.js 的理解与应用场景
    • npm 是什么?
    • 观察者模式和发布订阅模式的区别
    • 页面重构方法
    • PM2 守护进程原理
    • 分页功能的前后端设计
    • PostCSS 作用
    • 项目管理方法
    • Rollup 打包工具
    • 高质量前端代码
    • JavaScript 单例模式实现
    • SSG 静态网站生成
    • 模板方法模式
    • 设计模式的六大原则
    • Tree Shaking 原理
    • 用户授权信息获取流程
    • Vite 原理与性能优势
    • Web App vs Hybrid App vs Native App
    • Web 前端开发注意事项
    • Web APP 设计原则
    • Webpack 构建流程
    • Hash vs ChunkHash vs ContentHash
    • Webpack 热更新原理
    • Webpack Loader 与 Plugin 区别
    • webpack 的 module、bundle、chunk 是什么
    • Webpack Proxy 工作原理与跨域解决
    • webpack、rollup、parcel 的选择
    • WePy 与 mpvue 对比
    • WXML 和 WXSS
    • Webpack Scope Hoisting
    • Zepto 实现原理
    • Cookie 与 Token 安全对比
    • 浏览器同源策略
    • 点击劫持与防御
    • CSRF 攻击:原理与防御
    • 数字签名原理
    • 数字证书理解
    • 前端错误捕获方式
    • 前端错误分类
    • HTTPS 中间人攻击与预防
    • OAuth 认证协议
    • 小程序用户唯一性识别
    • 密码安全:加盐与哈希
    • SSO 单点登录
    • SQL 注入与前端安全
    • target="_blank" 安全问题
    • Token 加密实现
    • XSS 攻击:原理、分类与防御
    • 为什么推荐将静态资源放到 CDN 上
    • Class 组件的局限性
    • Class 组件与函数组件
    • Composition API 与 Hooks 对比
    • Vue 中 computed 和 watch 的区别
    • 爬楼梯问题
    • createElement 执行过程
    • 限制构造函数只能通过 new 调用
    • 判断 React 组件类型
    • 受控与非受控组件
    • 自定义 Hook 开发
    • 什么是 DNS 劫持?
    • 判断对象是否是 React 元素
    • HOC 与 Render Props
    • React 中 Element、Component、Node、Instance 的区别
    • Hooks 使用规则
    • HTTP/2 多路复用原理
    • HTTP 报文结构
    • HTTPS 握手过程
    • Immutable 在 React 中的应用
    • 实现图片懒加载
    • JavaScript == 运算符的机制
    • JavaScript 数组的内存存储方式
    • JSX 本质
    • Immutable 在 React 中的应用
    • 最大子序和
    • React Router 的 Link 和 a 标签的区别
    • JSX语法糖本质
    • 父组件调用子组件方法
    • 移动端样式适配方案
    • Portal 中的事件冒泡机制
    • React 17 新特性
    • React 18 新特性与并发渲染
    • React 组件渲染流程
    • React 是什么
    • React元素$$typeof属性
    • React 组件通信方式
    • React 错误边界处理
    • React 核心概念
    • React 组件设计
    • React Fiber 架构
    • React Hooks 原理与规则
    • React 常用 Hooks 使用指南
    • React.memo 和 memoize 函数的区别
    • React 生命周期演变
    • React 性能优化实践
    • React 性能优化策略
    • React Portals 的使用场景
    • React 中的 ref 使用
    • React 和 React-DOM 的关系
    • React 为什么不直接使用 requestIdleCallback
    • React-Router 原理与工作方式
    • React 合成事件机制
    • React 服务端渲染实现
    • React 事务机制
    • setState 同步异步问题
    • setTimeout 为什么不能保证及时执行
    • Redux 工作流与中间件
    • React 服务端渲染实现
    • 单页应用如何提高加载速度
    • Source Map 的工作原理
    • TypeScript 中的命名空间与模块
    • Taro 多端框架实现原理
    • Taro 2.x 和 Taro 3 的区别
    • TypeScript 与 JavaScript 的区别
    • TCP 三次握手和四次挥手
    • useEffect 支持 async/await
    • useEffect 闭包陷阱
    • useMemo 和 useCallback 的使用场景
    • useContext 的使用方法
    • useReducer 与 Redux 对比
    • useState 连续调用 setState 导致值丢失
    • 实现 useTimeout Hook
    • useRef、ref 和 forwardRef 的区别
    • 虚拟DOM性能分析
    • 实现 useUpdate 强制组件重新渲染
    • Virtual DOM 的意义
    • 虚拟DOM的三个组成部分
    • Virtual DOM 与 Diff 算法
    • Vue 页面渲染流程
    • Vue 与 React 对比
    • Vue 与 React 的 Diff 算法差异
    • Vue2 数组变化检测的限制与解决方案
    • Vue3 实现 Modal 组件
    • Composition API 逻辑复用
    • 微信小程序与 Vue 的区别
    • React Fiber 架构与 Vue 的设计差异
    • 渐进式框架的理解
    • React 和 Vue 的技术差异
    • React 和 Vue 的区别
    • setup 中获取组件实例
    • SPA 首屏加载优化
    • 单页应用如何提高加载速度
    • 模板预编译原理
    • 什么是虚拟DOM
    • Vite 的实现原理
    • VNode 的属性
    • Vue 组件中的原生事件监听器需要手动销毁吗
    • Vue 数组元素修改与视图更新
    • Vue 项目中封装 axios
    • 打破 Vue scoped 样式隔离
    • Vue 组件和插件的区别
    • Vue 组件通信方式
    • 虚拟 DOM 的实现原理
    • Computed 与 Watch 对比
    • Vue 项目跨域解决方案
    • Vue CSS scoped 的实现原理
    • Vue 组件渲染过程
    • Vue 自定义指令的使用场景
    • Vue data 为什么必须是函数
    • Vue 项目部署与 404 问题解决
    • Vue 组件错误统一监听
    • Vue Diff 算法:Vue2 vs Vue3
    • 手写 Vue 事件机制
    • Vue 中定义全局方法
    • Vue 框架理解
    • Vue.nextTick 原理与应用
    • Vue Mixin 的理解与应用
    • Vue2 对象新增属性不响应
    • Vue.observable 实现响应式状态管理
    • Vue 父组件监听子组件生命周期
    • Keep-Alive 实现原理
    • Vue 生命周期钩子
    • Vue 项目优化实践
    • Vue 性能优化
    • Vue 权限管理实现方案
    • Vue 大型项目的结构和组件划分
    • ref、toRef、toRefs 的区别与使用场景
    • Vue 渲染过程
    • Vue-Router 路由模式原理
    • Vue SSR 服务器端渲染实现
    • v-for 中 key 的作用
    • Vue slot 插槽的使用
    • Vue 模板编译原理
    • v-model 参数用法
    • v-if 与 v-show 区别
    • Vue 版本性能分析
    • Vue 1.x 响应式系统
    • Vue 2.x 响应式系统与组件更新
    • Vue2 数组变化检测的限制与解决方案
    • Vue2 响应式原理
    • Composition API vs Options API
    • Vue3 设置全局变量
    • watch 与 watchEffect 的区别
    • Vue3 响应式原理与优势
    • Vue 3 Proxy 响应式与性能优化
    • Vue3 实现 Modal 组件
    • Vuex 辅助函数的使用
    • Vue 3 的 Tree Shaking 特性
    • Vuex 数据刷新丢失问题
    • Vue3 新特性
    • Vuex 与 Pinia 状态管理
    • Vuex 的五种属性及其作用
    • Vuex 是什么?

基础题

前端基础知识,包括 JavaScript、浏览器原理、HTML、CSS、网络协议、性能优化、工程化、安全、React、Vue 等。

1.
JavaScript 基础

JavaScript 基础知识

2.
浏览器原理

浏览器渲染和工作机制

3.
HTML 基础

HTML 基础

4.
CSS & 布局体系

CSS 样式和布局体系

5.
网络与协议

网络协议和 HTTP

6.
性能优化

前端性能优化

7.
前端工程化

前端工程化概念

8.
前端安全

前端安全知识

9.
React

React 框架相关

10.
Vue

Vue 框架相关

Trycoding.fun © 2025 版权所有 京ICP备19000129号-4
Trycoding.fun
© 2025 版权所有 京ICP备19000129号-4
关于 博客 GitHub