简历技术亮点可以这样写(java高级开发25k--32k):
具备扎实的java基础,熟练掌握javaIO流,集合,多线程,反射,泛型,注解,网络编程等基础开发技术。
熟练使用常用的java集合以及常用集合的源码,熟悉多线程以及并发容器的使用。比如CAS,AQS,Lock,Volatilte,Synchronized等。
熟悉常用的设计模式,常见的算法以及常见的数据结构,熟悉HTTP协议,TCPIP协议,OAUTH2协议等。
深入理解Spring,Spring MVC,Mybatis等开源框架的设计原理以及底层架构,研究过部分核心源码,具备一定的框架定制开发能力。
深入理解Spring Boot,Spring Could,Dubbo等开源框架的设计原理以及底层架构,研究过部分核心源码,具备一定的框架定制开发能力。
深入理解Redis线程模型,熟悉掌握redis核心数据结构的使用场景,熟悉多级缓存架构,熟悉各种缓存高并发的使用场景。比如,热点缓存重构,缓存雪崩,缓存穿透,缓存失效。
熟悉常见消息中间件的使用,解决过各种消息通讯场景的疑难问题。比如,消息丢失,消息重复消费,消息顺序性,大规模消息积压问题。
对于各种高性能IO通信模型以及相关开源组件Netty等源码有过深度研究,熟悉Netty线程模型,熟悉百万级并发服务器架构的设计。
深入理解JVM底层原理,JMM内存模型,垃圾回收机制,GC算法,熟悉JVM各种垃圾回收器的使用以及核心参数调优,有过一定JVM线上调优经验,对JVM调优有自己独到的见解。
在项目中解决过各种分布式场景的技术难题,比如分布式锁,分布式事务,分布式Session,分布式任务,分库分表。
反例:
基础技能:
- 有扎实的 Java 语言基础,熟读阿里巴巴开发手册,有良好的代码编写习惯
- 掌握常用 IDE 开发工具 IntelliJ IDEA、XShell、EZDML等软件使用
框架技能:
SSM框架,SpringCould全家桶框架,SpringBoot+Mybatis框架,Spring+Dubbo+ZK框架,Spring+SpringMVC+JDBC框架(目前所在公司使用的框架)
在公司有过一段使用Struts2+Spring+Hibernate框架做后台的经历(很老的架构了,现在基本都没用了)
数据库:
使用过MySQL、SQL Server关系型数据库
使用过MongoDB非关系型数据库
SQL 语句优化
前台技能:
使用过的前端技术有 AngularJS、JQuery、JS、Ajax、Jsp、Servlet、Html、Css、Xml、Bootstrap、Easyui、Layui。
其他技能:
熟悉 CentOS 7,熟练使用 Linux 常用命令以及各种中间件的安装,Nignx集群搭建等、Docker部署项目
使用 Fastdfs、ActiveMQ、RabbitMQ等中间件
使用项目管理SVN、Git 以及 GitHub、GitLab进行代码托管、禅道,Jenkins自动化部署
使用 Thymeleaf、FreeMarker 模板引擎技术做SEO推广
使用 Redis 缓存、Elasticsearch全文搜索
理解 GC 算法、JUC并发包、线程池、jvm 常用调优、高并发、高可用、集群、分布式、负载均衡策略
架构能力:
可独立搭建基于SpringBoot+Mybatis框架、 SSM框架
可独立搭建基于Nginx和Zookeeper实现Dubbo 的SOA分布式服务架构
可独立搭建基本SpringCould微服务架构下的分布式架构
支付相关:
有过支付宝Native、JSAPI支付相关经验
有过微信Native、JSAPI、MWEB支付相关经验
但是这样写感觉不够高级,写的东西太多也太乱,无法指引面试官问我已经准备好的面试题,这个就相当于面试官随意的问了,这么写没意义,所以我需要把面试题提前准备好,按照准备的面试题改造技术亮点。
比如现在要面试(java中高级开发),期望薪资是18k,准备的面试题如下:
HashMap底层原理,扩容机制,jdk8以后会使用红黑树优化?红黑树和二叉平衡树的区别,红黑树和B树,B+树的区别,Mysql二大引擎索引底层实现,HashMap在多线程环境中为何出错,
ConcurrentHashMap底层实现,CAS,原子引用,ABA问题,volatile,如何解决HashMap出现的OOM问题?(WeakHashMap)
什么是Spring IOC,Spring AOP?应用场景有哪些?数据库事务隔离级别,MySQL默认的隔离级别、Spring如何实现事务、传播行为,分布式事务实现,分布式事务的四种解决方案,CAP,BASE
Spring Bean的作用域和生命周期,Spring常用注解
23种设计模式
公平锁,非公平锁,可重入锁,递归锁,自旋锁,读写锁,悲观锁,乐观锁,行锁,表锁,死锁,分布式锁,线程同步锁,排它锁,共享锁,Synchronized,Lock等
幂等性实现,单点登录,金额篡改问题
JVM算法,堆溢出,栈溢出,JMM内存模型,垃圾回收机制,垃圾回收器,参数调优,双亲委派机制
线程池实现原理,七大核心参数,JUC并发包:信号灯,循环栅栏,倒计时器,集合类常见并发修改异常
SpringCould组件说七八个
Dubbo底层运行原理,支持的协议,支持的负载均衡策略,Zookeeper底层原理,Spring MVC工作原理,Mybatis框架优点
Redis缓存数据结构,数据同步问题(双删策略),缓存雪崩,缓存穿透,热点缓存重构,缓存失效,哨兵机制,持久化
Sql优化,索引限制条件,存储过程限制条件
消息丢失,消息重复消费,消息顺序性,大规模消息积压问题,几种消息队列的区别
Linux常用命令,生产环境服务器变慢诊断,线上排查,性能评估
那么技术亮点应该如何写呢?
熟练掌握常用的java集合以及多线程并发环境下集合类出现的并发修改异常。比如,写时复制,CAS,ABA,Volatilte等。
熟练掌握线程池底层实现原理并可根据实际业务场景配置合理的线程数以及拒绝策略。
深入理解MySQL底层索引数据结构,B+ tree索引特点以及数据库事务的隔离级别。
深入理解JVM底层原理,JMM内存模型,垃圾回收机制,GC算法,熟悉JVM各种垃圾回收器的使用以及核心参数调优。
熟悉掌握Redis数据结构的使用场景,熟悉Redis缓存高并发的使用场景。比如,缓存雪崩,缓存穿透。
熟悉常见消息中间件的使用,解决过各种消息通讯场景的疑难问题。比如,消息丢失,消息重复消费。
熟练掌握JUC并发包,比如:循环栅栏,信号灯,倒计时器等。
在项目中解决过各种分布式场景的技术难题,比如分布式锁,分布式事务。
熟练掌握spring,spring mvc,mybatis,spring boot等开源框架。
深入理解spring could,zookeeper,dubbo等开源框架的底层架构。
熟练掌握Linux常用命令,生产环境服务器变慢诊断,线上排查,性能评估。
这个基本上是不是有一种按照你写的技术亮点来问的冲动,基本上你只要提前准备好这些答案,在面试前自己花一二天把这些东西自己背一遍,可以强行突击一下。时间充分的同学,建议可以去b站搜索相关的视频深度的理解。