嘘,这份0项目经验应对面试的独门秘籍,千万别被你的面试官发现~

首先,在写这篇文章前,得先跟各位面试官道个歉。
请添加图片描述
没错,这篇文章就是要教你们的候选人如何在没有任何项目经验的情况下“瞒天过海”,塑造一个实战大牛的形象。

毕竟项目经验实在太香了,手持M416和普通手枪上战场的感受能一样吗?

下面,一恩姐姐就手把手教各位小伙伴们如何零经验扯项目!(得罪面试官)

我们都知道,丰富的项目经验,在一次面试过程中的地位可谓是重中之重。

先说为什么?因为一次完整的项目实践过程能够全面反映你技术上的硬实力与软素质。对于实习生或校招生,面试官真正想要去挖掘的是你未来在面对一个实战项目时的思维方式和解决问题的能力。这块能力仅仅通过技术上的问答是远远无法反映出来的。

毕竟,再多的纸上谈兵,也不如打下一座江山更讨得美人欢心(成年人的世界,哎~)
请添加图片描述
看到这里,你是不是开始慌了:没有项目经验,是不是就不配拥有offer?

对于这个问题的答案,一恩姐姐能够非常肯定地告诉你:

零经验,只要基础能力够硬,offer照样手到擒来

贴一段字节官方面试考察标准:

以考察计算机基础+逻辑能力为主。项目经验不必须,但是如果有相应经验,也可以适当考察基础知识。项目经验特别好的同学,可以加分。整体校招面试重基础、潜力而非经验。

作为善于总结的课代表,我把这段话浓缩成三点:1. 项目经验不必须;2. 如果有项目经验,基础知识的考核会围绕经验展开;3. 好的项目经验且会加分。

这下好了,项目经验已经不简单是一个加分项了,它甚至是一份考纲,一条直通offer的成功之路。所以,就算你没有项目经验,也给我去“创造经验”!废话少说,切入正题:

零经验,如何塑造出一个“实战大牛”形象?

第一步,寻找可扩展的知识点

首先,我们需要明确,什么是可扩展?是指一个知识点,作为一个根结点,它的延伸分支可以深入到很远。举个栗子。ListView,来大家跟我一起背,用于显示列表,需要一个adapter来对数组进行包装,通过RecycleBin进行缓存。……这就没了?不可以!请跟我继续:ListView如何对convertView复用?ListView中图片过多引起OOM如何解决?上下左右滑动冲突怎么做?ListView中可以包含大量图片,布局复杂导致卡顿怎么办?ListView如何实现下拉刷新上拉加载?用RecylerView代替ListView解决了什么问题?……
在这里插入图片描述
我想你大概明白什么叫可扩展性了。为什么需要这个东西?因为他能够 控场 !
因为这些延伸分支就是你的套路呀!提前准备好一两条分支上的基础知识、重难点、优化点,并在描述项目时做一些诱导,就可以非常心机地让面试官按照你早已精心准备的套路问问题~

第二步,倒推项目形态

确定了项目的知识体系后,就可以定点定性地去寻找匹配的项目。

大家可以在csdn、github等开源网上搜索到许多开源项目,根据这些开源项目玩的比较炫的知识点看看是否命中第一步中知识点。

不过即使命中了也不要不假思索地傻乎乎照搬照套,而是需要暂时扔掉技术,站在产品的角度思考一下:这个项目是解决了什么问题?与目前市场上已有的竞品相比,他的特点是什么?如果我是产品经理,这个项目还能做些什么?

产品思维对于工程师而言是必备的软素质,去自发性地思考产品并给出新奇有趣的玩法会让你在一群冷漠无情的“代码机器”中尤其脱颖而出。

还有很重要的一点是,找到合适的项目后,一定要自己下载下来,读读源码,跑一跑。一方面是可以快速地去熟悉项目,另一方面是在阅读代码的过程中,去对代码的架构、设计等产生一些优化和建议,这些完全属于你的思考,在面试过程中都是非常值钱的。

第三步,自我挖掘细节,主动引导面试官

不少人是拘泥于“项目里做了什么业务,以及代码实现的细节”,这就相当于把后继提问权直接交给面试官。尤其对于我们这些零经验的“骗子”,万一面试官后续提问中一个点露馅了,那结果就显而易见“凉凉”了。

为了避免这种情况,一恩姐姐步步为营,精心制作年度大片。家人们就按照以下每一幕将面试官推向我们精心设计的陷阱中……

  • 第一幕,先介绍项目背景,打消面试官疑问。
    一旦说了这个项目,那么面试官就会认为你真实做过,所以其中每个业务需求,比如数据从哪里收集,客户从哪个前端发请求,客户请求处理的流程,以及数据表的规模等信息,你得知道并且事先准备好回答预案,项目背景往往是面试官辨别项目真实性的标准。

  • 第二幕,在介绍项目背景之后,你更可以说些项目管理的工具。
    以此证明你在项目里还做过其它事情,不仅是仅会写代码。比如用用git来管理代码,用jira来管理任务和bug,用jenkins工具来发布。

  • 第三幕,代码入手,先说项目框架。
    这里就用当前Java项目的主流框架Spring Boot为例,告诉大家如何以此展示Java开发的基本功:我们这个项目用到了Spring Boot框架,其中用JPA连接Oracle(或MySQL等)数据库,在控制层里用到了@RequestMapping注解来编写业务处理方法。通过这些面试官会发现你是一个能够从全局视角考虑代码设计而不是只会写烂代码的人。

  • 第四幕,再说项目亮点。
    这一块就把第一步中知识体系展开,讲个姹紫嫣红,天女散花。

  • 最后一幕,别忘记性能优化。
    基础知识把握牢固,还可以进一步说明诸多亮点,这里就先给出结合项目展示内存调优方面说辞的范例:在本项目里,我会非常注意内存的使用性能,并在项目里有过排查分析OOM的项目经验,我在编码的时候,也会非常注意内存性能,同时我也了解过JVM内存结构以及GC算法。这下好了,面试官认为你不仅项目写得好,而且还能进行有效的优化。大宝贝啊,offer直接献上去了。
    请添加图片描述

第四步,不懂不要慌,而是要去思考

当你看到这里,虽然心里有了谱,但可能仍然不敢去上手试试。

“万一哪个问题没答出来,不是就露馅了吗?”

我猜这可能是你现在最大的顾虑。关于这一点,首先你要知道,没有人是能够百分百答出面试官所有问题的,包括已经工作了一年的一恩姐姐,对自己的项目仍一知半解。所以遇到不会的问题时,你要做的不是去担心如何救场。而是去站在一个项目开发者的角度去思考如何解决这个问题。

写在最后

虽说本文为各位项目经验不足的小伙伴说了一套能够“扯项目”的方法论,但也不过是一种捷径。还是建议各位在有时间有精力的前提下从一个小小的灵感开始,去调研去深入设计每一个细节实现,最终用你最熟悉的代码来将它开花结果。当这个最初不起眼的想法最终化作精美的页面和流畅的交互时,相信你心中满满的成就感是无与伦比的。

我相信,对于每一个程序员而言,所做的每一个项目和每一次经历,都是一份属于自己的珍贵的宝藏。

  • 30
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李一恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值