专栏首页java架构学习交流从面试官甄别项目经验的角度,说说如何在简历中写项目经验(java后端方向)

从面试官甄别项目经验的角度,说说如何在简历中写项目经验(java后端方向)

在大多的JD(职位介绍)里,会写明该职位需要xx时间的相关经验,换句话说就是需要在简历中看到一定年限的相关商业项目经验,否则估计连面试的机会都没。

在本文里,不讨论这种门槛是否合理,而会以Java相关经验为例,说说面试官甄别真实商业项目的方式,并以此为基础讲述在简历中描述项目的要点,并进一步给出在面试中介绍项目的相关技巧。

1 和学习项目相比,商业项目为什么值钱?

为什么在筛选简历和面试过程中要甄别学习项目还是商业项目?

1 学习项目里,只要跑通正常流程,无需考虑异常处理机制,也无需经过高并发情况下的压测。

2 学习项目里,数据库方面,只需增删改查,而商业项目里会涉及到优化甚至集群。

3 学习项目里,模块间功能调用基本就靠写类写接口,而商业项目里,需要考虑微服务高并发场景,甚至需要考虑服务失效。

4 学习项目里,最多搭建个web服务器,把代码一扔,直接跑就能看出效果,而商业项目需要专门部署,还需要写日志,以及根据日志调试问题。

总之,商业项目有很多事情,比如黑盒白盒单元化回归测试,运维部署,和需求方扯皮,和其它team讨论接口等等,这类事情在学习项目里甚至都想不到。

而一些培训班让学员做的项目,在帮助学员提升相关技能方面,或者有些作用,但仅此而已。如果直接在简历中当商业项目写,甚至还会起到反作用。而不少培训班所谓的就业培训老师,让他们自己去面试java之类的开发岗,还未必能成,可想而知他们煞有介事的“包装简历”和“模拟面试”的效果了。

本人内心自认为尚不算阴暗,不会因为看穿此类项目经验而窃窃自喜,相反更会内心沉重:候选人也算上进,但他们费钱费时间费经历准备的简历和面试技巧毫无用处,而我职责使然又没法让他们过。正因如此,在后文里将给出相关的甄别技巧,说难听点,至少吹牛也得打草稿吧。

2 一些编造项目经验的方法其实是掩耳盗铃

我听说有些培训班所谓的就业辅导,是给学员zh若干项目模板和问题,让学员练习,并通过模拟面试让学员说起来像模像样。甚至有些培训班自己还有公司,所以提供的项目也算有据可查。培训完以后,就由老师带队到北上广去应聘。

有时候甚至不用面试,一些有经验的面试官直接能从简历上甄别出这些虚假项目。比如项目名是xx金融管理系统,xx财务系统,xx学籍管理系统等,时间不会超过半年,技术方面就很敷衍地写一些常规技术,比如spring mvc,redis,jdbc等。

或者为了慎重,在面试里可以通过如下问题来确认。

1 你项目是如何部署在什么环境上?发布流程是什么?如果出现线上问题,如何排查?很多培训班项目或学习项目也就随便找台机器运行通就了解,所以候选人接触不到基于linux部署以及基于maven和jenkins的打包部署流程,这个问题可以问出很多编造的项目。

2 在项目里,代码review和单元测试,是怎么做的?同理,很多培训班项目只考虑功能,不考虑这块。

3 这个项目现在是否上线?大多数培训班项目一般都不会上线,同时会有很多不上线的理由。

4 抽出项目里用到的一个高大上的技术,比如dubbo,问负载均衡和失效转移的问题。在不少培训班项目里,对这些分布式组件,仅仅是调用而已,不大会考虑分布式部署的问题,当然估计也没资深的老师能把这块讲透。

很多创业公司,或规模很小的公司,有时候会招不到人,所以是没资格挑挑拣拣的。这时遇到项目经验造假的人,只要技能尚可,或者甚至只要动手能力强,就会录用,至少我在身边看到的一些小公司是这样的。但录用管录用,面试官其实是知道候选人项目底细的。

3 商业项目如果写得很敷衍,就会被当成学习项目(简历中商业项目该怎么写)

