欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

[建议收藏] 初级和中级前端的基本知识

最编程 2024-05-05 20:28:16
...
  • HTML
    1. 理解标签语义,能根据上下文场景正确使用标签
    2. 理解form表单用法,理解浏览器默认处理逻辑
    3. 理解meta、keyword等SEO标签的作用
    4. 掌握通过html标签实现性能优化的手段
    5. Script 标签对页面执行流程的影响及优化
    6. 样式对页面执行流程的影响及优化
    7. 了解 http-equiv 标签的作用
  • Css
    1. 掌握常用布局的实现方法,包括:
    2. 流式布局
    3. 响应式布局
    4. 弹性布局
    5. 网格布局
    6. 理解margin的特殊使用场景,包括:margin 坍塌、基于margin 实现居中
    7. 了解移动端渲染单位概念,包括:PPI、像素比;理解 2X、3X图概念及其使用场景
    8. 理解多媒体查询能力
    9. 了解postcss用法
  • Less
    1. 理解CSS预处理器概念,了解less的环境配置、处理过程、解决的问题、输出结果形态
    2. 理解编程结构:循环、判断、赋值、mixin
    3. 理解变量概念,并能够基于变量实现数值、颜色、角度、百分比计算
    4. 掌握函数工具用法
    5. 理解 less-loader 的运行原理
  • JavaScript
    1. 理解内存堆栈,理解值类型、引用类型、包装类型的概念
    2. 理解原型链概念,能够使用原型接口实现OOP编程
    3. 掌握 Object.defineProperty 、Object.create、Proxy 用法,能简单描述这几个接口之间的区别
    4. 理解V8引擎垃圾回收原理
  • BOM & DOM
    1. 了解多媒体接口,能够在页面中实现视频、音频的加载、播放。
    2. 理解 DOM 事件模型,及冒泡特性在性能优化上的作用
    3. 了解文档操作接口,包括:查询、复制、删除、更新属性、更新内容
  • 工具库
    1. 熟练掌握lodash常见函数用法,包括:map、reduce、filter、forEach、chain、sortBy、groupBy、pick、omit
    2. 熟悉dayjs/moment.js 工具库,能够进行日期字符串解析、格式化;能够进行时间计算、duration计算
  • 工程化
    1. 理解 webpack 文件打包原理,熟悉 entry、resolve、rules、plugins 配置项
    2. 了解AST概念,理解AST在webpack、babel等工程化工具中的作用
  • 小程序
    1. 理解小程序多进程架构,特别是setData 、事件模型的作用
  • Vue
    1. 理解 v-model 指令原理,能够自行封装组件的v-model逻辑
    2. 理解数据绑定实现原理
    3. 理解diff算法原理
  • HTTP 协议入门
    1. 掌握抓包工具Charles(或 Fiddle)、Bifrost 用法
    2. 理解缓存相关header,包括:etag/last-modified/cache-control/expires;理解协商缓存、强缓存的区别
    3. 熟悉常见响应码的语义,包括:200、301、302、404、500、502、101
    4. 理解 get、post、put、delete 请求方法的语义及使用场景;理解幂等概念
    5. 理解HTTP 1.x的传输性能的主要约束,包括:
    6. 浏览器并行连接数概念及解决了什么问题
    7. 域名解析、TCP握手、TLS握手
    8. 请求阻塞/对首阻塞
  • Node.js
    1. 熟悉文件IO接口,能够熟练使用:read/write/open/stat
    2. 了解流式接口概念,能够使用流式接口实现文件读、写、转换
    3. 了解http模块接口
    4. 理解KOA框架,能够使用KOA编写一个简单的HTTP服务程序
  • 网络知识
    1. 了解TCP/IP协议,理解TCP三次握手过程
    2. 理解TCP vs UDP的区别,能够分清楚为什么http协议底层通常使用TCP实现
    3. 了解DNS,并能理清楚DNS 与CDN之间的关系
    4. 了解TLS/SSL协议,理解TLS握手过程,理解TLS证书及验证过程
    5. 理解网页性能指标,包括:FMP、TTI、FP
  • 计算机基础知识
    1. 熟悉常用数据结构,包括:链表、hash 表、二叉树、数组
    2. 熟悉常见算法,包括:冒泡排序、快速排序、希尔排序、二分查找
    3. 理解UTC日期格式、时间戳概念
    4. 了解编解码概念及常见方法,包括 utf-8/utf-16/ASCII/unicode
    5. 了解冯·诺依曼结构概念