线路图

  • HTML基础

    • div,span,p,h1,table,ul之间的区别,什么是块级元素、内联元素

    • DOM的原生特征是掌握布局的基础

  • HTML表单

    • action、target、multiple、placeholder、required

    • 表单提交、文件上传等,数据交互的载体

  • CSS基础

  • flex布局

    • 新一代布局

    • react native只支持flex

  • CSS3基础

    • css实现过渡动画

    • 新增的选择器

    • 重点

    • 进阶

  • JS基础

    • 消息循环机制,setTimeout,setInterval

    • Promise,async,await

    • ES6语法(语法糖+框架 是第一生产力)

    • Class与继承

    • 重点

  • JS进阶

    • 原型链

    • 作用域链

    • 闭包

    • 函数式编程

    • 设计模式

    • 重点

  • 浏览器存储

    • session storage

    • local storage

    • cookies

    • 重点

    • 进阶

  • HTTP协议

  • 设计模式

    • 工厂

    • 单例

    • Builder

    • Adapter

    • Decorator

    • Proxy

    • Chain

    • Iterator

    • Observer

    • 状态

    • 策略

  • git 与看板看齐

  • react

    • MVC vs MVVM

    • flux单向数据流思想

    • 组件化、生命周期、高阶组件

    • 重点

  • 框架

  • Java

    • 基础知识

    • 容器

    • 并发

    • 网络IO

    • vm

    • jdk源码

    • 算法基础

  • 服务器

    • tomcat

    • nginx

  • nodejs

    • 模块化

    • 熟练api

    • 应用场景,逻辑简单、io密集、内存低、无锁、快速开发

  • Grails

    • java全家桶、约定优于配置、最佳实践

    • groovy语法、kotlin

    • gradle android也在用

    • Spring

    • Hibernate  Mybatis

    • 乐观锁、悲观锁

    • JDBC

    • SQL

  • Mysql / pg

    • RDBMS设计范式

    • 数据类型

    • 执行计划

    • 索引

    • ACID

  • mongo

    • 文档数据库,无模式,阻抗小

    • 数据类型

    • 执行计划

    • 索引

    • 应用场景

  • redis

    • kv数据库,高效

    • 数据类型

    • 数据结构和算法

    • 数据可靠性

    • 应用场景

  • egg 全家桶框架是第一生产力

    • 合理的目录结构

    • 常用的内置对象

    • 分运行环境

    • 方便的配置文件调用

    • 自定义中间件

    • restful的路由定义,适合团队协作

    • controller service经典模式

    • 插件化、模块化

    • 强大的定时任务功能

    • 方便的系统内置上下文对象的拓展

    • 生命周期的hook

    • 完整功能的单元测试

    • 日志记录功能

    • 一次构建多次部署

  • go

    • 互联网语言

    • 协程

  • docker

  • k8s

  • 集群

    • 负载均衡

    • 分布式

    • 高可用

  • 持续集成

  • 持续交付

  • 持续部署

  • DevOps开发运维

  • 微服务

  • 熟练的定义

    • java这门语言能脱离文档和IDE,顺手写出

    • jdk的源码学习过,涉及到的设计思路、算法、底层原理都了解

    • 主流框架都使用过,原理也了解,个别框架还研究过源码;要上手拓展框架功能也不慌

    • 牛逼的工具用的顺其自然,还能自己写一些工具,很有成就感

    • 具备创造性,自己研究出几个不错的思路和技巧,进行了几次分享

    • 实战了N回,遇到很多奇葩的环境和问题,都顺利解决,信心十足

    • 以上,java为例,才算熟练!其它同理

服务器程序猿路线图

  • 基础知识

    • 操作系统

    • 计算机网络

    • 算法

    • 数据结构

    • 编译原理

    1. 如何用c实现c++、如何用c实现python,如何创造脚本语言

    2. 虚拟机的作用

    3. 每个语言,编译器做了哪些工作

    1. 《算法导论》

    1. tcp udp

    2. http

    3. 网络分析工具tcpdump wireshark的使用

    1. socket api的使用

    2. tcp状态机

    3. tcp状态机与api的调用关系

    1. 《linux内核设计的艺术》

    2. 多线程、多进程

    3. 进程间通信

    4. 锁原理

    5. 文件系统

  • 编程基础

    • 理论基础

    • 实践基础

    • 架构设计

    1. 设计模式

    2. 架构模式

    1. java

    2. Grails groovy spring hibernate

    3. html css js jquery bootstrap ace

    4. typescript egret webgl websocket node.js

    1. 代码规范

    2. 代码审查

    3. 重构

  • 网络

    • DNS

    • CND

    • 带宽

    • 域名

  • linux系统(建议CentOS6)

    • 常用命令

    • 环境搭建

    • 应用安装

    • 性能监控

    • 权限管理

    • 防火墙

    • crontab

    • 日志

    1. syslog

    2. scribe

    1. screen

    2. vim

    1. 基础环境

    2. 性能分析

    3. 文件

    4. 文本处理

    5. 进程管理

    6. 用户、权限

    7. 网络

  • 数据库

    • 关系数据库

    • 文档数据库

    • keyValue数据库

    • 缓存

    • CAP理论

    • ACID理论

    1. 原子性(Atomicity)

    2. 一致性(Consistency)

    3. 隔离性(Isolation)

    4. 持久性(Durability)

    1. Consistnecy 一致性

    2. Avaliability 可用性

    3. Partition-tolerance分区容忍性

    1. memcache

    1. couchbase

    2. redis

    1. mongodb

    1. mysql

    2. mssql

    3. oracle

    4. sqlite

发表评论