|
8 | 8 |
|
9 | 9 | ### 没有项目经验怎么办? |
10 | 10 |
|
11 | | -没有项目经验是大部分应届生会碰到的一个问题。 |
| 11 | +没有项目经验是大部分应届生会碰到的一个问题。甚至说,有很多有工作经验的程序员,对自己在公司做的项目不满意,也想找一个比较有技术含量的项目来做。 |
12 | 12 |
|
13 | | -甚至说,有很多有工作经验的程序员,对自己在公司做的项目不满意,也想找一个比较有技术含量的项目来做。 |
14 | | - |
15 | | -说几种我觉得比较靠谱的方式吧!另外,下面的几种解决方案是针对你没有实际并且有价值的项目去做的情况。 |
| 13 | +说几种我觉得比较靠谱的获取项目经验的方式,希望能够对你有启发。 |
16 | 14 |
|
17 | 15 | #### 实战项目视频/专栏 |
18 | 16 |
|
19 | 17 | 在网上找一个符合自己能力与找工作需求的实战项目视频或者专栏,跟着老师一起做。 |
20 | 18 |
|
| 19 | +你可以通过慕课网、哔哩哔哩、拉勾、极客时间、培训机构(比如黑马、尚硅谷)等渠道获取到适合自己的实战项目视频/专栏。 |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | +尽量选择一个适合自己的项目,没必要必须做分布式/微服务项目,对于绝大部分同学来说,能把一个单机项目做好就已经很不错了。 |
| 24 | + |
| 25 | +我面试过很多求职者,简历上看着有微服务的项目经验,结果随便问两个问题就知道根本不是自己做的或者说做的时候压根没认真思考。这种情况会给我留下非常不好的印象。 |
| 26 | + |
| 27 | +我在[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)的「面试准备篇」中也说过: |
| 28 | + |
| 29 | +> 个人认为也没必要非要去做微服务或者分布式项目,不一定对你面试有利。微服务或者分布式项目涉及的知识点太多,一般人很难吃透。并且,这类项目其实对于校招生来说稍微有一点超标了。即使你做出来,很多面试官也会认为不是你独立完成的。 |
| 30 | +> |
| 31 | +> 其实,你能把一个单体项目做到极致也很好,对于个人能力提升不比做微服务或者分布式项目差。如何做到极致?代码质量这里就不提了,更重要的是你要尽量让自己的项目有一些亮点(比如你是如何提升项目性能的、如何解决项目中存在的一个痛点的),项目经历取得的成果尽量要量化一下比如我使用 xxx 技术解决了 xxx 问题,系统 qps 从 xxx 提高到了 xxx。 |
| 32 | +
|
21 | 33 | 跟着老师做的过程中,你一定要有自己的思考,不要浅尝辄止。对于很多知识点,别人的讲解可能只是满足项目就够了,你自己想多点知识的话,对于重要的知识点就要自己学会去深入学习。 |
22 | 34 |
|
23 | 35 | #### 实战类开源项目 |
24 | 36 |
|
25 | 37 | Github 或者码云上面有很多实战类别项目,你可以选择一个来研究,为了让自己对这个项目更加理解,在理解原有代码的基础上,你可以对原有项目进行改进或者增加功能。 |
26 | 38 |
|
27 | | -Java 类的实战项目,你可以从 **[awesome-java](https://github.com/Snailclimb/awesome-java)** 这个仓库里面找,里面有很多非常赞的项目。 |
| 39 | +你可以参考 [Java 优质开源实战项目](https://javaguide.cn/open-source-project/practical-project.html) 上面推荐的实战类开源项目,质量都很高,项目类型也比较全面,涵盖博客/论坛系统、考试/刷题系统、商城系统、权限管理系统、快速开发脚手架以及各种轮子。 |
| 40 | + |
| 41 | + |
28 | 42 |
|
29 | | - |
30 | 43 |
|
31 | | -一定要记住: **不光要做,还要改进,改善。不论是实战项目视频或者专栏还是实战类开源项目,都一定会有很多可以完善改进的地方。** |
32 | 44 |
|
33 | | -我在下面会详细介绍我们可以从哪些方面来优化项目。 |
| 45 | +一定要记住: **不光要做,还要改进,改善。不论是实战项目视频或者专栏还是实战类开源项目,都一定会有很多可以完善改进的地方。** |
34 | 46 |
|
35 | 47 | #### 从头开始做 |
36 | 48 |
|
37 | 49 | 自己动手去做一个自己想完成的东西,遇到不会的东西就临时去学,现学现卖。 |
38 | 50 |
|
39 | 51 | 这个要求比较高,我建议你已经有了一个项目经验之后,再采用这个方法。如果你没有做过项目的话,还是老老实实采用上面两个方法比较好。 |
40 | 52 |
|
41 | | -### 我跟着视频做的项目会被面试官嫌弃不? |
| 53 | +#### 参加各种大公司组织的各种大赛 |
| 54 | + |
| 55 | +如果参加这种赛事能获奖的话,项目含金量非常高。即使没获奖也没啥,也可以写简历上。 |
| 56 | + |
| 57 | + |
| 58 | + |
| 59 | +#### 参与实际项目 |
| 60 | + |
| 61 | +通常情况下,你有如下途径接触到企业实际项目的开发: |
| 62 | + |
| 63 | +1. 老师接的项目; |
| 64 | +2. 自己接的私活; |
| 65 | +3. 实习/工作接触到的项目; |
| 66 | + |
| 67 | +老师接的项目和自己接的私活通常都是一些偏业务的项目,很少会涉及到性能优化。这种情况下,你可以考虑对项目进行改进,别怕花时间,某个时间用心做好一件事情就好比如你对项目的数据模型进行改进、引入缓存提高访问速度等等。 |
| 68 | + |
| 69 | +实习/工作接触到的项目类似,如果遇到一些偏业务的项目,也是要自己私下对项目进行改进优化。 |
| 70 | + |
| 71 | +尽量是真的对项目进行了优化,这本身也是对个人能力的提升。如果你实在是没时间去实践的话,也没关系,吃透这个项目优化手段就好,把一些面试可能会遇到的问题提前准备一下。 |
| 72 | + |
| 73 | +### 跟着视频做的项目会被面试官嫌弃不? |
42 | 74 |
|
43 | 75 | 很多应届生都是跟着视频做的项目,这个大部分面试官都心知肚明。 |
44 | 76 |
|
@@ -71,6 +103,22 @@ Java 类的实战项目,你可以从 **[awesome-java](https://github.com/Snail |
71 | 103 |
|
72 | 104 |  |
73 | 105 |
|
| 106 | +### 如何优化项目经历性价比更高? |
| 107 | + |
| 108 | +面试之前,你可以跟着网上的教程,从性能优化方向入手去改进一下自己的项目。为什么建议从性能优化方向入手呢?因为性能优化方向改进相比较于业务方向的改进性价比会更高,更容易体现在简历上。并且,更重要的是,性能优化方向更容易在面试之前提前准备,面试官也更喜欢提问这类问题。 |
| 109 | + |
| 110 | +你项目没有用到的性能优化手段,只要你搞懂吃透并且觉得合理,你就完全可以写在简历上。不过,建议你还是要实践一下,压测一波,取得的成果也要量化一下比如我使用 xxx 技术解决了 xxx 问题,系统 qps 从 xxx 提高到了 xxx。 |
| 111 | + |
| 112 | +### 必须是微服务项目才有亮点? |
| 113 | + |
| 114 | +个人认为也没必要非要去做微服务或者分布式项目,不一定对你面试有利。微服务或者分布式项目涉及的知识点太多,一般人很难吃透。并且,这类项目其实对于校招生来说稍微有一点超标了。即使你做出来,很多面试官也会认为不是你独立完成的。 |
| 115 | + |
| 116 | +其实,你能把一个单体项目做到极致也很好,对于个人能力提升不比做微服务或者分布式项目差。如何做到极致?代码质量这里就不提了,更重要的是你要尽量让自己的项目有一些亮点(比如你是如何提升项目性能的、如何解决项目中存在的一个痛点的),项目经历取得的成果尽量要量化一下比如我使用 xxx 技术解决了 xxx 问题,系统 qps 从 xxx 提高到了 xxx。 |
| 117 | + |
74 | 118 | 本文节选自 **[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)** 的「面试准备篇」。 |
75 | 119 |
|
76 | | - |
| 120 | + |
| 121 | + |
| 122 | +<div align="center"> |
| 123 | + <img src="https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/gongzhonghaoxuanchuan.png" style="margin: 0 auto;" /> |
| 124 | +</div> |
0 commit comments