没有项目经验是大部分应届生会碰到的一个问题。甚至说,有很多有工作经验的程序员,对自己在公司做的项目不满意,也想找一个比较有技术含量的项目来做。
说几种我觉得比较靠谱的获取项目经验的方式,希望能够对你有启发。
在网上找一个符合自己能力与找工作需求的实战项目视频或者专栏,跟着老师一起做。
你可以通过慕课网、哔哩哔哩、拉勾、极客时间、培训机构(比如黑马、尚硅谷)等渠道获取到适合自己的实战项目视频/专栏。
尽量选择一个适合自己的项目,没必要必须做分布式/微服务项目,对于绝大部分同学来说,能把一个单机项目做好就已经很不错了。
我面试过很多求职者,简历上看着有微服务的项目经验,结果随便问两个问题就知道根本不是自己做的或者说做的时候压根没认真思考。这种情况会给我留下非常不好的印象。
我在 的「面试准备篇」中也说过:
个人认为也没必要非要去做微服务或者分布式项目,不一定对你面试有利。微服务或者分布式项目涉及的知识点太多,一般人很难吃透。并且,这类项目其实对于校招生来说稍微有一点超标了。即使你做出来,很多面试官也会认为不是你独立完成的。
其实,你能把一个单体项目做到极致也很好,对于个人能力提升不比做微服务或者分布式项目差。如何做到极致?代码质量这里就不提了,更重要的是你要尽量让自己的项目有一些亮点(比如你是如何提升项目性能的、如何解决项目中存在的一个痛点的),项目经历取得的成果尽量要量化一下比如我使用 xxx 技术解决了 xxx 问题,系统 qps 从 xxx 提高到了 xxx。
跟着老师做的过程中,你一定要有自己的思考,不要浅尝辄止。对于很多知识点,别人的讲解可能只是满足项目就够了,你自己想多点知识的话,对于重要的知识点就要自己学会去深入学习。
GitHub 或者码云上面有很多实战类别项目,你可以选择一个来研究,为了让自己对这个项目更加理解,在理解原有代码的基础上,你可以对原有项目进行改进或者增加功能。
你可以参考 Java 优质开源实战项目 上面推荐的实战类开源项目,质量都很高,项目类型也比较全面,涵盖博客/论坛系统、考试/刷题系统、商城系统、权限管理系统、快速开发脚手架以及各种轮子。
一定要记住:不光要做,还要改进,改善。不论是实战项目视频或者专栏还是实战类开源项目,都一定会有很多可以完善改进的地方。
自己动手去做一个自己想完成的东西,遇到不会的东西就临时去学,现学现卖。
这个要求比较高,我建议你已经有了一个项目经验之后,再采用这个方法。如果你没有做过项目的话,还是老老实实采用上面两个方法比较好。
如果参加这种赛事能获奖的话,项目含金量非常高。即使没获奖也没啥,也可以写简历上。
通常情况下,你有如下途径接触到企业实际项目的开发:
- 老师接的项目;
- 自己接的私活;
- 实习/工作接触到的项目;
老师接的项目和自己接的私活通常都是一些偏业务的项目,很少会涉及到性能优化。这种情况下,你可以考虑对项目进行改进,别怕花时间,某个时间用心做好一件事情就好比如你对项目的数据模型进行改进、引入缓存提高访问速度等等。
实习/工作接触到的项目类似,如果遇到一些偏业务的项目,也是要自己私下对项目进行改进优化。
尽量是真的对项目进行了优化,这本身也是对个人能力的提升。如果你实在是没时间去实践的话,也没关系,吃透这个项目优化手段就好,把一些面试可能会遇到的问题提前准备一下。
的「面试准备篇」中有一篇文章专门整理了一些比较高质量的实战项目,非常适合用来学习或者作为项目经验。
这篇文章一共推荐了 15+ 个实战项目,有业务类的,也有轮子类的,有开源项目、也有视频教程。对于参加校招的小伙伴,我更建议做一个业务类项目加上一个轮子类的项目。
很多应届生都是跟着视频做的项目,这个大部分面试官都心知肚明。
不排除确实有些面试官不吃这一套,这个也看人。不过我相信大多数面试官都是能理解的,毕竟你在学校的时候实际上是没有什么获得实际项目经验的途径的。
大部分应届生的项目经验都是自己在网上找的或者像你一样买的付费课程跟着做的,极少部分是比较真实的项目。 从你能想着做一个实战项目来说,我觉得初衷是好的,确实也能真正学到东西。 但是,究竟有多少是自己掌握了很重要。看视频最忌讳的是被动接受,自己多改进一下,多思考一下!就算是你跟着视频做的项目,也是可以优化的!
如果你想真正学到东西的话,建议不光要把项目单纯完成跑起来,还要去自己尝试着优化!
简单说几个比较容易的优化点:
- 全局异常处理:很多项目这方面都做的不是很好,可以参考我的这篇文章:《使用枚举简单封装一个优雅的 Spring Boot 全局异常处理!》 来做优化。
- 项目的技术选型优化:比如使用 Guava 做本地缓存的地方可以换成 Caffeine 。Caffeine 的各方面的表现要更加好!再比如 Controller 层是否放了太多的业务逻辑。
- 数据库方面:数据库设计可否优化?索引是否使用使用正确?SQL 语句是否可以优化?是否需要进行读写分离?
- 缓存:项目有没有哪些数据是经常被访问的?是否引入缓存来提高响应速度?
- 安全:项目是否存在安全问题?
- ……
另外,我在星球分享过常见的性能优化方向实践案例,涉及到多线程、异步、索引、缓存等方向,强烈推荐你看看:https://t.zsxq.com/06EqfeMZZ 。
最后,再给大家推荐一个 IDEA 优化代码的小技巧,超级实用!
分析你的代码:右键项目-> Analyze->Inspect Code
扫描完成之后,IDEA 会给出一些可能存在的代码坏味道比如命名问题。
并且,你还可以自定义检查规则。
古人云:“他山之石,可以攻玉” 。善于学习借鉴别人的面试的成功经验或者失败的教训,可以让自己少走许多弯路。
在 的 「面经篇」 ,我分享了 15+ 篇高质量的 Java 后端面经,有校招的,也有社招的,有大厂的,也有中小厂的。
如果你是非科班的同学,也能在这些文章中找到对应的非科班的同学写的面经。
并且,知识星球还有专门分享面经和面试题的专题,里面会分享很多优质的面经和面试题。
相比于牛客网或者其他网站的面经,《Java 面试指北》中整理的面经质量更高,并且,我会提供优质的参考资料。
有很多同学要说了:“为什么不直接给出具体答案呢?”。主要原因有如下两点:
- 参考资料解释的要更详细一些,还可以顺便让你把相关的知识点复习一下。
- 给出的参考资料基本都是我的原创,假如后续我想对面试问题的答案进行完善,就不需要挨个把之前的面经写的答案给修改了(面试中的很多问题都是比较类似的)。当然了,我的原创文章也不太可能覆盖到面试的每个点,部分面试问题的答案,我是精选的其他技术博主写的优质文章,文章质量都很高。
(点击链接即可查看详细介绍)的部分内容展示如下,你可以将其看作是 JavaGuide 的补充完善,两者可以配合使用。
为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的。虽然收费只有培训班/训练营的百分之一,但是知识星球里的内容质量更高,提供的服务也更全面,非常适合准备 Java 面试和学习 Java 的同学。
欢迎准备 Java 面试以及学习 Java 的同学加入我的 ,干货非常多,学习氛围也很不错!收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。
下面是星球提供的部分服务(点击下方图片即可获取知识星球的详细介绍):
我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你!
如果你感兴趣的话,不妨花 3 分钟左右看看星球的详细介绍: 。
这里再送一张 30 元的星球专属优惠券,数量有限(价格即将上调。老用户续费半价 ,微信扫码即可续费)!
进入星球之后,记得查看 星球使用指南 (一定要看!!!) 和 星球优质主题汇总 ,干货多多!
无任何套路,无任何潜在收费项。用心做内容,不割韭菜!
不过, 一定要确定需要再进 。并且, 三天之内觉得内容不满意可以全额退款 。
面试之前,强烈建议大家多拿常见的面试题来进行自测,检查一下自己的掌握情况,这是一种非常实用的备战技术面试的小技巧。
在 的 「技术面试题自测篇」 ,我总结了 Java 面试中最重要的知识点的最常见的面试题并按照面试提问的方式展现出来。
每一道用于自测的面试题我都会给出重要程度,方便大家在时间比较紧张的时候根据自身情况来选择性自测。并且,我还会给出提示,方便你回忆起对应的知识点。
在面试中如果你实在没有头绪的话,一个好的面试官也是会给你提示的。
(点击链接即可查看详细介绍)的部分内容展示如下,你可以将其看作是 JavaGuide 的补充完善,两者可以配合使用。
为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的。虽然收费只有培训班/训练营的百分之一,但是知识星球里的内容质量更高,提供的服务也更全面,非常适合准备 Java 面试和学习 Java 的同学。
欢迎准备 Java 面试以及学习 Java 的同学加入我的 ,干货非常多,学习氛围也很不错!收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。
下面是星球提供的部分服务(点击下方图片即可获取知识星球的详细介绍):
我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你!
如果你感兴趣的话,不妨花 3 分钟左右看看星球的详细介绍: 。
这里再送一张 30 元的星球专属优惠券,数量有限(价格即将上调。老用户续费半价 ,微信扫码即可续费)!
进入星球之后,记得查看 星球使用指南 (一定要看!!!) 和 星球优质主题汇总 ,干货多多!
无任何套路,无任何潜在收费项。用心做内容,不割韭菜!
不过, 一定要确定需要再进 。并且, 三天之内觉得内容不满意可以全额退款 。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/10251.html