本文内容比较长,主要包含下面几部分内容:
对于学习路线的话,我说一条我比较推荐的,我相信照着这条学习路线来你的学习效率会非常高。下面提到的书籍以及相关学习视频都答主已经整理好,文末有免费获取方式。很多朋友这几天领取了我整理的学习资源之后都私信感谢我,我个人还是挺高兴的,说句心里话,这些资源都是自己花了很长时间整理的。
我上面主要概括一下每一步要学习的内容,对学习规划有一个建议。知道要学什么之后,如何去学呢?我觉得学习每个知识点可以考虑这样去入手:官网(大概率是英文,不推荐初学者看)、书籍(知识更加系统完全,推荐)、视频(比较容易理解,推荐,特别是初学的时候)、网上博客(解决某一知识点的问题的时候可以看看)。
这里给各位一个建议,看视频的过程中最好跟着一起练,要做笔记!!!最好可以边看视频边找一本书籍看,看视频没弄懂的知识点一定要尽快解决,如何解决?首先百度/google,通过搜索引擎解决不了的话就找身边的朋友或者认识的一些人。
笔主自己开源的一个java学习与面试项目,目前已经几个月是javatrending榜第一名了,目前已经有 33k+ star,我自己有点不那么实至名归,我也只是靠平时业余时间来维护,大家可以看一下,因该对大家学习java有一点没有帮助。
这个仓库里面有常见知识点总结(目前还在继续完善中)、常见面试题、备战面试系列文章以及batj真实面经等内容。
笔主自己开源的一个java学习与面试项目,目前已经几个月是javatrending榜第一名了,目前已经有 29k+ star,我自己有点不那么实至名归,我也只是靠平时业余时间来维护,大家可以看一下,因该对大家学习java有一点没有帮助。
这个仓库里面有常见知识点总结(目前还在继续完善中)、常见面试题、备战面试系列文章以及batj真实面经等内容。
点击这里在线阅读:http://snailclimb.top/javaguide/
养成一个学习习惯和编程习惯真的太重要了,一个好习惯的养成真的对后面的学习有很大帮助。说实话我自己当初在这方面吃了不少亏,很多比较好的习惯我也是后面自己才慢慢发现,所以这里想着重给大家说一下有哪些好的学习和编程习惯。
我们平时任何时候都离不开提问特别是初学的时候,但是真正知道如何正确的提问的人很少。问别人问题前不要来一句“在吗”,你说你问了在吗我是回复好还是不回复好呢 ?不要让别人给你发 32 位的jdk,除非你是喜欢那个人。
更多关于如何提问的内容,详见 github 上开源版『提问的智慧』 https://github.com/ryanhanwu/how-to-ask-questions-the-smart-way/blob/master/readme-zh_cn.md,抽时间看一下,我想看完之后应该会有很多收获。
我一直觉得这一方面是最重要的,我想很多人和我一样会无意识间忽略它,等到真的身体不舒服了,你才开始意识到健康生活的重要性。
尽量用 google 查找技术资料以及自己在学习中遇到的一些问题。
程序遇到问题先在 stackoverflow 找找,大部分别人已经遇到过了。如果上面没有的话,再考虑其他解决办法。实在解决不了的话,再去问你觉得有能力帮你解决的人(注意描述好自己的问题,不要随便截一个bug 图)。
学习完任何一门知识后,你可能当时看视频感觉老师讲的挺容易懂的。但是,过几天后你发现你忘的一干二净,别人问你一个类似的问题,你一点思路都没有。所以,我推荐你学完一门知识后不光要及时复习,还要做好总结,让知识形成一个体系。另外,你可以假想自己要给别人讲这个知识点,你能不能把这个知识点讲清楚呢?如果不能,说明你对这个知识点还没有彻底了解。这也就是人们经常说的费曼学习技巧。
总结的方式:
没事多去github转转,如果有能力可以参与到一些开源项目中。多看看别人开源的优秀项目,看看别人的代码和设计思路,看的多了,你的编程思想也会慢慢得到提升。除了这些优秀的开源项目之外,github上面还有很多不错的开源文档、开源资料什么的,我觉得对我们平时学习都挺有帮助。github用得好还能装一下,毕竟人家还是一个全英文网站,咳咳咳。
多去实践,将学到的东西运用到实际项目中去。很多人都找我抱怨过没有实际项目让自己去做,怎么能有项目经验呢?如果实在没有实际项目让你去做,我觉得你可以通过下面几种方式:
从学习编程的第一天起就要养成不错的编码习惯,包、类、方法的命名这些是最基本的。
推荐阅读:
程序员也离不开沟通。你可能需要与客户交流需求,还要和同事交流项目问题,还有可能定期需要向领导汇报项目进展情况。所以,我觉得不错的沟通能力也是一个优秀的程序员应该有的基本素质。
在讲如何获取大厂面试机会之前,先来给大家科普/对比一下两个校招非常常见的概念——春招和秋招。
综上,一般来说,秋招的含金量明显是高于春招的。
下面我就说一下我自己知道的一些方法,不过应该也涵盖了大部分获取面试机会的方法。
穿西装、打领带、小皮鞋?no!no!no!这是互联网公司面试又不是去走红毯,所以你只需要穿的简单大方就好,不需要太正式。
从hr面、技术面到高管面/部门主管面,面试官一般会让你先自我介绍一下,所以好好准备自己的自我介绍真的非常重要。网上一般建议的是准备好两份自我介绍:一份对hr说的,主要讲能突出自己的经历,会的编程技术一语带过;另一份对技术面试官说的,主要讲自己会的技术细节,项目经验,经历那些就一语带过。
我这里简单分享一下我自己的自我介绍的一个简单的模板吧:
面试官,您好!我叫某某。大学时间我主要利用课外时间学习某某。在校期间参与过一个某某系统的开发,另外,自己学习过程中也写过很多系统比如某某系统。在学习之余,我比较喜欢通过博客整理分享自己所学知识。我现在是某某社区的认证作者,写过某某很不错的文章。另外,我获得过某某奖,我的github上开源的某个项目已经有多少star了。
如果有项目的话,技术面试第一步,面试官一般都是让你自己介绍一下你的项目。你可以从下面几个方向来考虑:
几乎每一场面试,特别是hr面和高管面的时候,面试官总是会在结尾问我:“问了你这么多问题了,你有什么问题问我吗?”。不管是技术面试还是非技术面试,如果你想赢得公司的青睐和尊重,我觉得我们都应该重视这个问题。
网上提供了很多问题模板,我觉得回答这个问题重要要的就是:真诚一点,不要问太 low 的问题。
回答这样的问题,最好能够结合你要应聘的职位来做针对性回答。一般面试官问这个问题的时候,很可能会只让你说几个你觉得最能体现你能力的优点,为了避免自己在面试过程中不知道该说自己的那些优点,你可以在面试之前好好准备一下。 面试的时候最好可以说几个你要应聘的职位所做的事情需要的优点或者说你要应聘的公司比较看重的优点(企业文化)。
缺点肯定不能是目标岗位需要的关键能力!!!
总之,记住一点,面试官问你这个问题的话,你可以说一些不影响你这个职位工作需要的一些缺点。比如你面试后端工程师,面试官问你的缺点是什么的话,你可以这样说:自己比较内向,平时不太爱与人交流,但是考虑到以后可能要和客户沟通,自己正在努力改。
如对本文有疑问, 点击进行留言回复!!
case when + forEach 实现多条件多值批量更新
这些令人喷饭的代码注释,最后一个让我笑出了声(今日份的快乐源泉)
网友评论