本文主要包括三部分内容,这三部分内容也是我在三个时期完成的。


第一部分是我在参加2018春招时所写,主要记录了我在研究生期间学习Java后端的心路历程。


第二部分内容是我参加2019秋季招聘过程中所作,记录了秋招路上所经历的一切。


第三部分内容则是我在秋招尘埃落定之后,对之前所学所想而做出的总结。


第一部分:Java后端学习之路


第二部分:我的秋招回忆录


第三部分:我的秋招经验分享(研发方向)



一、Java后端学习之路



这部分内容是我在准备2018年春招的时候写的。主要记录了我在研究生期间从Java初学者到专注于Java后端技术栈的开发者的学习历程。


主要分享了学习过程中的一些经验和教训,让后来人看到,少走弯路,与君共勉,共同进步。如有错误,还请见谅。


不论你是不是网民,无论你远离互联网,还是沉浸其中;你的身影,都在这场伟大的迁徙洪流中。超越人类经验的大迁徙,温暖而无情地,开始了。


《互联网时代》


1:选择方向


1 小时候接触计算机和电脑比较早,对计算机和互联网有情怀,有兴趣,本科时在专业和学校里选择了学校,当时专业不是计算机,只能接触到一点点计算机专业课程,所以选择了考研,花半年时间复习考进了一个还不错的985,考研经历有空会发到博客上。


2 本科阶段接触过Java和Android,感觉app蛮有趣的,所以研一的时候想做Android,起初花大量时间看了计算机专业课的教材,效果很差。但也稍微了解了一些计算机基础,如网络,操作系统,组成原理,数据库,软工等。


3 在没确定方向的迷茫时期看了大量视频和科普性文章,帮助理清头绪和方向。期间了解了诸如游戏开发,c++开发,Android,Java甚至前端等方向,其中还包含游戏策划岗。


4 后来综合自身条件以及行业发展等因素,开始锁定自己的目标在Java后台方向。于是乎各种百度,知乎,查阅该学什么该怎么学如此类的问题,学习别人的经验。当然只靠搜索引擎很难找到精品内容,那段时间可谓是病急乱投医,走了不少弯路。


2:夯实基础


1 研一的工程实践课让我知道了我的基础不够扎实,由于并非科班,需要比别人更加勤奋,古语有云,天道酬勤,勤能补拙。赶上了17年的春招实习招聘,期间开始各种海投,各种大厂面试一问三不知,才知道自身差距很大,开始疯狂复习面试题,刷面经,看经验等。死记硬背,之乎者也,倒也是能应付一些小公司,可谓是临阵磨枪不快也光。


2 不过期间的屡屡受挫让我冷静思考了一段时间,我再度调研了岗位需求,学习方法,以及需要看的书等资料。再度开工时,我的桌上开始不断出现新的经典书籍。这还要归功于我的启蒙导师:江南白衣,在知乎上看到了他的一篇文章,我的Java后端书架。在这个书架里我找寻到了很多我想看的书,以及我需要学习的技术。


3 遥想研一我还在看的书:教材就不提了,脱离实际并且年代久远,而我选的入门书籍竟然还有Java web从入门到精通这种烂大街的书籍,然后就是什么Java编程思想啦,深入理解计算机系统,算法导论这种高深莫测的书,感觉有点高不成低不就的意思。要么太过难懂要么过于粗糙,这些书在当时基本上没能帮到我。


3:书籍选择


1 江南白衣的后端书架真是救我于水火。他的书架里收录了许多Java后端需要用到的技术书籍,并且十分经典,虽不说每本都适合入门,但是只要你用心去看都会有收获,高质量的书籍给人的启发要优于普通书籍。


2 每个门类的书我都挑了一些。比如网络的两本(《tcp ip卷一》以及《计算机网络自顶向下》),操作系统两本(一本《Linux内核设计与实现》,一本高级操作系统,推荐先看完《深入理解计算机系统》再来看这两本),算法看的是《数据结构与算法(Java版)》,Java的四大件(《深入理解jvm虚拟机》,《java并发编程艺术》,《深入java web技术内幕》,《Java核心技术 卷一》这本没看)。


