Java 后端必备知识 | xiaxyun

Java 后端必备知识

Java 后端面试进阶

Java基础,核心

  • 基础知识
  • 语法、流程
  • String、数组
    • 数组初始化、二维数组
    • String字符串查找、字符串截取、字符串转字符数组
  • 核心技术
    • 接口、抽象类
    • 继承,多态,封装
    • 异常处理
    • 集合框架(源码实现)
      • List
        • ArrayList
        • LinkedList
      • Set
        • HashSet
        • TreeSet
      • Map
        • HashMap
        • TreeMap
        • ConcurrentHashMap
      • Queue
        • ConcurrentLinkedQueue
      • Stack
      • Collection的synchronizedXXX写法
    • 多线程
    • IO输入输出流

Java Web技术栈

  • SHH框架

    • Spring
      • IOC
      • AOP
      • 常用注释
    • J2EE

      • JSP+servlet
      • Struts2
      • SpringMVC
      • Spring Boot
      • Spring MVC
    • ORM框架

      • Hibernate
      • Mybatis
      • 将数据库的数据转化为Java对象
    • Shiro
    • Netty
  • 数据库

    • SQL语句
    • MySQL
    • 引擎
      • InnoDB支持事务
      • MylSAM支持全文索引
  • SQL优化
    • 分库分表
    • 索引
      • 主键索引
      • 组合索引
  • explain
  • 存储过程
  • SQL注入
    • 使用#不使用$
    • 表锁
    • 行锁
    • 乐观锁
    • 悲观锁
  • 事务隔离级别ACID
    • 原子性
    • 一致性
    • 隔离性
    • 持久性
  • Nosql
  • 分布式缓存
    • Memocache
    • Redis

      大数据

  • Hadoop
  • Hbase
  • Spark
  • Storm/jStorm

    构建工具

  • Maven构建工具
    • 管理jar包
      • pom.xml文件指定需要的jar包
  • 功能
  • 编译
  • 打包
  • 运行单元测试
  • 项目构建工具
  • Gradle

服务器

  • Tomcat
  • 应用服务器
  • web应用的运行环境
  • Nginx/Tengine(web应用服务器)
  • Git、GitHub

JavaWeb常用组件

  • 日志系统
    • log4j
  • 单元测试
    • Jnuit
  • JSON
  • HTTPClient
  • 加密工具
  • 压缩工具

Java进阶技术

  • 网络编程
    • Socket
  • 并发编程
    • Java多线程技术
    • JUC包里的并发类
  • 线程池
    • 参数设置
      • corePoolsize
      • maximumpoolsize
      • BlockingQueue《Runnable》 workqueue
      • RejectedExceptionHandler handler
    • 原理
    • 拒绝策略 Handler
      • CallerRunsPlocy 直接运行run方法,执行自身的run方法
      • AvortPolicy 抛出异常,丢弃任务
      • DiscardPlocy 直接丢弃
      • DiscarOldestPolicy 抛弃最老的线程,位于队列头的任务会被删除
    • 并发工具类
    • 阻塞队列 workqueue
      • 直接提交
      • 无界队列linked 各个任务相互独立
      • 有界队列 防止资源耗尽
  • 数据结构
    • ConcurrentHashMap
    • CoincurrentLinkedQueue
  • 并发工具
    • CountDownLatch
    • Semaphore
    • CyclicBarrier
    • Exchanger

JVM

  • 类加载机制
  • 内存模型
  • GC机制
    • 回收算法
    • 垃圾收集器
  • 调优
  • 工具
    • jstack
    • jmap
    • jconsole

设计模式

  • 工厂模式
  • 代理模式
  • 门面模式
  • 观察者模式
  • 责任链模式
  • 适配器模式
  • 装饰者模式
  • 单例模式

后端进阶技术

  • 分布式
    • 负载均衡
    • 分支主题
    • 分布式缓存
  • 缓存
  • 消息队列
    • kfaka
  • 远程调用RPC
    • RMI
    • Thrift
    • Dubbo(DubboX)
  • 服务治理,也可作为微服务
    • gRPC

Docker

  • 进程级别的隔离机制
  • 集群规模数万台
  • 本身不是容器,而是创建容器的工具
  • 搭建一次,到处可用
  • 核心技术
    • 镜像Image
    • 容器Container
    • 仓库Repository
  • 基本组成
    • Docker Client
  • 客户端
    • Docker Daemon
  • 守护进程
    • Docker Images
  • Docker镜像
    • Docker Registry
  • 镜像的仓库
    • Docker Container
  • Docker容器

Linux与项目部署

  • 基本命令
  • Shell脚本
  • 内核相关知识

中间件与系统拆分

系统架构

  • 系统设计,拆分系统,小模块
  • 预估时间
  • 考虑后期维护与升级
  • 性能优化

本文标题:Java 后端必备知识

文章作者:Xiaxyun

发布时间:2019年08月28日 - 21:08

最后更新:2019年08月28日 - 23:08

原始链接:https://xiaxyun.github.io/2019/08/28/Java-后端必备知识/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------