文集前言

这次以准备蚂蚁面试的形式梳理知识树,并mark下

1、剽窃的知识树(转自支撑一亿人

知识树大纲.png

PlanX

# 2、Plan x(转)

要求:

1\. 扎实的JAVA基础,掌握JVM、并发编程、网络编程等基础知识;熟悉单元测试、WEB开发、数据库等基础技术。

2\. 熟悉Spring、SpringMVC、iBatis或其他主流开发框架;掌握常用数据结构、常见设计模式,拥有领域模型抽象能力。

3\. 具备大型网站核心开发、设计经验者优先;熟悉分布式系统设计、SOA、消息队列、缓存等技术者优先。

4\. 有强烈的技术热情和钻研精神,热爱新技术;有独立、主动的学习习惯和良好的沟通表达、团队协作能力。

5\. 具备较强的业务理解及业务抽象能力,能够快速从业务需求中找到技术设计的场景,有较强的业务sence。

6\. 要求3年以上开发经验,并对某一个或多个领域有较深入研究。

### Java基础

面试的目的不是为了看候选人懂多少技术,最基础的东西,往往反映的就是一个人学习的态度,是否沉得下心来,在平时工作之余了解下自己为什么这样写?

基础好的人,才能更容易应对上层复杂难题。

*   集合:Arrays.asList。List.subList。HashMap实现原理,ConcurrentHashMap实现原理
*   多线程:线程池执行原理,volatile和synchronized。线程的状态切换,线程池中工具类
*   额外:java正则,加密模块,反射
*   常见排序算法,之间的区别

### JVM

Java进阶部分内容,高级开发必备知识,如果连JVM都不了解,那么开发时确实学习主动性不够。

*   类的加载机制 :加载、链接(验证、准备、解析)初始化、使用、卸载。类加载器分类及其应用程序类加载器、自定义加载器。
*   jvm内存结构:程序计数器、堆、虚拟机栈、本地方法栈、方法区(Java8已移除)、元空间(Java8新增)的作用及基本原理
*   GC算法: 垃圾回收。对象存活判断
*   GC分析 :命令调优 JVM内存参数设置及调优

### 存储

#### MySQL

*   理解至少两种数据库引擎(Inndb/Mysiam)的差异性
*   熟悉索引的内部数据结构,熟悉常见的索引方式(Btree,hash),和索引类型(unique,full text,normal)
*   会使用explain分析SQL语句,会优化SQL语句
*   熟悉一种NOSQL,知道内部实现原理(内部数据结构,在算法优化,内部机制)
*   掌握分布式数据库的知识,分表,分库,分区,分布式事务等,可以学习一个数据库中间件(TDDL/COBAR)熟悉高并发、大数据情况下的数据库开发。

#### Redis

*   Redis支持的数据类型,使用过这些数据类型做过什么
*   redis的数据淘汰策略
*   Redis的持久化机制,AOF及RDB
*   Redis哨兵原理
*   缓存穿透,缓存雪崩及如何处理

### 框架

*   认真看过SSM框架中的那部分知识点,能不能说下其中的内容?
*   IOC和AOP,AOP实现原理?
*   事务实现原理?  涉及到那些关键的类
*   自定义Spring Boot starter
*   MVC请求流程

### 分布式

*   分布式系统包含那些组件,常见的组件替换关系,用过那些组件
*   常见的分布式协议
*   如何自己设计一个RPC框架

### 额外

*   测试框架
*   高并发框架
*   平时是如何解决问题的?
*   平时是如何学习的?

作者:Real_man

链接:[https://www.jianshu.com/p/c01ae208c927](https://www.jianshu.com/p/c01ae208c927)

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容