一份个人简历,大四提前一年出来实习,在12306。
2020年毕业,开始第二份正式工作。
从大学毕业,只是我学习之路的刚刚开始。
简历所写的内容都是真实的,一点水分没有。
欢迎拍砖,希望大家能够针对我的简历,提出一些意见。
深耕Elasticsearch,网关,JVM虚拟机,spring源码,多线程以及线程安全。
最感兴趣的是k8s,以及服务网格。这会是未来的学习方向。
个人意愿:经过一年半的对es的摸索,深入学习es,包括查看源码。未来想要到更大的平台做es搜索相关的内容。追求极限的写入,追求超大规模的集群,愿意去攻坚超大体量数据检索问题。
所以想要认识更多有相同意愿的人,想要到更大的平台中去,能够集思广意,一起去追求极限,突破极限。
第一版
执意把内容压缩到一页,但是随着做的东西太多了。一页真的放不下了,下边还有第二版。
第二版
本来是pdf,但是截图太丑了,直接把内容粘贴过来吧!第二版有三页内容,粘贴到这里格式已经没了。可以保证简历没有半点水分。
Java开发工程师-个人简历
个人基本信息
姓 名: 张帅星 学 历: 本科
性 别: 男 专 业: 计算机科学与技术
出生年月: 1996-11 教育经历:2016.09-2020.06
联系方式: 156-2147-3202 E-mail: freeangus@163.com
成 绩:TOP 10 %,两个学年获得校级二等奖学金
CSDN博客:Angus_水的精神_CSDN博客-开发经验,Elasticsearch,在人间凑数的日子领域博主
掌握技能
- Java基础扎实,具备并发编程经验,熟悉JMM、线程通信线程安全、锁、原子类、阻塞队列、并发容器、线程池原理。清楚并发内容的实现原理。阅读过部分JDK源码。
- 深入了解JVM虚拟机:内存模型、GC、垃圾回收算法、以及垃圾回收器(包括G1)。具有线上调优经验,熟练使用调试工具arthas,Jprofile。
- 熟练使用springboot、spring、springMVC、mybatis框架,并且对spring框架源码有学习了解。
- 熟悉微服务架构,dubbo 以及springCloud体系。
- 对Elasticserch,logstash,Filebeat,kibana 熟悉。了解es读写原理,底层存储原理(lucene)。
- 深入了解Elasticserch集群规划,具有es调优经验,阅读过部分源码,例如es中线程池、读写过程。
- 深入了解网关技术,独立构建业务网关。使用gateway、nacos,sentinel。
- 改造过阿里限流组件sentinel源码,具备一定的源码阅读能力和改造能力。
- 熟悉Mysql存储引擎,索引,有sql调优经验,熟悉分库分表,熟悉 ShardingSphere
- 熟悉redis应用场景,维护了redis高可用集群。
- 熟悉MQ使用场景,熟练使用kafka,用作内外网穿透,作为数据中转,解决上下游速度不匹配问题。
- 熟练使用Docker容器化技术、了解k8s。
- 合理使用开发规约,写出简洁的代码。重构相关知识有所掌握,有过项目重构的经验。
- 熟悉设计模式,有在工作中使用,来提高程序可扩展性和可维护性。
- 熟悉linux环境,熟悉linux常用命令,熟悉shell脚本,维护搭建了十五个节点的Es集群。
- 具备从官网以及社区快速学习掌握生产技能的能力。
- 具备一定的文档编写能力,PPT汇报能力。两个软著。
工作经历
时间:2020.05 ~至今(一年)
单位:中国科学院信息工程研究所
职级:入职T2,现在T4(第一次评级,跨级升至T4)
项目经验
中科院 十四亿级别物联网资空间测绘系统
功能模块:14亿物联网资源检索引擎子系统、业务网关子系统、用户中心子系统、预热子系统、系统审计及行为分析子系统、搜索提示子系统、防爬机制设计
项目描述:物联网资源检索系统,用来检索整个互联网中现存的可以检测识别到的设备,这些设备涉及到了15个大类,100小类。设备包括品牌型号版本,以及设备上存在的软件,软件的版本、品牌、型号、大类、小类。以及软件和设备存在的漏洞。存活的设备会附加上地理位置属性。支持根据设备和软件的各个属性以及地理位置的聚类分析。用于科研人员的研究,给做安全防御领域的人提供良好的数据支撑。
项目职责:
- 负责项目整体设计包括以上全部模块,主导技术选型。保证服务各个环节的高可用。避免单点故障问题。
- 负责维护支撑十四亿物联网设备数据的搜索引擎,维护了15个节点的elasticsearch集群。
- 从零搭建elasticsearch集群,并解决集群安全通信,跨集群数据同步问题。通过双集群的设计,来保证服务高可用。通过心跳机制,来动态切换集群。解决了elasticsearch分布式搜索引擎的脑裂问题。通过副本和快照来保证数据不丢失。
- 负责elasticsearch搜索引擎的后续优化工作。在数据集从8亿增长到14亿,数据容量从2.5T到5T的情况下,通过对集群的升级及规划和索引合理拆分,将聚类检索的时间从10秒降低到了2秒、普通检索从5秒降到1秒以下。集群写入速度提升到了2w/s。
- 使用nginx作为流量网关,使用gateway+nacos+sentinel 搭建了业务网关。期间改造了sentinel源码,来支撑生产环境下,业务网关零停服情况下的动态修改限流规则的需求。通过改源码将sentinel规则持久化到nacos,实现限流规则从客户端到sentinel的dashbord再到nacos的闭环。对鉴权、限流、等公共能力进行了抽取。通过对公共能力的抽取,将网关下沉为公共服务,发挥组内技术优势,为研究所内其他开发小组提供网关技术支持。帮助其它组解决用户鉴权,限流,降级等问题。
- 借助于sentinel的限流,实现了系统调用的安全防护。借助于sentinel的热点参数限流,实现针对用户的限流。达到了防爬的数据保护目的。
- 使用logstash + elasticsearch + kibana,搭建了一套日志收集分析系统。通过在流量网关进行适当的改造,配合前后端传参的适当改造。实现了系统审计以及用户行为分析的需求。配合报警工具,来洞察系统的服务能力,及时发现问题并发送报警。在凌晨生成用户行为分析的报告,并进行推送,为系统更好的扩展优化提供数据支撑。
- 维护了redis集群,用于存放用户的登录信息,鉴权中心分布式token;用于预热子系统,通过用户访问的审计结果,将系统经常访问到的数据,以及请求花费时间较长的数据,进行缓存预热。达到系统去短板的效果,提升用户体验。
- JVM问题诊断,发现并解决内存泄露问题。参数调优,使系统处于最佳状态。
- 使用Docker + docker-compose来部署编排服务。
实习经历
时间:2019.08-2020.05(九个月)
单位:12306(中国铁道科学研究院)
项目经验
12306 商旅项目(上线)
开发时间:2019.11~2020.05
项目描述:12306 大客户商旅平台以 12306 互联网售票系统为基础,面向政府、大型国企和私企,开展
对公火车票、酒店、机票、餐饮、用车等业务。
功能模块:接入中心、预定中心、用户中心、订单中心、财务中心
项目职责:
- 财务中心的计费方案设计,平台内部对账核心模块。
- 使用 ShardingSphere 进行分库分表,并完成相关的测试工作。期间解决了引入ShardingSphere后,事物失效,以及无法插入数据的bug。
- 搭建Jmeter 分布式集群,进行压力测试
12306 空铁联运项目(上线)
开发时间:2019.08~2019.11
功能模块:空铁联运产品大订单,火车票改签,火车票退票,平台结账对账
项目描述:中国铁路推出了和东方航空合作实现空铁联运,火车票同机票同时购买,给用户带来更好的
购买体验,智能提供一些好的空铁组合,给用户更多的选择。
项目职责:
- 参与整体业务的设计;编写内网调度服务代码,编写 API 调用火车票微服务
- 完成灰名单功能
- 设计伪随机算法用于生成唯一订单号,并在服务器上进行压力测试,以及进行安全性测试。
- 支付回调。在做支付回调页面数据展示的时候,因为代码量比较多,为了方便维护,采用了生成器模式。
- 平台内部对账核心模块。
自我评价
- 有良好的团队合作能力、有较好的逻辑思维和空间想象力,能够独立负责项目,并协调组内成员完成。
- 酷爱编程,严格要求自己写出规范负责的代码。对技术有强烈的兴趣。
- 喜欢与人交流技术,乐于分享,有自己的技术博客,CSDN目前总排名3600,周排名2000左右。
- 独立解决问题的能力,能承受一定的工作压力,经历过几次技术攻坚和服务抢救。
- 具有强烈的自我驱动力。具有良好的新知识接接受能力,坚持每天3-4个小时的学习时间。
阅读过的书籍
基础类
《Java并发编程的艺术》《逆流而上》《码出高效》《web技术内幕》《实战JVM虚拟机》《深入了解JVM虚拟机》
调试类
《Java深度调试技术》
源码类
《spring技术内幕》《elasticsearch源码解析与技术实战》
代码规范类
《java开发手册》《代码整洁之道》《重构改善既有代码的设计》《设计模式精解》
容器化技术类
《k8s权威指南》
架构类
《高可用可伸缩微服务架构》《架构修炼之道》
官方文档
《Elasticsearch官网文档》《sentinel官方文档》《gateway官方文档》 《 ShardingSphere官网文档》
心怀一颗去大厂的梦,因为 那里有一群有共同愿景,喜欢折腾的人,同时我可以站在巨人的肩膀上。
不过暂时只专注项目上线,专注眼前的工作。即使钱再少, 都无所谓的。
我才二十几岁,一切都只是刚刚开始!
路漫漫其修远兮,吾将上下而求索
我有时候也会负责我们这里的后台开发的面试工作。
所以对于简历,我发表一下自己的看法:见过比较多的简历,都是多页纸,我不确定我能看完它,因为面试只是和开发工作并发执行的,看简历的时间多了,工作的时间就短了,所以简历看不到亮点,直接就pass了,不会浪费太多时间在看简历上。
我的简历采用的是三七分的模板,尽可能的把内容压缩到了一页纸上,使内容更加紧凑,不给面试官来带翻页的麻烦。三七分的模板左侧是个人信息相关的, 包括了教育背景,以及工作经历。右侧是跟技术相关的,包括了自己的技术栈,以及开发经验。开发经验的话是一个时间倒序,最前边是我的现阶段的项目。为了压缩到一页纸上,第二个项目描述就比较水了。相对来说,我的第二个项目只是陪衬,第一个才是能够体现我的工作能力的项目。