3 当然还有像《Effective Java》,《Java编程思想》,《Java性能调优指南》这种,不过新手不推荐,太不友好。接着是spring的两本《Spring实战》和《Spring源码剖析》。当然也包括一些redis,mq之类的书,还有就是一些介绍分布式组件的书籍,如zk等。


4 接下来就是扩展的内容了,比如分布式的三大件,《大型网站架构设计与实践》,《分布式网站架构设计与实践》,《Java中间件设计与实践》,外加一本《分布式服务框架设计与实践》。这几本书一看,绝对让你打开新世界的大门,醍醐灌顶,三月不知肉味。


5 你以为看完这些书你就无敌了,就满足了?想得倒是挺美。这些书最多就是把我从悬崖边拉回正途,能让我在正确的道路上行走了。毕竟技术书籍这种东西还是有门槛的,没有一定的知识储备,看书的过程也绝对是十分痛苦的。


6 比如《深入理解jvm虚拟机》和《java并发编程艺术》这两本书,我看了好几遍,第一遍基本当天书来看,第二遍挑着章节看,第三遍能把全部章节都看了。所以有时候你觉得你看完了一本书,对,你确实看完了,但过段时间是你能记得多少呢。可以说是很少了。


4:谈一谈学习方法


1 人们在刚开始接触自己不熟悉的领域时,往往都会犯很多错误。刚开始学习Java时,就是摸着石头过河。从在极客学院慕课上看视频,到看书,再到看博客,再到工程实践,也是学习方式转变的一个过程。


2 看视频:适合0基础小白,视频给你构建一个世界观,让你对你要做的东西有个大概的了解,想要深入理解其中的技术原理,只看视频的话很难。


3 看书:就如上面一节所说,看书是一个很重要的环节。当你对技术只停留在大概的了解和基本会用的阶段时,经典书籍能够让你深入这些技术的原理,你可能会对书里的内容感到惊叹,也可能只是一知半解。所以第一遍的阅读一般读个大概就可以。一本书要吃透,不仅要看好几遍,还要多上手实践,才能变成自己的东西。


4 看博客,光看一些总结性的博客或者是科普性的博客可能还不够,一开始我也经常看这样的博客,后来只看这些东西,发现对技术的理解只能停留在表面。高质量的博客一般会把一个知识点讲得很透彻,比你看十篇总结都强,例如讲jdk源码的博文,可以很好地帮助你理解其原理,避免自己看的时候一脸懵逼。这里先推荐几个博客和网站,后面写复习计划的时候,会详细写出。

博客:江南白衣、酷壳、战小狼。


网站:并发编程网,importnew。


5 实践为王,Java后端毕竟还是工程方向,只是通过文字去理解技术点,可能有点纸上谈兵的感觉了。还有一个问题就是,没有进行上手实践的技术,一般很快就会忘了,做一些实践可以更好地巩固知识点。如果有项目中涉及不到的知识点,可以单独拿出来做一些demo,实在难以进行实践的技术点,可以参考别人的实践过程。


5: 实习,提高工程能力的绝佳机会


1 这段时间以后就是实习期了,三个月的W厂实习经历。半年的B厂实习,让我着实过了一把大厂的瘾。但是其中做的工作无非就是增删改查写写业务逻辑,很难接触到比较核心的部分。


2 于是乎我花了许多时间学习部门的核心技术。比如在W厂参与数据平台的工作时,我学习了hadoop以及数据仓库的架构,也写了一些博客,并且向负责后端架构的导师请教了许多知识,收获颇丰。


3 在B厂实习期间则接触了许多云计算相关的技术。因为部门做的是私有云,所以业务代码和底层的服务也是息息相关的,比如平时的业务代码也会涉及到底层的接口调用,比如新建一个虚拟机或者启动一台虚拟机,需要通过多级的服务调用,首先是HTTP服务调用,经过多级的服务调用,最终完成流程。在这期间我花了一些时间学习了OpenStack的架构以及部门的实际应用情况,同时也玩了一下docker,看了kubenetes的一些书籍,算是入门。


