本文将列出我认为的一名优秀的跨端开发所需掌握了解的知识点,涵盖前端,跨端架构,iOS端,Android端、C++底层以及计算机网络、操作系统、数据结构、算法、编译原理等核心基础。本文会根据后续自身的技术栈扩展而更新

前端

JavaScript与ECAMScript标准

  • 作用域与闭包
  • this和对象原型
  • 类型和语法
  • 异步与性能
  • 箭头函数
  • 扩展运算符与解构
  • 模版语法
  • new操作符与实现原理
  • map与set
  • 类数组
  • Ajax、Fetch和Axios请求
  • ES6模块、CommonJS模块和amd
  • async/await
  • 防抖与节流
  • 垃圾回收与内存泄漏
  • ES6-10新规范

React与Redux

  • 事件机制与代理
  • 常见Hook与原理(useCallback和useMemo)
  • 函数式编程与函数柯里化
  • 高阶组件
  • 生命周期
  • 重渲染机制
  • 无状态组件
  • Context的理解
  • 受控与非受控组件
  • ref与forwardRef
  • 类组件与函数式组件
  • 类组件的生命周期
  • setState深入理解
  • 组件间通信
  • Redux原理与工作流
  • Redux中间件
  • Redux异步处理
  • Redux与Mobx
  • React虚拟DOM(暂定)
  • Fiber树(暂定)
  • React Diff算法(暂定)

TypeScript

  • 常见类型
  • 类型收窄
  • 函数与对象类型
  • 泛型
  • Keyof与Typeof
  • 索引访问
  • 条件类型
  • 映射类型
  • 模版字面量类型
  • 模块

跨端

React Native

  • React Native原生模块
  • React Native原生组件
  • React Native 0.70前架构
  • React Native新架构
  • JSI理解

其他

  • 跨端架构横向对比
  • JSBridge理解
  • JSCore理解
  • WASM技术
  • 了解H5和Hybrid
  • 了解Flutter与RN的主要区别

iOS

Objective-C基础

  • 类和继承
  • 对象的类型和动态绑定
  • 基于引用计数的内存管理
  • 垃圾回收
  • 属性声明
  • 类NSObjet和运行时系统
  • Foundation框架中常用的类
  • 范畴
  • 抽象类和类簇
  • 协议
  • 对象的复制与存储
  • 块对象
  • 消息发送模式
  • 应用的构造
  • 异常和错误
  • 并行编程
  • 键值编码

核心知识点

  • OC对象的本质
  • Class的本质
  • KVO本质
  • isa和Class
  • 消息发送与转发
  • Runtime
  • RunLoop
  • KVC解析
  • Category
  • Block捕获外部变量和__block原理
  • weak实现原理
  • NSArray的底层实现
  • AutoreleasePool及其实现原理
  • 深入浅出GCD
  • iOS多线程的线程锁
  • NSOperation的进阶使用
  • Bonjour
  • SDWebImage
  • WebSocket
  • Effective Objective-C

C++

基础

  • const
  • static
  • this指针
  • inline内联函数
  • assert
  • sizeof
  • program pack
  • 位域
  • volatile
  • auto
  • struct和typedef struct
  • struct和class
  • union联合
  • explicit(显示)构造函数
  • friend友元类和友元函数
  • using
  • ::范围解析符
  • enum枚举类型
  • decltype
  • 左值与右值
  • 引用
  • 成员初始化列表
  • 封装、继承和多态
  • 析构函数
  • 虚函数与纯虚函数
  • 虚函数指针与虚函数表
  • 模版类、成员模版
  • 抽象类、接口类和聚合类
  • 内存分配与管理

C++11

  • move
  • shared_ptr
  • weak_ptr
  • unique_ptr
  • auto_ptr

STL

  • 索引
  • 容器
  • 算法

基础

计算机网络

  • TCP
  • UDP
  • TCP和UDP的区别
  • TCP的传输连接管理
  • TCP的流量和拥塞控制
  • DNS
  • MDNS
  • HTTP协议
  • HTTPS协议
  • HTTP协议与
  • Socket连接
  • WebRTC

数据结构与算法

  • 链表
  • 队列
  • 排序算法
  • 搜索算法
  • 深度优先
  • 广度优先
  • 动态规划
  • 贪心算法
  • 回溯算法
  • 分治算法

设计模式

  • 观察者模式
  • 装饰器模式
  • 工厂模式
  • 单例模式
  • 命令模式
  • 适配器与外观模式
  • 模版方法模式
  • 迭代器和组合模式
  • 状态模式
  • 代理模式
  • 复合模式

git

  • 常见指令
  • 分支管理
  • github action

Android

参考书籍与博客: