写简历应该怎么准备项目
找实习应该怎么准备项目?
造轮子应该怎么造?
面试应该怎么聊?
一篇文章为大家排忧解难, 帮大家写好简历, 做好项目, 提升就业竞争力
项目准备
简历上如何写项目
最近收到最多的提问就是, 简历上应该写什么项目, 应该准备什么项目, 项目经历怎么写到简历上.
如果你简历上没有实习经历
简历就写一个业务项目一个轮子项目.
如果你有一段实习经历
那就先写你实习的项目, 再写一个业务项目和一个轮子项目.
如果你有两段以上的实习经历
那就写2个实习经历项目+一个轮子项目.
业务项目与轮子项目
什么是业务项目
就是外卖商城, 博客等等针对具体业务的项目.
什么是轮子项目
轮子项目就是手写RPC, 手写Spring这种. 写到简历上的时候, 给轮子项目改个名, 不要在简历上写miniSpring, 手写Spring这种. 你起个其他名, 它叫Spring, 你叫summary.
轮子项目
写轮子项目要注意什么
如果你写了轮子项目, 那么把轮子项目的底层原理八股文也要学习了解, 保证自己能答得上来轮子项目相关的问题.
如果写了轮子而且八股都能答个八九不离十, 其实是很加分的,比业务项目含金量要高.
最好是能够说出, 你写的轮子项目和现有的轮子有什么优劣, 你比它强在哪儿.
项目亮点
面试官可能会问什么? 轮子项目的亮点该怎么找?
面试官可能会问
我看你手写了summary, 我们已经有Spring了, 为什么还要写summart 那么你的summary和我们用的spring有什么优劣, 你比它强在哪儿.
如果你只是答
我是为了学习造轮子, 那就显得平庸了. 所以你要答你的优点. 有多同学就在想, 我自己写的能有啥优势 我就只是跟着视频敲代码. 如果你只是机械地跟着视频写代码, 然后只是把视频中的内容搬到简历上 这是一种思维上的懒惰. 你找不到工作, 活该!
如何回答面试官的问题
那如果面试官问了这个问题, 怎么答呢
首先, 要如实说, 我写summary这个轮子, 有两方面的原因 一方面是学习, 通过造这个轮子, 我了解Spring的A原理, B原理, C原理.
如果你说了这句话, 这就是引导面试官后续问你spring A原理, B原理, C原理. 你是不是就可以提前了解Spring的A原理, B原理, C原理. 面试就成了开卷了.
另一方面, 我的这个轮子, 针对某个具体场景, 做了优化和改进. 首先Spring太重了, 我的summary更加轻量级. Spring在某个场景某个问题会有一些缺点, 我通过什么样的方式, 解决了这个问题. 当然了我的这个summary也在哪些方面有问题, 后续会参考spring或者参考Vert.x等其他框架的哪些点进行改进.
有人在想, 你说你的summary比spring更轻量级这个很合理, 因为本来spring就包罗万象很重.
但是你说spring在具体的场景有缺点, 还要改进. 我不知道有什么缺点, 不知道怎么改进呀
所以这就是要你自己学习的地方. 很多同学的思维是很懒惰的, 就想找一个课程, 跟着写完代码, 然后把课程里的东西搬到简历上, 从来没想过自己拓展优化.
那我直接来说一个spring的缺点, 不知道spring的spi机制大家有了解过吗
java自己有spi, spring做了改进, spring有spi. spring spi也有缺点, dubbo的spi做了改进, 解决了这些问题. 那你直接去了解dubbo的spi, 然后给抄过来就可以了.
又有人说了, 你说的spi机制太复杂了. 我都听不懂你在说啥. 有没有简单的改进
有. 比如说, springboot项目中, 要配置跨域, 要么用注解, 要么写代码 那我能不能手写springmvc, 里面新增一个功能, 可以写配置来实现跨域, 写配置放行某些请求.
有没有人觉得spring mvc有些注解, 用起来不是很方便, Controller层, 一般用 @RestController
注解把这个类注入容器并让类中的请求返回json, @RequestMapping
用来定义路径.
那我手写springmvc的时候, 能不能提供一个新注解, 把这两个结合起来, 叫 @MappingRestController
这个注解来融合 @RestController
和@RequestMapping
既能将对象注入容器, 又能定义路径.
我们的常用的一些轮子, 为了更加通用, 所以在一些具体场景不会做专门优化.
那我在自己造轮子, 就针对某个场景造轮子, 针对某个场景做优化. 你可以多观察一下, 常用框架在某些具体场景一定有很多地方是用起来不舒服, 不方便的. 我们在造轮子的时候, 只要做一点小小的改进就能成为简历上的亮点. 大家思维一定不要懒惰, 不要想着, 我看完课程自己不思考直接搬到简历上就行了, 一定要有自己的思考点.
项目的本质
有人一定又在想, 那我只改进一小点, 面试官会觉得我好吗?
首先你是造了一个轮子的, 造轮子你已经做了很多事情了 是在造了轮子的基础上改进了一个小点, 不是说你只做了这个小点.
其次, 面试官看你项目的本质是什么? 是看你项目更新颖吗?
他不是看谁的项目更新颖, 是看谁项目有更多的亮点, 有更多可讨论挖掘之处. 他不会说看到你的项目哇, 好新颖, 好厉害, 人工作这么多年了啥牛鬼蛇神的项目没见过. 面试官是通过项目中的亮点技术点, 以及和你面试交流的过程, 看到你的学习能力和对项目的思考. 他是要招你这个人进来, 他是通过项目看到背后的你身上的一些东西, 然后去评估你和这个岗位的匹配度,你和他们的需求的匹配度. 这才是本质.
总结
这一期讲轮子项目, 下一期会重点聊业务项目. 我做的项目亮点系列, 也会继续更新, 让大家能有更多的项目亮点写在简历上, 引发大家更多思考. 后面还会去聊怎么写简历, 面试的本质是在干什么, 面试官到底想招什么样的人.