4 但是这些东西其实离后台开发还是有一定距离的,比如后台开发的主要问题就是高并发,分布式,Linux服务器开发等。而我做的东西,只能稍微接触到这一部门的内容,因为主要是to b的内部业务。所以这段时间其实我的进步有限,虽然扩大了知识面并且积累了开发经验,但是对于后台岗位来说还是有所欠缺的。


5 不过将近一年的实习也让我收获了很多东西,大厂的实习体验很好,工作高效,团队合作,版本的快速迭代,技术氛围很不错。特别是在B厂了可以解到很多前沿的技术,对自己的视野扩展很有帮助。


6:实习转正,还是准备秋招?


1 离职以后,在考虑是否还要找实习,因为有两份实习经历了,在考虑要不要静下心来刷刷题,复习一下基础,并且回顾一下实习时用到的技术。同一时期,我了解到腾讯和阿里等大厂的实习留用率不高,并且可能影响到秋招,所以当时的想法是直接复习等到秋招内推。因此,那段时间比较放松,没什么复习状态,也导致了我在今年春招内推的阶段比较艰难。


2 因为当时想着沉住气准备秋招,所以一开始对实习内推不太在意。但是由于AT招人的实习生转正比例较大,考虑到秋招的名额可能更少,所以还是不愿意错过这个机会。因为开始系统复习的时间比较晚,所以投的比较晚,担心准备不充分被刷。这次找实习主要是奔着转正去的,所以只投了bat和滴滴,京东,网易游戏等大厂。


3 由于投递时间原因,所以面试的流程特别慢。并且在笔试方面还是有所欠缺,刷题刷的比较少,在线编程的算法题还是屡屡受挫。这让我有点后悔实习结束后的那段时间没有好好刷题了。


7:调整心态,重新上路


1 目前的状态是,一边刷题,一边复习基础,投了几家大厂的实习内推,打算选一个心仪的公司准备转正,但是事情总是没那么顺利,微软,头条等公司的笔试难度超过了我的能力范围,没能接到面试电话。腾讯投了一个自己比较喜欢的部门,可惜岗位没有匹配上,后台开发被转成了运营开发,最终没能通过。阿里面试的也不顺利,当时投了一个牛客上的蚂蚁金服内推,由于投的太晚,部门已经招满,只面了一面就没了下文,前几天接到了菜鸟的面试,这个未完待续。


2 目前的想法是,因为我不怎么需要实习经历来加分了,所以想多花些时间复习基础,刷题,并且巩固之前的项目经历。当然如果有好的岗位并且转正机会比较大的话,也是会考虑去实习的,那样的话可能需要多挤点时间来复习基础和刷题了。


3 在这期间,我会重新梳理一下自己的复习框架,有针对性地看一些高质量的博文,同时多做些项目实践,加深对知识的理解。当然这方面还会通过写博客进行跟进,写博客,做项目。前阵子在牛客上看到一位牛友CyC2018做的名为interview notebook的GitHub仓库,内容非常好,十分精品,我全部看完了,并且参考其LeetCode题解进行刷题。


4 受到这位大佬的启发,我也打算做一个类似的代码仓库或者是博客专栏,尽量在秋招之前把总结做完,并且把好的文章都放进去。上述内容只是本人个人的心得体会,如果有错误或者说的不合理的地方,还请谅解和指正。希望与广大牛友共勉,一起进步。


二、我的秋招回忆录


忆往昔峥嵘岁月稠。


恰同学少年,风华正茂;书生意气,挥斥方遒。


心路历程,不是鸡汤


我之前用发了一篇秋招总结,虽然也写了很多东西,但是还是觉得少了点什么。


现在想想,好像是干货分享出去了,但是还有情感没有抒发,甚至连流水账都没有整理。那今天咱就抒抒情,各位看官莫见怪。


准确来说,我是在2018四月份左右开始准备秋招的。