针对之前讲述的甄别方式,这里会给出若干在简历中写商业项目的技巧,一方面,如果很敷衍地写,你的项目经验就会被当成学习项目,另一方面,如果在简历上包含足够多面试官感兴趣的要素,你的简历通过筛选的可能性就越大,也就是说,能得到更多的面试机会。

1 讲清楚必要的要素,比如项目周期,人数,项目名,客户是谁,用到什么技术,但就凭这点,无法证明是商业项目。

2 讲清楚部署和上线的方式,比如在云端,或linux上如何部署,用到哪些命令?上线前测试怎么做的?是否用到灰度测试,把这块讲清楚了,会让人感受到你不仅会开发,更有运维方面的技能。

3 讲清楚管理项目质量的方式,比如单元测试工具,通过sonar等工具提升代码质量的方式。

4 写明目前项目已经上线,再可以提一下,如果平时遇到产线问题,是通过什么工具排查和解决的。

自然,如果在项目里用到了其它好的技术,比如用elk收集日志,用zabbix进行压测,这种就属于不写白不写的。

我之前在面试时,发现很多候选人其实做了很多事情,各种技能掌握得也非常到位,但在简历中丝毫没体现出来,这就很吃亏,因为这可能就错过了不少面试机会。

4 在校生和毕业生,该如何准备项目经验

不少毕业生在找工作时,苦于没实际项目经验,一方面确实可以在大三大四时干些实际项目,但如果确实在找工作时没项目,那该怎么办呢?

1 这时候没办法了,得加班加点,用最多一个月的时间,运行通一个全栈的项目,比如vuejs+Spring Boot+mybatis,这个过程中有问题,赶紧通过看视频看资料等各种手段弥补,项目未必要大而全,甚至只包含简单几个增删改查功能也行,但第一要了解全栈流程,第二要了解必要的技术语法。这个过程一定不能省。

2 挖掘毕业设计和之前的课程设计,看下其中哪些需求点和商业项目很类似,这些需求点能否用基于java的技术实现?如果可以,这好歹也算是项目经验。

3 我知道不少网站能提供项目,不要多,就运行通一两个即可,但其中需要包含java全栈技能,因为这些项目有足够多的指导文档,调试通过应该不难,这绝对可以算学习项目。

对毕业生而言,招聘要求不会太高,一般没商业项目,只有学习项目也会让过。在通过上述方式掌握若干学习项目以后,按如下思路准备简历上的项目。

1 介绍项目技术时,如果可以,尽可能多地写些打包部署调试等技能,这块应该不难,比如在自己机器上装个jenkins或ant或sonar,然后实践一下。

2 多写些解决的实际问题,比如mytabis里事务是怎么调通的,总之,别浮于技术,再深入写些技术的实现细节。

3 从异常处理、数据库批处理优化、数据库索引、设计模式甚至虚拟机调优角度,写下项目的实现细节,这块属于基本的jdk和数据库知识点,也应该不难实现。

这样一写,虽然还是没法让学习项目变成商业项目,但由于深入细节,好歹能超过大多数学习项目,相比于其它同学,你就会有更多的面试机会。

当然,如果有机会,最好还是得找些实际商业项目做下,很多点只有做了才知道,很多技能只有做了才能掌握。

5 工作若干年转行时,没商业项目经验该怎么办?

对于工作后想转行做java的同学,这里给出如下的建议。

1 如果工作忙,如果平时自己感觉没时间学java,可以报个比较好的培训班,毕竟培训班里有成套的知识体系,这比自己学要省事省时间。

2 看下你之前的工作经验,能否和java沾边,比如之前做测试或者运维,多少能碰点java,在写项目经验时,就可以着重偏向java。

3 我知道有些同学,比如之前3年是在做c#,通过培训掌握些java技能,然后就把之前的经验全写成基于java的,虽然如果面试过关,这无法用任何方式甄别出,但这块涉及诚信,请大家自己斟酌考虑。

4 对于转行的同学,第一份工作得看重实际机会,比如找个外派活,找个小公司,这些公司的招聘要求稍微低些,或许能帮助相关同学成功转行。

