很多面试,很多人员能力要求都有“Java高级工程师的字眼”,如果您真心喜欢Java,并且您刚起步,那么我今天简单分享一个Java高级工程师所应该具备的特质,希望能给你带来帮助。
1、先自我介绍
2、什么是多态?哪里体现了多态的概念?
3、HashMap 源码分析,把里面的东西问了个遍?最后问是不是线程安全?引出 ConcurrentHashMap
4、ConcurrentHashMap 源码分析
5、类加载,双亲委托机制
6、Java内存模型(一开始说的不是他想要的,主要想问我堆和栈的细节)
7、垃圾回收算法
8、线程池,自己之前看过,所以说的比较多,最后面试官说了句:看你对线程池了解还是很深了
9、事务的四种特性
10、什么是死锁?
11、乐观锁和悲观锁的策略
12、高可用网站的设计(有什么技术实现)
13、低耦合高内聚
14、设计模式了解不?你用过哪几种,为什么用,单例模式帮我们做什么东西?有什么好处?
15、你参与什么项目中成长比较快?学到了什么东西,以前是没有学过的?
16、项目中遇到的最大困难是怎样的?是怎么解决的?
17、智力题(两根不均匀的香,点一头烧完要一个小时,怎么确定15分钟)
18、你有什么问题想要问我的?
19、问了菜鸟网络他们部门主要做什么?
20、登录从前端到后端整个过程描述一遍?越详细越好,说到密码加密,网络传输,后台验证用户名和密码,Cookie 设置等。具体问我密码加密是前台还是后台加密,说了在后台加密?面试官说,那你做这个项目有什么意思?密码传输都是明文的,默认 HTTP 传递是明文传输,当时被面试官带进前台加密还是后台加密的沟里去了,没想到用 HTTPS ,后来后来的路上查了些资料才知道的,面试过程中他很想我说前台加密,但是前台加密算法那代码就摆在那里,很容易就给破解了吧,也没给点提示说 HTTPS,我只好投降
21、写一个查询的 sql 语句
22、线程同步的方法?Synchronized、Volatile、(面试官好像觉得 Volatile 不可以做到同步,我和他说了半天的 Volatile 原理 ,他竟然不认同,我开始怀疑他的实力了)、ThreadLocal、Atomic。
说到这些了,我当时竟然没把他带进我我给他挖的坑里去(线程池,之前好好研究过呢,可惜了)
23、Spring IOC 和 AOP 的理解?叫我写 AOP 的代码,我没写
24、JDK 动态代理和 Cglib 代理区别?
25、你觉得项目里面你觉得哪些技术比较好?我指了两个,然后他也没有问下去。
26、解释下 XSS 攻击
27、Spring 和 SpringBoot 的区别?
28、JVM 垃圾回收算法?分代中为什么要分三层?
29、OOM 是什么?什么情况会发生?
30、你觉得你有啥优点?
如何系统学习,让你月入30K?
主要用到的技术栈
关注我:私信回复“架构资料”获取往期Java高级架构资料、源码、笔记、视频
Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、
高并发等架构技术,获取以上资料
面试大公司基本都会问的技术,也是大公司经常用到的一些技术
性能调优
性能优化如何理解
- 性能基准
- 什么是性能优化
- 衡量标准
JVM调优
- jvm虚拟机的内存解析
- 垃圾收集器
- 实战调优案例与解决方案
- JVM运行时区
Java程序员性能优化
- 优雅的创建对象
- 注意对象的通用方法
- 类的设计陷阱
- 泛型需要注意的问题
- java方法的那些坑
- 程序设计的通用规则
Tomcat
- 线程模型分析
- 生产环境配置及调优
- 运行机制及框架
Mysql
- 探析BTree机制
- 执行计划深入分析
- Mysql索引优化详解
- 慢查询分析与SQL优化
应用框架源码解读
- Spring IOC
- Spring Aop
- Spring MVC
- Spring5的新特性
- Mybatis
Spring IOC
- SpringFrammework体系结构
- 源码分析
- BeanFactory源码分析
- BeanDefiniton源码分析
- Bean生命同期
- 依赖实现
Spring Aop
- Aop源码分析
- transaction事物分析
- Springcache框架源码分析
Spring MVC
- MCV简介与设计思想
- SpringMVC组成
- 源码解读DispatchServlet
Spring5新特性
- 容器增加
- 函数式编程
- webFlux模块介绍
- kotlin介绍
- Testing改进
- 兼容性问题
Mybatis
- mybatis组成
- 核心源码分析
- 手写Mybatis
分布式架构
互联网分布式架构是非常重要的一个技术,基本上所有的大公司都会用分布式
分布式架构思维
- 大型互联网架构演进过程
- 架构师应具备的分布式知识
- 主流分布式架构设计详解
架构开发基础
- 多线程开发
- 高性能NIO框架
架构核心服务层技术
- 服务的前世今生
- 深入理解通讯协议
- 基于 分布式RPC解决方案
- dubbo全解析
架构关键基础设施
- 分布式环境指挥官zookeeper
- 分布式消息通讯异步与MQ
- 分布式缓存
- 数据存储SQL&NoSQL
- 高并发分流技术Nginx
分布式解决方案
- 分布式解决方案
- Session跨域共享实战
- 分布式事物解决方案实战
- 分布式锁解决方案实战
- 分布式单点登录实战SSO
- 分布式调度任务系统
- 分布式配置中心
微服务架构技术
微服务这块应该不用多说了,知道微服务技术的至少能多加5k薪资
- SpringBoot
- SpringCloud
- Docker虚拟化技术
SpringBoot
- 与微服务的区别于联系
- 快速构建SpringBoot工程
- SpringBoot核心组件剖析
- 快速集成mybatis实战
- 快速集成Dubbo及案例实战
- 构建集成 redis及案例实战
- 构建Swagger插件实现API
- 管理及接口测试体系
SpringCloud
- Zuul路由网关详解源码探析
- Ribbon客户端负载均衡原理
- Feign声明式服务调用方式
- Eureka注册中心构件
- Config配置服务中心
- svn、git快速集成
- Sleuth调用链路跟踪
- BUS消息总线技术
Docker虚拟化技术
- 介绍、安装与使用
- compose部署脚本
- service服务编排
- redis分布式集群部署
- docker file构建
- 通过maven插件打包镜像
- 部署及运行应用程序kubernetes编配
- 构建Mysql集群实战
- 高可用SpringCloud微服务与docker集成实现动态扩容实战
团队协作开发
这个是常用的开发工具类的,提升团队效率
- Git
- Maven
- Jenkins
- Sonar
老师你列举这么多有么有实战呢?
当然有啊!