当然,我在2017年有过两段实习经历,分别在网易和百度,这1年半的时间里我也有了一些学习积累,以及实践经验,对后续我参加秋招都是有很大帮助的。


因为这些经历不仅丰富了我的简历,也让我能有项目去和面试官交流,把握更多主动权,另外,长期的博客积累,以及项目实践,也会有很好的正面作用。


抛开这些不说,秋季招聘其实也是一场考试,应对考试的方法也只有复习,不管你之前简历再光鲜,博客和GitHub再NB,笔试面试题答不上来那也是徒劳。所以,对付考试的那一套,我们也得掌握。


春招落幕,抉择时刻


四月份其实是春招还在进行的时期,春招的时候我本来不打算参加的,因为担心转正的不确定性,但是当时招聘满天飞,没忍住就投了几家公司,最后只有阿里和京东给了offer。


纠结了很久以后,没去阿里,原因是担心拥抱变化,另外部门和评级我也不太满意。


当时我说:不要把命运交给别人来决定。现在想想确实还是挺正确的,说不定我去实习就被拥抱变化了,哪有现在的逍遥快活啊。


于是,春招告一段落,紧接着,我就开始进行秋招准备了。


复习计划,朝9晚10


在春招中我发现了很多问题,以前学过的东西要么忘了,要么理解不深,另外还有很多东西连看都没看过。


从那时起,我就开始拟定各种学习计划,刚开始先做三个月的计划,从四月到七月提前批开始前我要做什么,接着我又会在每个月都做详细的计划。


就这样,我把看书,写博客,刷题和做项目等内容都加入到了计划中,然后开始逐步消化。


这三个月的复习还是非常累的,春招的时候和舍友一起刷了一些LeetCode题目,后来舍友都去实习,宿舍只剩我一个人,然后我便开始了非常规律的复习生活。


每天我都会刷几道题,然后看一个知识点,晚上写个博客啥的。


这段时间我感觉积累的还是挺多的,并且学习的效率也比较高,更重要的是由产出,我在这一时期也搭了个自己的小站点,其实就是Hexo + GitHub。


另外在做项目方面,我看的是叶神的项目课,很受用,美滋滋。


提前批启,初露锋芒


这个节奏持续了一段时间,刚好我回了趟家,6月我都在家里复习。等到了6月底的时候,开始有提前批招聘出现,我是见一家投一家,想赶紧练练手。


七月份是我很重要的一个月。我几乎投了所有公司的提前批,当时先面了深信服。


接着又尝试了阿里中间件所谓的不进流程的提前批,接着面了蚂蚁金服,百度各个部门的提前批,以及各种小公司。


当然,在这之前我把简历搞定了,基本上能让我满意。这个阶段我光面百度就面了10多次,阿里也有7,8次了。


基本上各种乱七八糟的问题都遇到过了,然后我开始写面经,看别人的面经,继续刷题,写博客,然后面试面试面试。


面试多了以后,自我介绍和项目描述基本就形成肌肉记忆了,写算法题依旧蛋疼,但是也都能瞎扯一扯。基础知识点大概都能答得差不多,稍微差缺不漏一下,疲倦的一天就又过去了。


很多同学和我说,他们准备的太晚了,本来想着一边面试一边复习,后来发现笔试面试一多根本没时间复习。确实是这样的,提前批还好,电面视频面搞定,遇到笔试和线下面试,一天都没时间复习。


秋招不止,考试不息


就这样来到了8月份,8月份我主要面了腾讯和头条等公司,这两个公司的风格很像,注重计算机基础,对语言问的比较少,于是我都面的比较一般,最后运气好都过了,也是挺开心的。


在8月份的面试中,我的心态是比较轻松的,毕竟蚂蚁和百度面的还行,所以面这两家的时候也比较放松。另外我还去杭州面了一次网易,面完之后顺便去玩了两天。


9月份,其实在八月中旬就初见端倪了,2019秋招正式开始,大批公司发出招聘信息,牛客网上好不热闹,宣讲,笔试面试铺天盖地。


这段时间我已经比较佛系了,也就偶尔帮小伙伴一起做做题什么的。中间面了一两家比较刚兴趣的公司,还有一面貌似已凉的网易游戏。


