Java 简历优化及注意事项
- 前言
- 1、自我介绍
- 2、掌握技术技能
- 3、项目经验
- 4、项目必问的细节点:
- 5、项目中的难点以及优化改进点
- 6、获奖经历
- 7、面试注意事项
前言
最新的 Java 面试题,技术栈涉及 Java 基础、集合、多线程、Mysql、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux…等等,会持续更新。
如果对老铁有帮助,帮忙免费点个赞,谢谢你的发财手!
1、自我介绍
- 六年以上大型互联网电商与金融项目研发经验
- 对大型互联网电商的后端架构和整体业务有深入的理解
- 三年以上团队研发管理经验,对分布式,高并发,高可用,微服务架构设计有深度理解
- 曾负责过注册用户上亿,日活近500万的电商平台的架构设计与研发
- 对IT技术有较浓厚的兴趣,喜欢跟踪与钻研新技术以及底层实现,有深入研究过Spring以及Spring Boot,Dubbo,Netty等开源框架的源码。
2、掌握技术技能
1、JVM+Mysql优化+并发+Redis+网络与IO+MQ+Netty+设计模式
2、Spring源码+JDK源码+Linux+操作系统项目(应届生更看重基础,死磕Java)
3、分布式架构:分布式Session、分布式事务、分布式锁、RPC调用、接口幂等性,分库分表
4、微服务:
Spring Cloud:Gateway,Eureka,OpenFeign,Ribbon
Spring Cloud Alibaba:Nacos,Dubbo,Sentinel,Seata
- 1、Java基础扎实、掌握JVM原理、多线程、网络原理、设计模式、常用数据结构和算法、
设计模式 - 2、深入理解spring,spring mvc mybatis等开源框架设计原理及底层架构,研究过部分核
心功能源码,具备一定的框架定制开发能力 - 3、深入理解Redis线程模型,熟练掌握redis的核心数据结构的使用场景,熟悉多级缓存架
构,熟悉各种缓存高并发的使用场景,比如缓存雪崩,缓存穿透,缓存失效,热点缓存重建
等 - 4、熟悉常见消息中间件的使用,解决过各种消息通信场景的疑难问题,比如消息丢失、消
息重复消费,消息顺序性,大规模消息积压问题 - 5、对于高性能IO通信模型以及相关开源组件Netty等源码有过深度研究,熟悉Netty线程模
型,熟悉百万级并发服务器架构设计 - 6、深入理解JVM底层原理,熟悉JVM各种垃圾收集器的使用以及核心参数的调优,有过一
定的JVM线上调优经验,对JVM调优有自己独到见解 - 7、深入理解spring boot,spring cloud,dubbo等微服务框架的设计原理及底层架构,
研究过核心源码,熟悉各种微服务架构场景设计,比如服务注册与发现,服务限流、降级、
熔断,服务网关路由设计,服务安全认证架构 - 8、在项目中解决过各种分布式场景的技术难题,比如分布式锁,分布式事务,分布式
session,分布式任务,海量数据的分库分表。
要引导面试官发问
3、项目经验
- 1)做过类似电商项目
- 2)没做过类似电商项目,银行内部项目,OA,ERP,内部管理系统,
想下自己做过的项目如果压力暴增100倍,现有系统是否能抗住,如果扛不住应该怎么优
化,用哪些技术,试着把我们教大家的实战项目里的技术用上去,然后这些就是可以写到简
历上的点,JVM以及Mysql的优化 - 3)如果实在用不上去,就直接说之前有跟朋友兼职做过什么系统类似的,这种系统压力一
般不会太大,可以在系统优化上写,比如把gc的次数和时间由多少优化到了多少,把qps之
类的由多少优化到了多少
4、项目必问的细节点:
- 1、项目大体情况
- 2、项目软硬件技术架构
- 3、项目大体规模,多少人参与,并发量与数据量多大,你在其中的角色:
1)gateway:8核16G,抗每秒2000+请求,32核64G可以抗住每秒上万请求,支撑1万+请求,5台8核16G,支撑10万+请求,10台32核64G
2)web服务:这个得根据业务的复杂度来看,一般就单台几百到几千的并发
3)缓存redis:单台几万的并发,要么用集群架构可以到几十万并发
4)数据库:正常8核16G扛个大几百并发问题不大,如果并发提高10倍到四五千,要么分库分表横向扩容,要么增大机器配置,比如32核64G高配物理机,扛个五六千并发问题不大
5)线上实时QPS等性能指标计算 - 4、项目的分布式,缓存,消息,高可用,调优,性能监控
拿秒杀下单核心链路举例,看下各环节做了哪些事情,为了解决什么问题
1)缓存
缓存架构
缓存穿透,雪崩,失效
2)消息
消息中间件选型
消息服务高可用
消息重复消费
丢消息
消息积压
3)分布式
为什么要分布式,微服务
注册中心用的什么,服务注册与发现原理是什么
注册中心如果出问题或挂了怎么办,服务之间还能继续通信吗
微服务之间调用负载均衡策略有哪些
超卖问题的分布式锁实现原理,redis与zk实现优劣对比
分布式session怎么做的
核心交易链路分布式事务
分库分表,全局序列id方案
4)高可用
核心服务链路的限流熔断降级
服务雪崩,资源隔离
5)调优
JVM,Mysql,Redis,分布式,微服务分布式中间件的参数调优等
6)服务监控
5、项目中的难点以及优化改进点
- 分布式锁高并发优化
- 缓存与数据库双写不一致
- 消息积压处理
- 消息莫名丢失
- 降级操作的数据补偿
- 服务扩容
- 核心服务全链路保证高可用
- 复杂业务设计(DDD架构)
6、获奖经历
面试之前充分了解公司,面完通过最好问下公司的技术栈之类的,试着加下面试官的微信保持联系
建议准备充分,如果没有准备充分不要随便乱面试,大厂的招聘是长期招的
7、面试注意事项
- 1、针对个别大厂简历可以一对一投,根据大厂招聘要求写对应的简历
- 2、大专的同学有机会补学历
- 3、面试机会跟技术水平没关系,只跟简历有关,先写牛逼简历,再按照简历的上的内容快速补,简历上贴一张p过的形象气质佳的照片
- 4、面试失败不要气馁,面试有不少运气成分,多试
- 5、上午9点左右投简历
- 6、简历标题言简意赅 5年Java开发应聘架构师
- 7、面试第一印象很重要,管理好自己的形象,认真对待每一次面试
- 8、收到几家offer邀请,如果有犹豫的,不管那么多,都先答应下来,确定选择后主动去联系回绝其他公司
- 9、离职空窗期,说创业,说下创业的感受