JavaEE|魔改一个自以为不太好的简历

【JavaEE|魔改一个自以为不太好的简历】简历是找工作第一步,也是人的门面。男人喜欢美女,美女HR喜欢美的简历,如果写的不好,会让自己丧失很多机会。前段时间,在一个Java社区里,一个Java学员将自己的简历贴出来请大家给修改。我给改的时候越改越多,最后以独立文章发表出来。结果仅仅在这个也就数千人的论坛里阅读量高达1000多。可见这个文章写得还是让很多人收益的,所以我将部分内容调整之后再次发出来。
这篇文章里可能会有一些批评的口气,但是我不针对具体的人或者我多么牛逼。不久前曾经请一位阿里的同学给我改简历,结果被批得汗流浃背,都要哭了。他的一句话给我映像很深:“忠言逆耳,我不骂你,面试官会不要你”。从那之后我就对自己要求严格,不允许犯低级的错误,看到这个简历仿佛看到了一个曾经的自己。
0.原版简历

小伙伴们,我先简单说下个人情况。2016年专科毕业,2018年开始接触java,去线下一个培训机构学了半年左右。然后都是在外包工作,传统行业,2019年底项目做完被开了,目前正在找工作,可以指导下简历吗,或者对个人成长提一提建议。谢谢 专业技能 有三年多项目开发经验,具有良好的编码思想和注释习惯,JAVA语言基础扎实。 熟练使用Spring、SpringMVC、MyBatis、JPA、Spring Boot、Spring Cloud等开源技术以及常用组件。 熟练掌握MySQL、Oracle等数据库的使用,了解SQL语句优化以及MySQL 的分库分表及读写分离。 熟练使用Quartz定时任务、Docker容器、Jenkins持续部署等技术,了解常用的Linux命令。 熟悉Nginx、Tomcat等Web服务器,熟悉Redis、Dubbox、Zookeeper、Kafka等中间件的使用。 熟练使用IntelliJ IDEA、Eclipse开发工具,熟练运用SVN/Git版本管理工具以及使用Maven项目管理。 了解常用的设计模式,熟练掌握IO、多线程、集合等基础类库。 熟悉常用的前端技术点如Ajax、jQuery、Js、HTML,了解前端框架angularjs、BootStrap。 项目经历 (1)项目名称:****工业园区后台管理系统 框架构建:Spring Boot、WebSocket、JPA、Quartz、Redis、Rpc、Kafka、Docker、Jenkins、MySql、VUE 项目描述:此项目是****发起的一个智慧园区管理系统,打造支持西南工业区,覆盖***的可扩展、可管理、可运营的综合管理平台。系统包含智慧道路、智慧消防、智慧环境、智慧安防四个监管方向,用户可以通过本平台快速精准的定位到目标区域,查看目标区域的道路、消防、环境、安防等状况。解决了人员聚众闹事、私搭乱建违法建筑、环境卫生差等各种困状。主要几个模块有数据大屏、摄像大屏、道路安全及停车监控、告警管理、工单管理等。项目基于SpringBoot搭建,MVC分层开发,数据的传输和消息的接收发送通过Rpc及Kafka完成。通过WebSocket推送刷新页面实时告警信息。设备在线状态和部分数据缓存到Redis,极大地提高了页面的访问性能。整体采用Jenkins一站式部署到Docker容器,简化了项目更新迭代繁琐的步骤。 项目职责:主要负责摄像大屏模块,对接海康威视球机和AI摄像头,并且应用到项目中来。主要的功能有获取视频流转码并且在页面播放,摄像头的旋转控制功能以及拍取实时照片上传到Minio服务器并展示在页面。黑名单人员和车辆信息的录入及删除,并且实时监控黑名单人员和车辆,如果有符合特征的立即抓拍存档并且产生告警通知管理人员。如果其他的设备有发生报警,比如垃圾桶,地磁,环境传感器等发生报警的话需要联动摄像头去拍照查看实时情况以决定是否进一步处理。还有通过采集摄像头画面内的人头数来实现这个地点人员密度的动态更新等等。 项目链接:http://************n/login (2)项目名称:珠海航展管理系统 框架构建:Spring Boot、Spring Cloud、Spring MVC、MyBatis、JPA、Redis、VUE、MySql、Activiti 项目描述:该项目主要针对******开发的应用软件,为*****会提供技术支持,同时也可以办理其他展会。作为会展信息化平台的产品,可以办理国内会展、国际展览、展览主办方、协办方等展会。集成了展商管理、展会管理、合同管理、财务管理、办公管理、查询统计、问卷调查、权限管理、用户模块等主要模块。后台整体采用Spring Cloud搭建,每个模块做成单独的微服务,减少了项目之间耦合性,模块之间基于Feign Client远程调用,利用Mycat中间件实现读写分离,部署Redis集群实现高可用,并解决部分并发问题,使用RabbitMQ 消息中间件实现用户的请求和数据库执行的异步操作,流程方面通过Activiti可以快速高效创建业务流程。 项目职责:主要负责展商管理、展会管理及用户模块,主要的功能大概有主办方管理、合作商管理、物流商管理、观众管理及展会管理的展会创办、审批,通过工作流对展会的流程加以控制,使得开发更为简便快捷。负责用户注册、登录及认证模块,权限管理模块,对模块需求分析、设计、开发及单元测试等。用户认证短信采用MQ消息队列的机制进行推送,数据库中建立了用户表、角色等表结构,从数据库获取信息或存入信息,进行认证及授权。后台权限采用Shiro权限管理框架,使代码更简洁实用。将登录成功后的用户信息存入Redis缓存中,减轻数据库访问压力等。 (3)项目名称:******管理系统 框架构建:Spring Boot、Spring MVC、MyBatis、JPA、Redis、VUE、MySql、Activiti 项目描述:此系统实现的是公司协同办公管理及系统管理,针对企业事业单位办公中存在的信息不畅、操作不规范等一系列问题,用信息化手段和新一代的管理思想,提供了强有力的网络化、电子化支持。项目按照功能模块分成多个子系统,招投标管理、项目管理、信息管理、人力资源、报销管理、付款申请、账务管理、统计分析等几个模块。该项目基于Spring Boot搭建,后台运用了MVC模式分层开发,在此基础上整合Activiti工作流,通过流程控制极大的简化了项目开发难度,提高了系统可用性。数据层通过主从复制以及Mycat实现读写分离、负责均衡和高可用。通过Redis集群缓存数据列表,提高页面响应速度,使用RabbitMQ 实现系统之间消息通信。 项目职责:负责报销管理,付款申请模块功能,独立编写了一个Activiti工作流通用模块,以画流程图的方式控制业务流程的执行,主要有报销和付款模块的新建任务和节点的审批,查看列表及数据详情、处理记录等,项目模块测试,bug调试修复及功能维护,以及对系统进行代码的重构优化,以提高代码的重用性,并使用highcharts实现统计分析图形化,使业务数据一目了然。另外整合redis对常用的数据列表进行缓存,减少数据库的工作压力。 项目链接:http://chinacea-hlj.com/#/login 自我评价 本人程序猿一枚,热爱编程工作,对新技术很有热情,能够快速学习新技术并且很快应用于实际工作中。 具有很强的团队精神,能迅速融入新的团队,具有强烈的责任感,对生活积极乐观,拥有良好的抗压能力。 积极上进,对工作认真负责,积极主动,乐于接受新的信息并勇于创新,热衷于技术,崇尚科技改变世界。 平时爱好看技术书籍,写博客,做分享,天气好的时候也会去爬山。 热爱学习,热爱生活,目前正在自考本科。

