1.项目:在校、实习过程中做的项目,业务目标、过程、结果、遇到的问题、如何解决、解决后的结果
2.架构:对业务系统的模块化理解,每一层每个模块的职责
3.分布式:paxos、raft;再看一下zookeeper原理和源码
4.OOD:SOLID原则,24种设计模式
5.基础算法&数据结构:刷LeetCode
6.Java基础:
LinkedList、ArrayList区别
HashMap原理,与ConcurrentHashMap的区别
线程池原理
Spring IOC&AOP原理
ThreadLocal使用场景和原理
JVM内存模型
CAS的原理
并发
Dubbo框架原理
IO/NIO原理及区别
JVM GC算法
ClassLoader的加载机制
数据库事务ACID,各事务级别的差异
------------------------------------------------------------------------人工分割 ---------------------------------------------------------------------------------------
1,操作系统。尤其是内存/线程/进程方面
2,计算机网络协议,重点关注 TCP/UDP/HTTP。
3,数据结构与算法。
4,数据库,这一部分倒没怎么问我。不过资料显示数据库通常考察以下几点 1) mysql存储引擎中索引的实现机制;2)数据库事务的几种粒度;3).行锁,表锁;乐观锁,悲观锁。
5,设计模式,熟悉常用的几种设计模式就行。
6,Java语言基础。熟悉java语言基础,了解JVM、内存模型,重点考察面向对象、集合框架(继承关系,实现原理)、异常体系、IO体系、并发集合、多线程。熟悉多线程编程/并发/线程安全明显可以加分。
7,J2EE,熟悉Spring/Spring MVC , ORM什么的吧。看过源码,了解原理之类的也明显可以加分。
8,Linux,熟悉基本的linux命令就行吧 - -
9,自己做的项目。