不过话说回来,工作3年转行还行,如果工作5年以后再转行,那就需要非常慎重了。

6 总结:不自暴自弃,毕竟不是每个公司都有资格挑人

固然说,努力要乘早,在校阶段就应该尽可能找实习机会,但任何时候努力都不会嫌晚,用文本提到的方法,初学者最多用1个月的努力时间,就能在简历中归纳出一个学习项目。而对于比较初级的职位,或者一些小公司,有时候候选人只要靠刷题就能进去,更何况掌握了若干学习乃至商业项目。所以,哪怕在当前阶段感觉自己什么都不懂,也绝不能自暴自弃,比如颓废无节制地用无聊的视频来打发时间,而应该立即找书找资料找项目提升自己。

通过本文给出了若干甄别商业项目的方法,大家可以对照比对你简历上的商业项目是否会被误杀,而本文给出的在简历上描述项目的技巧,更经过了不少毕业生的实践检验,应该具备足够的可操作性,最后希望此文能帮助到大家。

版权说明:

如果要转载本文,请先征得本人同意。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 面试中更多会考核相关技能的项目经验——再论程序员该如何准备面试如何准备Java面试?

    这篇博文后,提到了不少引导的说辞和技巧,如果能把面试官的提问引导到事先准备好的亮点上,一方面确实可以更有效地耗费面试时间,另一方面也能最大程度地挖掘和展示自己的...

    用户1153489
  • 如何准备Java面试?如何把面试官的提问引导到自己准备好的范围内?如何在面试中介绍自己的项目经验在面试中如何展示虚拟机和内存调优技能内部类、final与垃圾回收,面试时你一说,面试官就知道

    Java能力和面试能力,这是两个方面的技能,可以这样说,如果不准备,一些大神或许也能通过面试,但能力和工资有可能被低估。再仔细分析下原因,面试中问的问题...

    用户1153489
  • Java web轻量级开发面试教程读书笔记:数据库方面,如何准备面试

    如果在面试或与资深人事交流的过程中,你能有效合理地展示出本章所给出的一些知识点,那么对你的评价就会是“对数据库有深入了解”,甚至能加上“有设计数据表的经验”,即...

    用户1153489
  • 别人家的springboot代码生成器

    我记得是刚毕业出来的时候,接触到好几个项目,发现每次开发后台管理模块的时候,发现都是做的事情都是一样的,做的逻辑都是一样的,只是业务不一样而已,并且在创建文件很...

    程序员小明
  • Github开源项目贡献指南:找到你的用户

    当你建立一个项目之后,没有说你一定要去推广他,即使是这个项目并不是很流行,仍然可以找到很多理由让你在这个项目上花时间。但是如果你希望别人能发现并且使用你的项目,...

    腾讯开源
  • 在阿里,我们如何做好一个项目的启动

    阿里妹导读:俗话说“好的开始是成功的一半”,管理一个项目也是这样,项目运行中的遇到的问题往往就是在填项目启动时所埋的坑。一个好的项目启动能极大地提高项目成功的概...

    IT云清
  • 软件项目失败最常见的5大原因

    软件项目失败最常见的5大原因 最佳实践建议在启动一个新的软件项目时,寻求一名在软件开发领域具有丰富经验并且可以在项目计划的早期阶段提供协助的主题专家的帮助。这一...

    用户1289394
  • 成功实施BI项目的四大要素

    其实所谓“要素”不一定是项目执行过程中的关键点,这其中也包含了执行人的要素,毕竟所有项目的实施都是以人为发起点,然后以事件作为驱动,所以项目中最难把控的就是人的...

    华章科技
  • 转 | 从零开始用 dotnet 做全栈开发

    我是一个小白,但我想做全栈开发,我想从桌面端写到移动端,想从后台写到前端。但是我不想学习,怎么破。没关系,用 dotnet 做,这个技术方向的教程文档特别齐全,...

    Edi Wang
  • 写了8年的代码,做过的项目都下线了……

    前几天项目交付上线,所以闲下来了。忽然想起来,自己业余接的活,有些项目已经不再运营了,所以想清理下域名解析。

    Java团长

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动