信超越者,必拿offer


现在已经9月底了。很多同学的校招已经结束了,还有一些同学仍在战场,我身边有些朋友直到上周才收到第一个offer,所以,别急,总有属于你的那个offer。


另外,非互联网公司的技术岗位,大家也可以考虑一下,9月10月这样的公司会越来越多,除此之外,还有一票知名外企,包括亚马逊,微软,大摩等等。


开个公号,分享经验


有很多小伙伴好奇我为啥做这个公众号,其实我也是某天突发奇想,貌似就是7月底的时候,突然感觉自己棒棒哒。


提前批比较顺利,心态也比较放松,于是就想写点东西分享给参加秋招的小伙伴,毕竟自己也在参加秋招,感同身受,更有说服力吧。


于是我把一些经验,感悟,以及面经都写在了公众号中,然后也分享到了牛客网。


当然,由于我年少无知,几次想在牛客上发公众号都被警告了,也让我消停了好一阵子。


当然公众号也还在更新,我也希望把它做好,所以也希望大家可以给我一些反馈,我会相应地做改进。毕竟是第一次试水,有不成熟的地方还请多多包涵。


在座各位,前程似锦。


中秋节刚过,国庆节又要到来了。正如每一年的秋招一样,年复一年,在时间面前我们也是渺小的尘埃。


秋招结束不代表着结局,而是新的旅程开始,马上,毕业论文,offer选择,入职准备,毕业旅行等事项也要提上日程了。


不知道明年我们看待学弟学妹的秋招时,会是怎样的一种心境呢。


我的博客:https://blog.csdn/a724888


三、我的秋招经验分享(研发方向)



时间过得很快,已经到了九月中旬,从16年读研到现在将近两年的时间里,从一个Java初学者慢慢成长为一个合格的开发者,中间也遇到了很多困难。


我不是科班出身,所以是跨专业考研,所以在算法,计算机基础方面都比较不扎实,在两年的时间中也花了很多时间去弥补。当然最主要的还是在Java后端方面的学习,我尝试过很多学习渠道,也踩了很多坑,在项目里划过水,也在实习里打过杂,一路磕磕绊绊到秋招。


在春招期间我其实就下定决心不实习而选择直接走校招了,当时已经拿到了阿里的实习offer,只不过没有去,一来是因为害怕被拥抱变化,二来是对部门和评级不太满意。


所以从四月开始,我就全面开始准备秋招了,于是我做了一个三个月的学习计划,争取在阿里提前批开始前复习完毕,所以在七月的时候基本上做好了充分的准备,后续的时间基本上都花在投简历,笔试面试以及查缺补漏上了。好在今年研发岗的竞争比较小,所以也拿了几个大厂的offer,秋招总算圆满结束。


在学习和求职的道路上,牛客网帮助了我很多,为了回馈牛客网和各位牛友,我也想分享一下自己的秋招经历以及一些学习经验,希望能够帮助到有需要的人,特别是做研发方向的同学。


老规矩,先上图。



本文主要包括以下内容:


  • 1 秋招小结

  • 2 面经分享

  • 3 Java后端技术专栏

  • 4 Java工程师书单

  • 5 学习资源分享

  • 6 大牛博客推荐


一:秋招小结


从七月初第一次投递简历,到九月初,整整两个月的时间,大大小小投了几十家公司,其中很多都是提前批,内推,也经历了许多的笔试,面试。


期间也拿了几个offer,包括百度,蚂蚁金服,腾讯,华为,头条,网易(网易云音乐没给offer,调到了其他部门)。有几家直接收到拒信的,包括拼多多,深信服。还有几家在等待结果,包括携程,快手,斗鱼等。


当然也有一些还没面试完的公司以及待安排面试的公司,这里就不展开说了。


八月底基本上提前批就已经结束了,所以一般这段时间正式校招也开始了,各种大规模的笔试也很多,所以大家即使没有拿到offer也不要灰心,毕竟校招是一场持久战,基本上要到九月十月才能下结论。


