美文网首页Java 杂谈Spring-Boot
工作半年的Java程序员很迷茫,一直找不到工作,我该怎么办?

工作半年的Java程序员很迷茫,一直找不到工作,我该怎么办?

作者: 互联网Java进阶架构 | 来源:发表于2019-04-20 21:37 被阅读1次

    认清现实

    首先要明确的一点是:互联网行业现在确实没有之前好找工作了,而且现在面试的要求正常情况下是高于前几年的。

    你说说现在程序员这么多,你投递的公司可能与你一起投递的就有300人,可人家只招5人,那怎么办?简历PASS掉一大批,然后面试再PASS掉一大批。从这样来看,现在流行说的:“面试造火箭,工作拧螺丝”还是很有道理的,提高面试难度只是为了从很多人中招到自己需要的那些人。

    现在面试大公司你说你没有分布式开发经验估计都拿不出手,并发框架、消息队列、RPC框架、分布式基础理论等等已然大厂面试所必须的知识,但是,你真进入大厂了,可能几年都用不上这些知识,还是老老实实去写CRUD。

    提升自己的同时积累面试经验

    不要经历几次失败就怂了,怂了屁,扛不住了,哭一场,继续整!

    找一个工作其实没那么难

    其实找一个Java方向的工作还是挺容易的,不管你是否优秀,你的能力至少要与公司要求的所匹配!什么叫匹配?就拿下面这个招聘来说,看清楚招聘要求的关键词:“2-3年经验”、“web开发”、“Hibernate”、“Spring”、“MySQL”...这些都是关键词,是你简历上必须要有的。

    备战面试

    之前专门写过备战面试的文章,希望对你有帮助。

    【备战面试1】程序员的简历就该这样写

    【备战面试2】初出茅庐的程序员该如何准备面试?

    【备战面试3】7个大部分程序员在面试前很关心的问题

    【备战面试4】Github上开源的Java面试/学习相关的仓库推荐

    【备战面试5】如果面试官问你“你有什么问题问我吗?”时,你该如何回答

    【备战面试6】美团面试常见问题总结(附详解答案)

    下面的PDF文档是我免费分享的专为Java面试设计的文档,如果需要的话在公众号“JavaGuide”回复关键字“面试突击”就可以了。

    学习/编程好习惯

    养成一个学习习惯和编程习惯真的太重要了,一个好习惯的养成真的对后面的学习有很大帮助。说实话我自己当初在这方面吃了不少亏,很多比较好的习惯我也是后面自己才慢慢发现,所以这里想着重给大家说一下有哪些好的学习和编程习惯。

    正确提问

    如何提问

    我们平时任何时候都离不开提问特别是初学的时候,但是真正知道如何正确的提问的人很少。问别人问题前不要来一句“在吗”,你说你问了在吗我是回复好还是不回复好呢 ?不要让别人给你发 32 位的JDK,除非你是喜欢那个人。

    更多关于如何提问的内容,详见 github 上开源版『提问的智慧』 https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md,抽时间看一下,我想看完之后应该会有很多收获。

    健康生活

    我一直觉得这一方面是最重要的,我想很多人和我一样会无意识间忽略它,等到真的身体不舒服了,你才开始意识到健康生活的重要性。

    除非万不得已,不要熬夜了。熬夜的危害就不用多说了,秃头加内分泌失调,你懂得!

    看电脑45分钟之后,起来走5分钟,看看远方放松一下。不要觉得这5分钟浪费时间,相反,这5分钟可能为你带来更大的效率提升。

    可以考虑买一个电脑架子,保护好自己脊椎的同时,办公体验也会提升很多。

    可以下载一个护眼宝,感觉可以护眼模式挺棒的,非常适合我们这种需要经常盯着电脑的人使用,强烈安利。

    高效搜索

    尽量用 google 查找技术资料以及自己在学习中遇到的一些问题。

    解决 bug

    程序遇到问题先在 stackoverflow 找找,大部分别人已经遇到过了。如果上面没有的话,再考虑其他解决办法。实在解决不了的话,再去问你觉得有能力帮你解决的人(注意描述好自己的问题,不要随便截一个Bug 图)。

    善于总结

    学习完任何一门知识后,你可能当时看视频感觉老师讲的挺容易懂的。但是,过几天后你发现你忘的一干二净,别人问你一个类似的问题,你一点思路都没有。所以,我推荐你学完一门知识后不光要及时复习,还要做好总结,让知识形成一个体系。另外,你可以假想自己要给别人讲这个知识点,你能不能把这个知识点讲清楚呢?如果不能,说明你对这个知识点还没有彻底了解。这也就是人们经常说的费曼学习技巧。

    总结的方式:

    有道云笔记、OneNote......这类专门用来记录笔记的软件上;

    思维导图;

    通过写博客输出。可以考虑自己搭建一个博客(hexo+GithubPages非常简单),你也可以在简书、掘金......等等技术交流社区写博客。Markdown 格式参考:https://github.com/sparanoid/chinese-copywriting-guidelines 中文文案排版指北:https://github.com/sparanoid/chinese-copywriting-guidelines

    多用 Github

    没事多去Github转转,如果有能力可以参与到一些开源项目中。多看看别人开源的优秀项目,看看别人的代码和设计思路,看的多了,你的编程思想也会慢慢得到提升。除了这些优秀的开源项目之外,Github上面还有很多不错的开源文档、开源资料什么的,我觉得对我们平时学习都挺有帮助。Github用得好还能装一下,毕竟人家还是一个全英文网站,咳咳咳。

    实践

    多去实践,将学到的东西运用到实际项目中去。很多人都找我抱怨过没有实际项目让自己去做,怎么能有项目经验呢?如果实在没有实际项目让你去做,我觉得你可以通过下面几种方式:

    在网上找一个符合自己能力与找工作需求的实战项目视频或者博客跟着老师一起做。做的过程中,你要有自己的思考,不要浅尝辄止,对于很多知识点,别人的讲解可能只是满足项目就够了,你自己想多点知识的话,对于重要的知识点就要自己学会去往深出学。

    Github或者码云上面有很多实战类别项目,你可以选择一个来研究,为了让自己对这个项目更加理解,在理解原有代码的基础上,你可以对原有项目进行改进或者增加功能。

    自己动手去做一个自己想完成的东西,遇到不会的东西就临时去学,现学现卖。

    注意代码规范

    从学习编程的第一天起就要养成不错的编码习惯,包、类、方法的命名这些是最基本的。

    推荐阅读:

    阿里巴巴Java开发手册(详尽版)https://github.com/alibaba/p3c/blob/master/阿里巴巴Java开发手册(详尽版).pdf

    Google Java编程风格指南:http://www.hawstein.com/posts/google-java-style.html

    Effective Java第三版中文版: https://legacy.gitbook.com/book/jiapengcai/effective-java

    沟通能力

    程序员也离不开沟通。你可能需要与客户交流需求,还要和同事交流项目问题,还有可能定期需要向领导汇报项目进展情况。所以,我觉得不错的沟通能力也是一个优秀的程序员应该有的基本素质。

    面试必知

    如何获取大厂面试机会?

    在讲如何获取大厂面试机会之前,先来给大家科普/对比一下两个校招非常常见的概念——春招和秋招。

    招聘人数 :秋招多于春招 ;

    招聘时间 : 秋招一般7月左右开始,大概一直持续到10月底。但是大厂(如BAT)都会早开始早结束,所以一定要把握好时间。春招最佳时间为3月,次佳时间为4月,进入5月基本就不会再有春招了(金三银四)。

    应聘难度 :秋招略大于春招;

    招聘公司: 秋招数量多,而春招数量较少,一般为秋招的补充。

    综上,一般来说,秋招的含金量明显是高于春招的。

    下面我就说一下我自己知道的一些方法,不过应该也涵盖了大部分获取面试机会的方法。

    关注大厂官网,随时投递简历(走流程的网申);

    线下参加宣讲会,直接投递简历(相比于线上投递成功的几率会高很多!);

    找到师兄师姐/认识的人,帮忙内推(能够让你避开网申简历筛选,笔试筛选,还是挺不错的,不过也还是需要你的简历够棒);

    博客发文被看中/Github优秀开源项目作者,大厂内部人员邀请你面试;

    求职类网站投递简历(不是太推荐,适合海投)。

    面试的时候应该穿什么?

    穿西装、打领带、小皮鞋?NO!NO!NO!这是互联网公司面试又不是去走红毯,所以你只需要穿的简单大方就好,不需要太正式。

    面试前有哪些需要注意的地方?

    提前准备好自我介绍;

    随身带上自己的成绩单和简历(有的公司在面试前都会让你交一份成绩单和简历当做面试中的参考);

    如果需要笔试就提前刷一些笔试题;

    花时间做一些逻辑题和智力题(面试中发现有些公司都有逻辑题或者智力题测试环节,并且都把逻辑提或者智力题成绩作为很重要的一个参考);

    准备好自己的项目介绍;

    面试之前做好定向复习(所谓定向复习就是专门针对你要面试的公司来复习。比如你在面试之前可以在网上找找有没有你要面试的公司的面经);

    怎么自我介绍比较好?

    从HR面、技术面到高管面/部门主管面,面试官一般会让你先自我介绍一下,所以好好准备自己的自我介绍真的非常重要。网上一般建议的是准备好两份自我介绍:一份对hr说的,主要讲能突出自己的经历,会的编程技术一语带过;另一份对技术面试官说的,主要讲自己会的技术细节,项目经验,经历那些就一语带过。

    我这里简单分享一下我自己的自我介绍的一个简单的模板吧:

    面试官,您好!我叫某某。大学时间我主要利用课外时间学习某某。在校期间参与过一个某某系统的开发,另外,自己学习过程中也写过很多系统比如某某系统。在学习之余,我比较喜欢通过博客整理分享自己所学知识。我现在是某某社区的认证作者,写过某某很不错的文章。另外,我获得过某某奖,我的Github上开源的某个项目已经有多少Star了。

    如何介绍自己的项目?

    如果有项目的话,技术面试第一步,面试官一般都是让你自己介绍一下你的项目。你可以从下面几个方向来考虑:

    对项目整体设计的一个感受(面试官可能会让你画系统的架构图)

    在这个项目中你负责了什么、做了什么、担任了什么角色

    从这个项目中你学会了那些东西,使用到了那些技术,学会了那些新技术的使用

    另外项目描述中,最好可以体现自己的综合素质,比如你是如何协调项目组成员协同开发的或者在遇到某一个棘手的问题的时候你是如何解决的又或者说你在这个项目用了什么技术实现了什么功能比如:用redis做缓存提高访问速度和并发量、使用消息队列削峰和降流等等。

    如果面试官问"你有什么问题问我吗?"时,你该如何回答

    几乎每一场面试,特别是HR面和高管面的时候,面试官总是会在结尾问我:“问了你这么多问题了,你有什么问题问我吗?”。不管是技术面试还是非技术面试,如果你想赢得公司的青睐和尊重,我觉得我们都应该重视这个问题。

    网上提供了很多问题模板,我觉得回答这个问题重要要的就是:真诚一点,不要问太 Low 的问题。

    面试官问你的优点是什么,应该如何回答?

    回答这样的问题,最好能够结合你要应聘的职位来做针对性回答。一般面试官问这个问题的时候,很可能会只让你说几个你觉得最能体现你能力的优点,为了避免自己在面试过程中不知道该说自己的那些优点,你可以在面试之前好好准备一下。 面试的时候最好可以说几个你要应聘的职位所做的事情需要的优点或者说你要应聘的公司比较看重的优点(企业文化)。

    面试官问你的缺点是什么,应该如何回答?

    缺点肯定不能是目标岗位需要的关键能力!!!

    总之,记住一点,面试官问你这个问题的话,你可以说一些不影响你这个职位工作需要的一些缺点。比如你面试后端工程师,面试官问你的缺点是什么的话,你可以这样说:自己比较内向,平时不太爱与人交流,但是考虑到以后可能要和客户沟通,自己正在努力改。

    如何写出更优秀的代码

    Java

    使用 IntelliJ IDEA 作为您的集成开发环境 (IDE)

    使用 JDK 8 或更高版本

    使用 Maven/Gradle

    使用 Lombok

    编写单元测试

    重构:常见,但也很慢

    注意代码规范

    定期联络客户,以获取他们的反馈

    推荐一个学习过程中看的仓库

    笔主自己开源的一个Java学习与面试项目,目前已经几个月是JavaTrending榜第一名了,目前已经有 29k+ star,我自己有点不那么实至名归,我也只是靠平时业余时间来维护,大家可以看一下,因该对大家学习Java有一点没有帮助。

    这个仓库里面有常见知识点总结(目前还在继续完善中)、常见面试题、备战面试系列文章以及BATJ真实面经等内容。

    对于 Java 初学者来说: 本文档倾向于给你提供一个比较详细的学习路径,让你对于Java整体的知识体系有一个初步认识。另外,本文的一些文章 也是你学习和复习 Java 知识不错的实践;

    对于非 Java 初学者来说: 本文档更适合回顾知识,准备面试,搞清面试应该把重心放在那些问题上。要搞清楚这个道理:提前知道那些面试常见,不是为了背下来应付面试,而是为了让你可以更有针对的学习重点。

    图中文档资料获取可加qun:416843702 在裙内下载

    相关文章

      网友评论

        本文标题:工作半年的Java程序员很迷茫,一直找不到工作,我该怎么办?

        本文链接:https://www.haomeiwen.com/subject/lvhrgqtx.html