0.简历和面试的生命周期 我们的简历有两个作用,一个是让HR看了之后感觉你人还不错,是个能直接干活的人(小公司),是个能力不错有潜力的人(大公司)。第二个作用是有一定的引导能力,大部分新手是不可能掌握整个JavaEE的,能擅长几个技术模块就很不错了,所以需要让面试官可以通过简历了解你擅长的技术和项目能力,然后来引导他问你能hold住的问题。
简历的生命周期是:简历写好的那一刻就决定了你能到什么公司去。如果明明自己比较弱还投热门,必然石沉大海,所以精心选择适合自己的公司很重要。选好之后简历就是你能否成功的第一道坎,其实很多HR是不懂技术的,她们(大部分是文科小姐姐)往往根据排版是否看起来舒服,内容看上去是否充实,是否满足几个硬性指标来粗略判断,不好的直接死。好的再转给研发组长来看。研发组长会通过简历的字里行间评估你是个什么档次的人。怎么分析呢,大致有几个指标:这一堆的经历中有几个项目或者完整的模块是你自己做的?深度如何?最后才是与我们当前的工作有多少的契合,如果感觉都很一般,死!如果感觉还行才会告诉HR通知你来面试来进一步考核。根据我的经验,如果你的简历给的感觉还不错,大部分会放宽要求给你一个面试的机会。
而面试一般要三轮左右的技术面。每个面试官都会通过你的简历来选择面什么。一般过程是,首先让你做个自我介绍,同时看你的简历,然后选择他感兴趣的地方来展开。注意第一轮面试的往往是团队的技术骨干,而不是同意你来面试的人(主管)。技术骨干往往技术扎实,工作能力强,但是你擅长的他不一定擅长,或者他比你还擅长。这时候他会根据你的简历上他还比较熟悉的开始,比如这哥们第一个项目提到了摄像机的问题,如果面试官也做过类似的任务就会直接开问,比如视频流的结构,压缩参数设置,流处理方法,摄像机对接协议,传输协议,如何控制码率,如何控制云台,如何解决卡顿,如何保证音视频同步等等。如果你一问三不知,或者他对你做的这一块不熟悉,他会再选第二个关注点继续开始。如果每个项目都没有突出点,就会随便选个问题问,比如拿mysql开始,索引的的原理,如何分库,如何实现读写分离,如何处理事务等,如果还不满意,那你这次面试就完了。
如果第一轮还算不错,他会将对你的整体状况简单评价告诉主管或者他的组长。如果评价整体是不合格,HR会直接让你回去等通知(基本白等)。如果感觉还行,或者需要进一步考察一下,才会进入第二轮。这时候还是以简历为主,但是主管已经对你有了明确的分级:什么档次,什么比较强,什么比较弱,所以面试的针对性就强了。他可能会进一步考察你强的有多强,或者弱的有多弱。如果第一轮表现还不错,而他们又缺人的话,第二轮往往难度会有所降低的。假如第二轮也过了,第三轮如果是经理等行政级别比较高的人或者HR面,其实已经基本要要你了,这时候主要以人生观,价值观和世界观为主了。
不过这个过程不是固定的,很多公司前两轮都是技术骨干来面,第三轮才是主管。当然也又例外,有一次在快手面,前两轮是正常的技术面,第三轮是一个年龄的小孩(看上去就是个小孩)直接给了我一个算法,然后一个小时后带着我写的代码走了,期间除了问我有没有完成什么都没说。
根据上述过程,我们可以看到,简历是第一步,如果第一轮里就出现很多问题,后面会越来越被动。现在我们一起来看这个简历有哪些问题,该怎么改。
1.专业技能部分的问题 我敢断定这朋友一定是抄的模版,或者将几个模版拼接在一起的,虽然看起来很华丽丰满,但是内容太多太杂,如果真的进入面试环节,处处是危险。公司发布招聘的时候一般会写很多的要求,但是个人写的时候重点突出几个比较熟悉的技术就行,太多了反而给自己挖坑。比如说熟悉svn/git,事实上,svn是很老的工具,现在大部分都用git,这哥们可能在培训时接触了一点svn,但是深度肯定不够的,而面试官如果资历长的话,可能对svn很熟,这时候随便几个问题就能让这哥们很惨。如果面试时有两个问题答不上来基本就玩完了,不管没问的技术你掌握的有多好。
简历里的这8个专业技能,凡是自己不是很熟悉,仅仅是用过的统统不要写(如前端,svn,eclipse),然后重点加强其中几个。
我觉得一个好的技能介绍“一个中心两个基本点”就够了。一个中心:将1和7合并成一条“1.三年Java开发经验,熟悉多线程和集合等基础类库,基础扎实”。为什么强调基础呢,因为基础是根本,如果面试聊项目时卡住了,可以拿多线程,面向对象等大家都用的Java技术来避免冷场,而有的公司在面试过程总则会不断问各种基础问题
两个重点:这里的2,3,4,5几乎包含了JavaEE体系的重要核心技术,我不相信这哥们都熟练了,更不相信都熟练了还会被开,所以选择两个自己熟悉的两个写上去就够了。
写了这三条之后要干什么呢?把这三条:
砸透! 砸透! 砸透!
要经得起考验! 经得起考验! 经得起考验!
基础很重要,我也做个几次面试官,如果面试者对多线程很不了解,或者对HashMap的原理不清楚,我会认为他很糟糕,不到万不得已不会和组长推荐他。而后面为什么只写两个技术点而不要太多呢?是因为你要在接下来的时间重点学习这部分。怎么才算深度够呢?记住两点:1.你的项目里如何用的能说清楚,比如在这哥们项目1里有句话“数据的传输和消息的接收发送通过Rpc及Kafka完成”,你要对为什么使用rpc,如何使用,应用时有什么问题,怎么解决的非常清楚。2.搞清楚rpc和kafka的工作原理和重要设计,然后到网上找各个大厂相关的面试题,搞清楚弄明白。如果能达到这个程度,面试过程非常流利,应付一般的公司是没问题的。
2.项目经历部分的问题 我的感受是废话多,无重点。首先是项目描述废话多,记住,项目是老板的,多牛逼都和你没关系,整个项目一定是一个团队的,说得太多也是废话,属于你的只有你自己完成的那个模块或者功能。比如《珠海航展后台管理系统》这个项目全看完也不知道你做了什么,甚至怀疑你只是在打杂。还有就是在项目描述的后半写了mycat等技术问题。项目职责看上去只是项目描述的重复和补充,而项目项目职责部分看上去也只是拼接了几个技术,太乱了。
我感觉好的项目介绍是“三句说完项目,深入介绍自己负责的任务,打杂的不要写“。比如珠海航展这个,可以这么写“该项目主要是为珠海航展公司开发的应用软件,主要为中国航空博览会等展会提供信息化的平台服务,包含了展商,展会,财务,办公等多个模块”(加一个自己参与的模块)。
项目职责部分,这么大的项目一定不是一个人甚至不是一个团队干的,先用两句话说一些团队的任务,然后就说自己的。比如这样说,“该系统主要基于JavaEE技术体系开发,我们团队主要负责展商、展会及用户模块的开发工作。我负责的是(例如)后台用户权限模块”。接着就更具体一点说如何基于Shiro开设计和实现该模块的。为了有条例,可以分成1.2.3这样来写(最多三条,不要太多)。
很多时候面试官也是针对你做的那个模块来进行连环炮式的提问,比如数据库。会先来个热身“你的模块用的什么数据库”,你回答mysql,然后顺着mysql问索引,问锁,问查找优化,问事务,问分布式锁,问分库分表,问读写分离,问数据库设计等等。如果你一路顺风,会让面试官感觉酣畅淋漓,面试效果会非常好。如果面了1个小时,你们可能前半小时都在进行这个连环炮。但是之后就非常轻松了,面试官对你映像好了,后面即使有问题没答上来,他甚至会给你开脱。反之····。
这个简历里项目描述的另外一个问题是虽然有两个给了项目链接,但是只能打开登陆页面,无法看里面的内容,你这是要告诉面试官什么呢?要么再提供一个测试账户让面试官能登陆进去,要么就不要留这个。
最后一个问题是,每个项目都说了具体的公司和项目名字(原帖子对所有对项目名和地址写得很清楚,我用**隐去了),这是很不好的。珠海航展这种大家都知道的可以留能提高项目逼格,但是另外的几个有泄密的嫌疑,假如东家与之是竞争关系,就能通过这个了解到很多商业秘密,甚至会故意叫你来面试,实际是为了了解项目信息,最后却不要你。这会给带来很多麻烦,也非常不道德,甚至会触犯某些公司的保密条例,用“广东某工业园区后台管理系统”等就行了。
3.自我评价部分的问题 这其实就是为了装饰的,没什么实际用处,不要废话,比如“天气好的时候也会去爬山”这个是要表达什么呢?这让我想起一次组长收到一份简历说自己“有驾照”,他发到办公群之后大家哄堂大笑,你是来面试技术的,有驾照和爬山能说明什么呢?再说了其实很多人爬山是因为周末无聊。
另外,面试是个很严肃的事情,“本人程序猿一枚”,“崇尚科技改变世界”这种话就不要写了,实在一点就行了。这一段压缩成“本人热爱编程,积极主动,具有良好的抗压能力”等几句就够了。
而你说热爱技术书籍,写博客做分享,这个到可以多写一些。比如书籍这部分,面试可能会问,你最近看了什么书(我真遇到过)?比如说《Java编程思想》,那他继续问你如何理解“万事万物皆对象”的等等,假如你只是喜欢看小说或者网络技术杂文,那又给自己挖坑了。而写博客这个,最好将自己的博客地址贴过来,但是一定要先梳理一下,别有什么明显的缺陷。比如几万年才写了一篇,内容还是如何运行“Hello world”,或者文章表达比较乱,自己很久没维护了,那就不要提这个了。因为如果面试官发现了问题,只会认为你人不行,你再怎么解释“那是很久之前的了”,“好久没有维护了”都是徒劳了,只会给自己面试减分。
最后一点,说自己正在自考本科,作者可能想通过这个告诉面试官自己是一个上进的人,但是这也是个坑,如果我是面试官会问你,如何平衡工作和学习,如果你回答得他不满意,会认为你会为了备考而不能全身心工作,所以即使面试过了,HR也会拒绝你,所以最好就不要写。如果你考上了,或者已经毕业了再写这一条。
我从踏入互联网开始经历了起起伏伏,面试了不下40场,我深知面试过程的苦与累,如果上面有不对的地方,或者言辞激烈的地方,请多包含!
共勉!!
4.修改后的简历
专业技能 1.三年Java开发经验,了解设计模式,熟悉多线程和集合等基础类库,JAVA语言基础扎实。 2.熟悉Spring、SpringMVC、MyBatis、JPA、Spring Boot、Spring Cloud等开源技术以及常用组件。(熟练使用是不够的,加强一下原理等方面的内容) 3.熟悉Nginx、Tomcat等Web服务器,熟悉Redis、Dubbox、Zookeeper、Kafka等中间件的使用。(加强原理的学习) 项目经历 1. 广东某工业园区后台管理系统(起止时间) 框架:Spring Boot、WebSocket、JPA、Quartz、Redis、Rpc、Kafka、MySql、VUE等 项目描述:本项目是广东某地智慧园区的综合管理平台,包含智慧道路、智慧消防、智慧环境、智慧安防等子系统。项目基于SpringBoot框架,数据的传输和消息的接收发送通过Rpc及Kafka完成,推送刷新页面实时告警信息通过WebSocket实现。 本人主要工作是将视频监控摄像机接入本系统,并完成播放显示等功能。具体包括三个方面: 1.监控摄像机管理:包括负责摄像大屏模块对接海康威视球机和AI摄像头摄像机对接;获取视频流转码并且在页面播放,摄像头的旋转控制功能以及拍取实时照片上传到Minio服务器;视频画面在页面展示。 2.人员和车辆信息管理:包括黑名单人员和车辆信息的录入及删除;实时监控黑名单人员和车辆,如果有符合特征的立即抓拍存档并且产生告警通知管理人员。 3.报警管理:包括如果其他的设备发生报警时联动摄像头自动拍照并查看实时情况为进一步处理提供参考;通过采集摄像头画面内的人头数来实现区域人员密度的动态更新等等。 2. 珠海航展后台管理系统( 起止时间) 项目名称: 这个项目不知道作者做了什么,按照上面的格式修改就行。 3. 某公司办公管理系统 时间( 起止时间) 框架:Spring Boot、MyBatis、JPA、Redis、VUE、MySql、Activiti等 项目描述:该系统是为某公司开发的协同办公系统。项目包括招投标管理、项目管理、信息管理、人力资源、报销管理、付款申请、账务管理、统计分析等模块。该项目基于Spring Boot框架搭建,使用Activiti工作流,Mycat读写分离,Redis集群缓存等技术。 本人工作:独立完成报销子系统的付款申请模块的研发,具体包括: 1.独立编写了一个Activiti工作流通用模块,以画流程图的方式控制业务流程的执行,主要有报销和付款模块的新建任务和节点的审批,查看列表及数据详情、处理记录等 2.独立完成模块测试,各类bug修复及功能维护,以及对系统进行代码的重构优化等任务。 3.为了提升用户体验等进行的工作,包括使用highcharts实现统计分析图形化,使业务数据一目了然。以及整合redis对常用的数据列表进行缓存,减少数据库的工作压力等。 自我评价 个人根据自己的情况简单写一点就行了,装饰的作用。

    推荐阅读