我之前分享了很多公司的面经,其实大部分都是提前批的,很多都是直接免笔试的,因为我对算法并不是很在行,所以感觉还是比较幸运的。


包括头条拿到了白金码,也很感谢那位给我白金码的牛友。另外牛客上的招聘信息,笔经面经也让我受益匪浅,所以还是很感谢牛客这个平台,我也希望能够写一些东西来回馈牛客网和各位牛友。


二 : 面经分享


具体的面经都比较长,这里大概介绍一下面试的情况,然后我会放上面经的链接供大家查阅。


1 阿里面经


阿里中间件研发面经


蚂蚁金服研发面经


岗位是研发工程师,直接找蚂蚁金服的大佬进行内推。


我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。


然后我也参加了蚂蚁金服中间件部门的面试,经历了三次面试,但是没有走流程,所以面试中止了。


最后我走的是蚂蚁金服财富事业群的流程,经历了四次面试,包括一次交叉面,最终拿到了蚂蚁金服的意向书,评级为A。


阿里的面试体验还是比较好的,至少不要求手写算法,但是非常注重Java基础,中间件部门还会特别安排Java基础笔试。


2 腾讯面经


腾讯研发面经


岗位是后台开发工程师,我没有选择意向事业群。

SNG的部门捞了我的简历,开始了面试,他们的技术栈主要是Java,所以比较有的聊。

一共经历了四次技术面试和一次HR面试,目前正在等待结果。


腾讯的面试一如既往地注重考查网络和操作系统,并且喜欢问Linux底层的一些知识,在这方面我还是有很多不足的。


3 百度面经


百度研发面经


百度研发面经整合版


岗位是研发工程师岗位,部门包括百度智能云的三个分部门以及大搜索部门。


百度的提前批面试不走流程,所以可以同时面试好多个部门,所以我参加百度面试的次数大概有12次左右,最终应该是拿了两个部门的offer。


百度的面试风格非常统一,每次面试基本都要到电脑上写算法,所以那段时间写算法写的头皮发麻。


4 网易面经


网易研发面经


面试部门是网易云音乐,岗位是Java开发工程师。

网易是唯一一家我去外地面试的公司,也是我最早去实习的老东家。


一共三轮面试,耗时一个下午。


网易的面试比我想象中的要难,面试官会问的问题都比较深,并且会让你写一些结合实践的代码。


5 头条面经


今日头条研发面经


岗位是后台研发工程师,地点选择了上海。


我参加的是字节跳动的内推面试,当时找了一个牛友要到了白金码,再次感谢这位头条大佬。


然后就开始了一下午的视频面试,一共三轮技术面试,每一轮都要写代码,问问题的风格有点像腾讯,也喜欢问一些底层知识,让我有点懵逼。


6 快手面经


拼多多&快手研发面经


岗位是Java开发工程师,面试我的部门好像是基础架构部门。


快手是两轮视频面试加上一轮hr面试。


7 拼多多面经


拼多多&快手研发面经


岗位是业务平台研发工程师。


当时在学校里参加了面试,过程是比较顺利的,问的问题也都比较有难度。


自我感觉良好,但是最后却收到了拒信,还是挺可惜的。


三:Java后端技术专栏


对于校园招聘来说,最重要的还是基础知识。下面的博客专栏出自我的技术博客:


https://blog.csdn/a724888


这些专栏中有一些文章是我自己原创的,也有一些文章是转载自技术大牛的,基本都是是我在学习Java后端的两年时间内陆续完成的。


总的来说算是比较全面了,做后端方向的同学可以参考一下。


深入浅出Java核心技术

本专栏主要介绍Java基础,并且会结合实现原理以及具体实例来讲解。同时还介绍了Java集合类,设计模式以及Java8的相关知识。


深入理解JVM虚拟机

带你走进JVM的世界,整合高质量文章以阐述虚拟机的原理及相关技术,让开发者更好地了解Java的底层运行原理以及相应的调优方法。


Java并发指南

