Skip to content

🐾 前端杂烩,记录我脱离低级趣味的点点滴滴

Notifications You must be signed in to change notification settings

Forever17s/Front-Hodgepodge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐾 前端杂烩,记录我脱离低级趣味的点点滴滴

本篇博客包含 『 设计模式 』、『 Vue 』、『 React 』、『 ES6 』和『 前端常识 』的一些内容,均是亲历项目和面试后总结出来的。随着工作经验的积累,越发感受到设计模式给编程带来的收益。还有一些前端高频面试考点,希望能帮到各位志同道合的前端工程师朋友 🦍🦍🦍

  • 设计原则
  • 单例模式
  • 策略模式
  • 代理模式
  • 迭代器模式
  • 发布-订阅模式
  • 命令模式
  • 组合模式
  • 模块方法模式
  • 享元模式
  • 职责链模式
  • 中介者模式
  • 装饰者模式
  • 状态模式
  • 适配器模式
  • 外观模式

  • HTML 文档三种常见 DOM 节点
  • javascript 变量提升
  • 运算符 &&&|||
  • String 字符串对象属性
  • Window 对象
  • history 修改 URL 的方法
  • hash 路由和 history 路由区别
  • 数组去重四种方式
  • CSS 元素隐藏显示
  • 排序
  • 线性表查找
  • 迪杰斯特拉和弗洛伊德算法
  • 鼠标事件
  • JS 的数据类型
  • GET 和 POST 请求区别
  • Object.assign()
  • ES6 新特性
  • 箭头函数普通函数区别
  • axios 特色
  • Vue 生命周期和钩子函数
  • addEventListener 监听函数
  • 循环中创建闭包:一个常见的错误
  • 时间戳 getTime()
  • 浮点数的误差
  • 二进制与十进制互转
  • 截取字符串 slice/splice/substr/substring(n,m)
  • localStorage,sessionStorage 和 cookies 的区别
  • JS 设置 cookie
  • 关于 sort 排序
  • 简述面向对象
  • Number/JSON
  • attachEvent 和 addEventListener
  • Spread Operator 展开运算符
  • JS 部分简写『 逼格拔高 』:checkered_flag:
  • 关于 Ref
  • 关于 Set 和 Map
  • 同源策略及解决跨域问题
  • CSS 的单位
  • CSS 中 white-space、word-break、word-wrap
  • CSS3 动画
  • CSS 怎么实现单、多行文本溢出
  • BFC 布局 (块级格式化上下文)
  • CSS 实现三角形
  • CSS 垂直水平居中
  • 权重计算规则
  • 浏览器渲染原理
  • DNS 解析过程
  • 对比 TCP 和 UDP
  • 三次握手

  • 如何判断一个对象有环
  • ES6 数组新特性
  • React 的 JSX
  • JSX 的注意点
  • React 组件生命周期
  • React 中 render 的触发方式
  • React 处理事件的四种方式
  • Virtual DOM 算法简述
  • Angular 和 Vue 的动态刷新方式
  • React、Vue 和 Angular 的性能比较
  • React 创建组件的两种方式
  • 有关 key
  • Vue 修饰符
  • Vue 关于 $emit 的用法
  • Vue 的 v-model 是什么
  • Vue keep-alive 的实现原理及 LRU 缓存策略
  • Vue 父子组件通过 props 传值示例
  • Vue 父子组件生命周期执行顺序
  • Vue/React/Angular 组件间通信
  • Vue 2.X 源码之『 VNode 』:checkered_flag:
  • Vue 2.X 源码之『 响应式对象 』:checkered_flag:
  • Vue 2.X 源码之『 NextTick 』:checkered_flag:
  • Vue 2.X 的编译过程
  • macro/micro task 宏任务、微任务
  • React 中 setState 更新数据
  • 对比 Redux 和 Vuex
  • Vue/React 的 diff 优化
  • React diff 介绍:checkered_flag:
  • React v15 和 v16 比较
  • React Fiber 的设计理念:checkered_flag:
  • React hook 原理
  • React 官方 Hooks 总结
  • React 性能优化
  • Vue 3.X 新特性 🏁
  • javascript 工厂模式函数、构造函数、原型模式
  • 关于 this 指向
  • 事件轮询机制 bind、apply、call 的区别
  • 手写 new、instanceOf、const
  • 手写 函数柯里化、函数合成
  • 手写 函数防抖、函数节流
  • 手写 深度遍历
  • 手写 广度遍历
  • 手写 二叉树遍历
  • 手写 Promise 及相关
  • JS 异步解决方案的发展历程以及优缺点
  • HTTP2 特性
  • 回流和重绘(reflow,repaint)
  • TS 的一些实用工具泛型
  • 浏览器如何进行垃圾回收
  • 浏览器中不同类型变量的内存都是何时释放
  • 如何避免内存泄露
  • 闭包会不会导致内存泄露
  • weakMap weakSet 和 Map Set 的区别
  • 手写 Array.flat、Array.reduce、Array.map
  • 手写单例模式
  • 手写异步中间件
  • 手写一个 redux

  • 前端登录需要处理的流程
  • HTTP 缓存机制
  • HTTP 常见状态码
  • OPTIONS 请求
  • 常见 HTTP 的 Header
  • 关于 HTTPS 的安全性
  • 第一方 cookie 和第三方 cookie
  • 常见异常类型
  • CSRF 攻击实例
  • 当前防御 CSRF 的几种策略
  • XSS 跨站脚本攻击
  • MVVM 和 MVC 的区别
  • 五大浏览器和四大内核
  • 关于快数组、慢数组
  • 关于 npm 和 yarn
  • 关于 require 和 import
  • import 最后被解析成了什么
  • 函数式编程
  • PWA 简介
  • web worker 简介
  • 说说对 SSR 的了解
  • 跨标签页的通信方式
  • 性能指标 RAIL
  • CDN 缓存
  • 正向代理与反向代理
  • Git & SVN
  • Git 基础命令
  • git reset、git revert 和 git checkout 的区别
  • 关于 git rebase
  • Git 修改 commit message
  • Git 撤销已经推送至远端仓库的提交信息
  • .gitignore 文件不生效的解决办法
  • Git 提交信息规范
  • Git 配置代码提交检测
  • 命名规范
  • 注释规范
  • HTML 书写规范
  • CSS、SCSS 书写规范
  • JavaScript 书写规范
  • 层次结构和 UML 类图
  • 扁平化、面向数据的 state/props
  • 更加纯粹的 State 变化
  • 低耦合
  • 辅助代码分离
  • 提炼精华
  • 及时模块化
  • 集中/统一的状态管理
  • 附:API 的设计原则

其它

分享

About

🐾 前端杂烩,记录我脱离低级趣味的点点滴滴

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published