项目没有亮点,如何应对面试官的提问?

↑↑ 点击上方关注「陈树义」↑↑

640?wx_fmt=jpeg

这是陈树义的第 032 期分享

作者 l 陈树义

来源 l 陈树义(ID:Spark-tree)

转载请联系授权(ID:Spark-tree)

在树义的技术交流群里,许多同学经常问:在公司里经常做增删改查的需求,出去面试拿的项目都没有亮点,应该怎么办啊?树义在之前也被这个问题困惑,经常不知道应该如何更好地表达自己的项目经验。

但后来随着面试次数的增加以及工作年限的增长,慢慢就掌握了一些技巧。今天我们就来聊聊这个话题。但实际上这个问题并不能单独回答,单独回家貌似一句话说完了,因此结合如何准备面试这个话题来聊聊。

整理简历

当你决定重新换工作的时候,第一件事情就是要准备你的简历。而准备简历的过程其实就是回顾的过程,你要想想你在公司这几年做了些什么项目,取得了什么成绩,再在这些项目中挑选几个你最有价值的。以树义为例子,我在上个公司做了很多需求,但是真正对我有大提升的就那么两个:

  • 某系统搜索功能重构

  • 某系统核心IM功能重构

接下来你要做的就是根据 FAB 法则来整理你的项目:

  • Feature:是什么

  • Advantage:比别人好在哪些地方

  • Benefit:如果雇佣你,招聘方会得到什么好处

其实网络上还有类似的法则,但这些法则的相同点都是要解释清楚下面几个问题:

  • 这个项目是干嘛的,为什么要做这个项目(背景)?

  • 这个项目的技术架构是怎么样的(技术架构)?

  • 你在这个项目中负责什么(职责)?

  • 这个项目达到了什么效果(成果)?

就拿树义做的某系统搜索功能重构项目为例,我尝试回答上面几个问题:

这个项目是干嘛的?

顾名思义这个项目就是用来支撑公司产品的搜索功能的,在没有改造之前,公司使用简单的 SQL 拼接方式进行会员信息搜索。随着业务的发展,访问量越来越大,时常出现数据库崩溃,导致搜索功能无法使用,因此需要对原有搜索功能进行改造。

项目架构是怎么样的?

项目采用了 ElasticSearch 作为搜索引擎,用 Canal 采集数据变更,用 Kafka 作为消息中间件解耦。项目技术上一共分为两个部分,一部分是 Canal 增量数据采集,一部分是 ElasticSearch 搜索功能。第一部分的原理是怎样的,BLALA……。第二部分的原理是怎样的,BLALA……。

你在这项目中负责什么?

在这项目中参与整体项目的方案讨论、设计,作为核心开发参与项目开发,并上线系统。后续还解决了几次线上的故障,BLALA……。

项目达到了什么效果?

项目上线之前,每次到夜晚高峰期数据库就会压力山大,时常功能无法使用。项目上线之后,数据库压力变小,搜索功能也不会崩溃,保障了搜索功能的正常使用。( PS:效果这里如果有条件的话,最好加上数据,比如多少QPS,比如请求时间下降了百分之多少……)

经过上面这么一整理,你会发现自己对项目的很多东西都还不清楚。那么接下来就是不断地去完善知识点,把项目的每个知识点弄得清清楚楚。但也正是因为经过这么一次梳理,你对项目已经了如指掌。

在简历中,你可以把上面几个问题的答案缩略一下写上去。而等到面试官让你介绍一下项目的时候,你就可以把这些东西详细说一遍。

项目介绍是是整理简历最为重要的部分了,整理好之后再加上自己技能的一些介绍就可以了。树义君温馨提示,对于技术点介绍,如果不是特别熟悉(看懂了源码),那么请不要写「精通」二字。至于为什么,我想聪明的你一定知道原因。 : )

面试前的准备

在面试之前,你还需要准备以下你的自我介绍。这基本上是所有面试官的开场白吧,因此准备好你好说什么很重要。

经过上面的四个问题,你已经知道自己在这个公司都做了些什么,那么你完全可以这样说:

我是XXX,来自哪个大学,目前在哪个公司工作。在公司几年的时间里,我主要是负责XX工作和OO工作(根据上面的项目总结,缩略一下)。XX工作主要是干嘛的,OO工作是干嘛的。

自我介绍先介绍个人信息,再来一个总概括,之后分别做简略介绍。

在这里树义君提醒一下,要学会在自我介绍中引导面试官聊你擅长的知识点。毕竟人不是万能的,时间精力也有限,如果能聊你擅长的知识点,那就能事半功倍了。

项目没有亮点怎么办

有许多朋友经常说,我只是负责项目中的某个部分,在简历中只写了自己写的那一部分。于是他就没有去了解整个项目的技术情况,写了简历,但是连简历都过不了。但实际上我们想想,在现在这个分工日益细化的年代,有哪个项目是能够一个人独立完成的?如果一个项目能独立完成,那只能有两个原因,一个是你很强,另一个是项目很简单。但实际上,那些能让你有技术提升的项目都是多个人分工合作的。

所以如果每个项目都只提问你自己负责的部分,那可能一个面试不用30分钟就结束了。所以你要去深入了解项目整体的业务情况,用到其他什么知识,为什么要这么设计,这么设计有什么用。在项目开始之初就抱着积极的心态去学习和工作,将本不是自己负责的部分也要弄清楚。

但这里并不是鼓励大家去「造假」,而是提出这样一个想法:虽然这部分不是你负责的,但是你对项目整体的掌握情况,体现了你的工作态度。

寻找项目亮点

就像微信公众号的口号一样:再小的个体,也有自己的品牌。而我也想说一句:再小的项目,也有自己的亮点。

当我还在一个传统公司里面工作的时候,我负责一个简单的 Excel 文件上传功能。这个功能真的很简单,用户按照指定格式上传一个 Excel 文件,后台解析数据并存到数据库,最后返回结果。许多人就只是按照要求按部就班写了一个程序,虽然也能实现效果,但是当数据量多的时候,往往要10多秒才能返回前端响应。

这时候我做的就是不断优化这个功能,因为数据量多的时候会处理得很长,于是我利用多线程去处理。一旦涉及到多线程的问题了,那么多线程的安全性问题就突显出来。这个时候你会发现 HashMap 和 Hashtable 是不一样的,你需要小心谨慎地处理。

这样一个很小的功能,有人把它当成一个任务做完就完事了。但我却可以做一些小的优化,这样一个优化相对来说,就是一个亮点了。所以当在工作的时候觉得这个功能太简单了,没什么挑战性。此时你就要多问问自己,我怎么做才能做得更好?

寻找项目亮点应该在工作的时候就开始了,而不应该等到换工作的时候才开始。你要时刻明白,你做的每个东西都代表着你自己,都是你的作品。

最后送大家一个如何写好简历的参考指南,一个在 Github 上的项目:https://github.com/geekcompany/ResumeSample/blob/master/java.md

树义有话说

其实有时候觉得没必要写这些细碎的口水文的,人家完全可以到 Github 上看那个项目就足够了。

但前几天发生的一件小事让我发觉,其实还是有很多人在准备面试上没有多少经验的。于是才想起写这篇文章,对比起其他的技术干货,这篇文章真的是很水、很水啦。

所以,你们觉得这篇文章对你们有用吗?快来投票吧。

640?wx_fmt=png

公众号@陈树义,作者陈树义,一个懂点产品的开发。聚焦Java程序员的技术成长,用最简单的语言,让复杂的技术不再难懂。


↓看了这么久了,点个赞再走呗。↓

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值