评分比重
- 计算机基础 50%
- 考察知识的广度和深度,能否举一反三
- 项目经验 50%
- 考察复杂工程能力,最能体现技术能力的项目
- 业务和技术结合,通过什么技术解决了什么业务问题
- 项目难点,遇到的挑战,如何解决
面试题目Outline
基础问题
Java基础
- 语法
- java线程安全
- 操作系统基础
- jdk集合类
- JVM内存模型
- 数据库事务
算法
- 排序
- 动态规划
- …
技术广度
GO,Docker,JDK8,Service Mesh,区块链等
技术深度
- JDK源码
- 类实现原理
- 类加载原理
- HTTP协议
- TCP协议
- 一致性HASH
- IO和NIO、NIO优点
- Java线程池原理
- HTTP连接池原理
- 数据库连接池原理
数据库理论
- 索引
- 原理
- 优缺点
- 如何设计索引
- 索引优化
- 数据库事务
- 分库分表(框架、策略)
分布式理论
- 分布式事务
- 分布式锁
- 消息一致性
- 负载均衡
- PAXOS协议
中间件&技术框架
- 是否阅读过开源框架源码
- Redis
- Netty
- Spring相关
- 消息中间件实现原理
- 缓存
- 负载均衡
- Zookeeper原理
架构设计
- 高可用系统
- 设计模式
- 抽象能力
- 业务架构设计
开放性问题(实战能力)
- 线上问题处理
- 内存泄漏如何排查
- 数据库性能瓶颈在哪,如何进行性能优化
- RPC框架如何实现
- 大数据场景
- 如何实现秒杀系统
软能力
- 如何实现秒杀系统
- 学习能力
- 规划能力
- 项目管理能力
- 职业规划