本专栏主要介绍Java并发编程相关的基本原理以及进阶知识。主要包括Java多线程基础,Java并发编程基本原理以及JUC并发包的使用和源码解析。


Java网络编程与NIO

Java网络编程一直是很重要的一部分内容,其中涉及了socket的使用,以及Java网络编程的IO模型,譬如BIO,NIO,AIO,当然也包括Linux的网络编程模型。

了解这部分知识对于理解网络编程有很多帮助。另外还补充了两个涉及NIO的重要技术:Tomcat和Netty。


JavaWeb技术世界

从这里开始打开去往JavaWeb世界的大门。什么是J2EE,什么是JavaWeb,以及这个生态中常用的一些技术:Maven,Spring,Tomcat,Junit,log4j等等。


我们不仅要了解怎么使用它们,更要去了解它们为什么出现,其中一些技术的实现原理是什么。


Spring与SpringMVC源码解析

本专栏主要讲解Spring和SpringMVC的实现原理。
Spring是最流行的Java框架之一。


本专栏文章主要包括IOC的实现原理分析,AOP的实现原理分析,事务的实现源码分析等,当然也有SpringMVC的源码解析文章。


本专栏介绍MySQL的基本知识,比如基本架构,存储引擎,索引原理,主从复制,事务等内容。当然也会讲解一些和sql语句优化有关的知识。


同时本专栏里也介绍了Redis的基本实现原理,包括数据结构,主从复制,集群方案,分布式锁等实现。


本专栏介绍分布式的基本理论和相关技术,比如CAP和BASE理论,一致性算法,以及ZooKeeper这类的分布式协调服务。


在分布式实践方面,我们会讲到负载均衡,缓存,分布式事务,分布式锁,以及Dubbo这样的微服务,也包括消息队列,数据库中间件等等。


本专栏涵盖了大后端的众多技术文章,当你在Java后端方面有一定基础以后,再多了解一些相关技术总是有好处的。


除了Java后端的文章以外,还会涉及Hadoop生态,云计算技术,搜索引擎,甚至包括一些数据挖掘和AI的文章。


总的来说选取了一些不错的基础类文章,能让你对大后端有一个更直观的认识。


四:Java工程师书单


我之前专门写了一篇文章介绍了Java工程师的书单,可以这里重点列举一些好书,推荐给大家。


完整内容可以参考这篇文章:

Java工程师必备书单


《计算机网络:自顶向下》这本从应用层讲到物理层,感觉这种方式学起来更轻松。


《图解算法》《啊哈算法》

这两部书籍非常适合学习算法的入门,前者主要用图解的形式覆盖了大部分常用算法,包括dp,贪心等等,可以作为入门书,后者则把很多常用算法都进行了实现,包括搜索,图,树等一些比较高级的常用算法。


《剑指offer》这本书还是要强烈推荐的,毕竟是面试题经常参考的书籍,当然最好有前面基本的铺垫再看,可能收获更大,这本书在面试之前一般都要嚼烂。如果想看Java版本的代码,可以到我的Github仓库中查看。


《Java编程思想》这本书也是被誉为Java神书的存在了,但是对新手不友好,适合有些基础再看,当然要选择性地看。我当时大概只看了1/3


《Java核心技术卷一》
这本书还是比较适合入门的,当然,这种厚皮书要看完还是很有难度的,不过比起上面那本要简单一些


《深入理解JVM虚拟机》
这本书是Java开发者必须看的书,很多jvm的文章都是提取这本书的内容。JVM是Java虚拟机,赋予了Java程序生命,所以好好看看把,我自己就已经看了三遍了。


《Java并发编程艺术》
这本书是国内作者写的Java并发书籍,比上面那一本更简单易懂,适合作为并发编程的入门书籍,当然,学习并发原理之前,还是先把Java的多线程搞懂吧。


《深入JavaWeb技术内幕》
这本书是Java Web的集大成之作,涵盖了大部分Java Web开发的知识点,不过一本书显然无法把所有细节都讲完,但是作为Java Web的入门或者进阶书籍来看的话还是很不错的。


