Java研发
- 算法和数据结构基础
- 数据结构:数组,链表,哈希表,堆,队列,栈,二叉树,B树/B+树,红黑树,图(研发问图不多)
- 常见的排序算法(冒泡,插入,快排,堆排,归并排序...)
- 简单的动态规划问题(背包,上楼梯)
- 各种时间空间复杂度分析
- Java 基础
- 最基本的语言基础:语法,关键字含义,面向对象....
- 集合类(ArrayList, HashMap, ConcurrentHashmap...等等)
- 多线程(锁,CAS,线程池,concurrent 包下的类)
- 语言特性:反射,动态代理,泛型,Java 8 新特性
- IO (装饰器模式,NIO)
- JVM:内存模型,垃圾回收,类加载机制
- Java Web
- Tomcat,Servlet,JSP,Cookie/Session 等基本概念
- 框架使用和原理:Spring(AOP,IoC),MyBatis 等
- 数据库(主要是 MySQL)
- 基本 SQL 语句,索引优化
- 存储引擎(InnoDB,MyISAM),索引原理
- 事务 ACID,隔离级别
- 分库分表,主从复制,读写分离
- 计算机网络
- OSI 7 层模型和 TCP 4 层模型
- 传输层:TCP/IP 相关知识,和 UDP 比较
- HTTP 协议:报文结构,POST/GET 方法
- 网络编程 (socket, NIO, select 等)
- 操作系统
- 基本 Linux 的操作指令
- 进程/线程比较,进程间通信方式,P/V 操作
- 磁盘调度,虚拟内存
- 死锁,中断