古人有句话语,说得好面试中7分靠能力,3分靠嘴皮
前几天面了一位91年的java架构师,他工作 8 年,5年java后端开发经验,从事架构设计只有短短 3 年时间,上份工作已经10万月薪了。但让我惊讶的是,他对架构设计的理解深度与广度,远在很多经验丰富的“老江湖”之上,并且已经完全形成了一套自己的方法论!
话说回来,那个小伙子要100k真一点也不多,现在高阶架构师这么缺,到哪他都抢手。
和他聊完后,我忍不住开始思考一个问题:为什么相同的工作经验、差不多的履历背景,人与人之间的差距,比人和猩猩的差距还要大?
年薪上百万的架构师和月薪 40K 的架构师差距到底在哪?
先说结论:差距不是一点半点。
在我的认知中,架构师的能力等级,可以粗略地划分为 3 个段位:
第一阶段:照搬照套已被检验过的成熟架构体系,小改小动调整一下,基本上完全按照别人的设计思路走,只进行迭代。
第二阶段:有初步的架构设计思路,并且具备按计划实施落地的能力,但基本只聚焦当前业务模式,很少为未来进行预判架构设计。
第三阶段:已经形成一套自己的架构设计方法论,不论面对什么业务、什么场景、什么需求,都能高效地给出优雅的架构设计方案。
如果你还停留在前两个阶段,那么你的架构思维很有可能还没被启蒙,你的百万年薪之路正在等你开启,所以说,到了真正高阶段的面试,聊的都是思维。
当然,现在大多数人依然停留在开发阶段,成长的路还长着呢,想要朝着这个方向进阶的朋友,首先的把基础打好。
一:Java开发介绍
- DOS常用命令
- JVM、JRE、JDK之间的关系
- Java开发环境的搭建:安装JDK,配置环境变量
- Java入门程序(Java的开发流程)
- Java的注释,标识符、标识符的命名规范
- Java基本数据类型
- 变量和常量的定义及初始化
- Java的运算符
- 运算符的优先级
- Java分支语句之if...else
- 循环的嵌套
- 方法的定义
- 方法的形参和实参
- 方法的递归调用
二、Java数组
- Java 数组的定义
- Java 数组的声明
- 数组的优势与局限
- 数组的遍历访问(普通循环,增强for循环)
- 数组元素的顺序查找
- 数组元素的冒泡法排序
- Arrays工具类的使用
- 二维数组
三、Java面向对象
- 面向对象设计思想
- 面向对象的分析与设计
- Java与面向对象
- 类中成员变量的定义与意义
- 构造方法的定义和调用
- 面向对象的封装特性
- 局部变量和成员变量的作用域问题
- 静态属性、静态方法、静态代码块
- 面向对象的继承特性
- 继承中构造方法的细节
- 面向对象的多态特性
- 抽象方法与抽象类
- 接口
四、异常
- 异常的概念
- 异常的分类
- 异常的理解
- 常见异常介绍
- 运行时异常
- 编译时异常
- 运行和编译异常区别
- 异常的处理方式之捕获异常
- 异常的处理方式之抛出异常
- 异常的处理方式之断点调试
- 断点调试之引导运行步骤
- 自定义异常
- 异常关键字处理
- 关键字执行流程
- 异常总结
五、集合
- 集合的概念和作用
- 集合和数组的区别
- 集合框架体系介绍
- 集合框架之Collection接口
- ArrayList和LinkedList的方法使用
- ArrayList和LinkedList各自的工作原理分析原理分析
- 使用多种方式遍历集合
- HashSet和LinkedHashSet各自的工作原理分析
- 集合框架之Map接口
- 泛型的使用
- Collections工具类的使用
六、IO流
- File类的作用
- File类中常用方法的使用介绍
- 使用File类操作文件和文件夹
- 相对路径和绝对路径的介绍
- IO流的概念和工作原理
- IO流的分类
- 文件流的使用
- 转换流的使用
- 缓冲流的使用
- 对象流的使用
- 内存流的使用
- 使用不同的流实现文件内容的拷贝
七、多线程
- 进程和线程的介绍
- 进程和线程之间的区别与联系
- 线程实现方式之继承自Thread类
- 线程实现方式之实现Runnable接口
- 线程实现方式之线程池
- 线程的生命周期
- 线程中常用方法的使用
我把一些常用Java工具包的思维导图做了汇总,持续更新中,方便读者查阅。
好了,本文就写到这了,上述所有题目的答案我都整理成PDF了