《Redis设计与实现》
该书全面而完整地讲解了 Redis 的内部运行机制,对 Redis 的大多数单机功能以及所有多机功能的实现原理进行了介绍。这本书把Redis的基本原理讲的一清二楚,包括数据结构,持久化,集群等内容,有空应该看看。


《大型网站技术架构》
这本淘宝系技术指南还是非常值得推崇的,可以说是把大型网站的现代架构进行了一次简单的总结,内容涵盖了各方面,主要讲的是概念,很适合没接触过架构的同学入门。看完以后你会觉得后端技术原来这么博大精深。


《分布式服务框架原理与实践》
上面那本书讲的是分布式架构的实践,而这本书更专注于分布式服务的原理讲解和对应实践,很好地讲述了分布式服务的基本概念,相关技术,以及解决方案等,对于想要学习分布式服务框架的同学来说是本好书。


《从Paxos到Zookeeper分布式一致性原理与实践》
说起分布式系统,我们需要了解它的原理,相关理论及技术,这本书也是从这个角度出发,讲解了分布式系统的一些常用概念,并且带出了分布式一哥zookeeper,可以说是想学分布式技术的同学必看的书籍。


《大数据技术原理与应用》
作为大数据方面的一本教材,厦大教授写的这本书还是非常赞的,从最基础的原理方面讲解了Hadoop的生态系统,并且把每个组件的原理都讲得比较清楚,另外也加入了spark,storm等内容,可以说是大数据入门非常好的一本书了。


五:技术大牛推荐


1 江南白衣
这位大大绝对是我的Java启蒙导师,他推荐的Java后端书架让我受益匪浅。


2 码农翻身
刘欣,一位工作15年的IBM架构师,用最浅显易懂的文章讲解技术的那些事,力荐,他的文章帮我解决了很多困惑。


3 CoolShell
陈皓老师的博客相信大家都看过,干货很多,酷壳应该算是国内最有影响力的个人博客了。


4 廖雪峰
学习Git和Python,看它的博客就够了。


5 HollisChuang
阿里一位研发大佬的博客,主要分享Java技术文章,内容还不错。


6 梁桂钊
阿里另一位研发大佬,博客里的后端技术文章非常丰富。


7 chenssy
这位大佬分享的Java技术文章也很多,并且有很多基础方面的文章,新手可以多看看。


8 Java Doop
一位魔都Java开发者的技术博客,里面有一些不错的讲解源码的文章,数量不是很多,但是质量都挺不错的。


六:学习资源分享


学习Java后端两年的时间里,接触过很多的资料,网站和课程,也走了不少弯路,所以这里也总结一些比较好的资源推荐给大家。


0 CSDN和博客园,主流的技术交流平台,虽然广告越打越多了,但是还是有很多不错的博文的。


1 importnew 专注Java学习资源分享,适合Java初学者。


2 并发编程网,主要分享Java相关进阶内容,适合Java提高。


3 推酷 一个不错的技术分享社区。


4 segmentfault,有点像国内的Stack Overflow,适合交流代码问题的地方。


5 掘金,一个很有极客范的技术社区,强推,有很多技术大牛分享优质文章。


6 开发者头条,一个整合优质技术博客的社区,里面基本上都是精选的高质量博文,适合技术学习提升。


7 v2ex,一个极客社区,除了交流技术以外还会有很多和程序员生活相关的话题分享。


8 知乎
这个就不必多说了。我在知乎上也有Java技术和校招的专栏,有兴趣的同学可以看看:

https://www.zhihu/people/h2pl


9 简书
简书上有些技术文章也很不错,有空大家也可以去看看。


10 Github

有一些GitHub的项目还是非常不错的,其中也有仓库会分享技术文章。


我的GitHub:https://github/h2pl


▼更多精彩内容


关于秋招的一些真相
笔试经验小分享
有关秋招面试的一些小技巧
Java工程师必备书单
应届生如何获取招聘信息




文末附上征文链接:https://juejin.im/post/5b923adb5188255c6666c77b





更多推荐

我的2019秋招记忆(完整版) | 掘金技术征文