时间过得很快,已经到了九月中旬,从16年读研到如今将近两年的时间里,从一个Java初学者慢慢成长为一个合格的开发者,中间也遇到了不少困难。
html
我不是科班出身,因此是跨专业考研,因此在算法,计算机基础方面都比较不扎实,在两年的时间中也花了不少时间去弥补。固然最主要的仍是在Java后端方面的学习,我尝试过不少学习渠道,也踩了不少坑,在项目里划过水,也在实习里打过杂,一路磕磕绊绊到秋招。前端
在春招期间我其实就下定决心不实习而选择直接走校招了,当时已经拿到了阿里的实习offer,只不过没有去,一来是由于惧怕被拥抱变化,二来是对部门和评级不太满意。git
因此从四月开始,我就全面开始准备秋招了,因而我作了一个三个月的学习计划,争取在阿里提早批开始前复习完毕,因此在七月的时候基本上作好了充分的准备,后续的时间基本上都花在投简历,笔试面试以及查缺补漏上了。好在今年研发岗的竞争比较小,因此也拿了几个大厂的offer,秋招总算圆满结束。程序员
老规矩,先上图。github
从七月初第一次投递简历,到九月初,整整两个月的时间,大大小小投了几十家公司,其中不少都是提早批,内推,也经历了许多的笔试,面试。面试
期间也拿了几个offer,包括百度,蚂蚁金服,华为,网易(网易云音乐没给offer,调到了其余部门)。有几家直接收到拒信的,包括拼多多,深信服。还有几家在等待结果,包括腾讯,头条(头条今天刚刚收到意向书),快手,斗鱼等。算法
固然也有一些还没面试完的公司以及待安排面试的公司,这里就不展开说了。sql
八月底基本上提早批就已经结束了,因此通常这段时间正式校招也开始了,各类大规模的笔试也不少,因此你们即便没有拿到offer也不要灰心,毕竟校招是一场持久战,基本上要到九月十月才能下结论。数据库
我以前分享了不少公司的面经,其实大部分都是提早批的,不少都是直接免笔试的,由于我对算法并非很在行,因此感受仍是比较幸运的。编程
包括头条拿到了白金码,也很感谢那位给我白金码的牛友。另外牛客上的招聘信息,笔经面经也让我受益不浅,因此仍是很感谢牛客这个平台,我也但愿可以写一些东西来回馈牛客网和各位牛友。
有问题想要交流的同窗能够加我微信,另外我也建了一个校招交流群,但愿能分享一些有用的信息给你们。
固然也是想让你们能在群里交流一些校招问题,也包括技术问题,以便共同进步。
具体的面经都比较长,这里大概介绍一下面试的状况,而后我会放上面经的连接供你们查阅。
1 阿里面经
岗位是研发工程师,直接找蚂蚁金服的大佬进行内推。
我参与了阿里巴巴中间件部门的提早批面试,一共经历了四次面试,拿到了口头offer。
而后我也参加了蚂蚁金服中间件部门的面试,经历了三次面试,可是没有走流程,因此面试停止了。
最后我走的是蚂蚁金服财富事业群的流程,经历了四次面试,包括一次交叉面,最终拿到了蚂蚁金服的意向书,评级为A。
阿里的面试体验仍是比较好的,至少不要求手写算法,可是很是注重Java基础,中间件部门还会特别安排Java基础笔试。
2 腾讯面经
岗位是后台开发工程师,我没有选择意向事业群。
SNG的部门捞了个人简历,开始了面试,他们的技术栈主要是Java,因此比较有的聊。
一共经历了四次技术面试和一次HR面试,目前正在等待结果。
腾讯的面试一如既往地注重考查网络和操做系统,而且喜欢问Linux底层的一些知识,在这方面我仍是有不少不足的。
3 百度面经
岗位是研发工程师岗位,部门包括百度智能云的三个分部门以及大搜索部门。
百度的提早批面试不走流程,因此能够同时面试好多个部门,因此我参加百度面试的次数大概有12次左右,最终应该是拿了两个部门的offer。
百度的面试风格很是统一,每次面试基本都要到电脑上写算法,因此那段时间写算法写的头皮发麻。
4 网易面经
面试部门是网易云音乐,岗位是Java开发工程师。
网易是惟一一家我去外地面试的公司,也是我最先去实习的老东家。
一共三轮面试,耗时一个下午。
网易的面试比我想象中的要难,面试官会问的问题都比较深,而且会让你写一些结合实践的代码。
5 头条面经
岗位是后台研发工程师,地点选择了上海。
我参加的是字节跳动的内推面试,当时找了一个牛友要到了白金码,再次感谢这位头条大佬。
而后就开始了一下午的视频面试,一共三轮技术面试,每一轮都要写代码,问问题的风格有点像腾讯,也喜欢问一些底层知识,让我有点懵逼。
6 快手面经
岗位是Java开发工程师,面试个人部门好像是基础架构部门。
快手是两轮视频面试加上一轮hr面试。
7 拼多多面经
岗位是业务平台研发工程师。
当时在学校里参加了面试,过程是比较顺利的,问的问题也都比较有难度。
自我感受良好,可是最后却收到了拒信,仍是挺惋惜的。
对于校园招聘来讲,最重要的仍是基础知识。下面的博客专栏出自个人技术博客 blog.csdn.net/a724888
这些专栏中有一些文章是我本身原创的,也有一些文章是转载自技术大牛的,基本都是是我在学习Java后端的两年时间内陆续完成的。
总的来讲算是比较全面了,作后端方向的同窗能够参考一下。
本专栏主要介绍Java基础,而且会结合实现原理以及具体实例来说解。同时还介绍了Java集合类,设计模式以及Java8的相关知识。
带你走进JVM的世界,整合高质量文章以阐述虚拟机的原理及相关技术,让开发者更好地了解Java的底层运行原理以及相应的调优方法。
本专栏主要介绍Java并发编程相关的基本原理以及进阶知识。主要包括Java多线程基础,Java并发编程基本原理以及JUC并发包的使用和源码解析。
Java网络编程一直是很重要的一部份内容,其中涉及了socket的使用,以及Java网络编程的IO模型,譬如BIO,NIO,AIO,固然也包括Linux的网络编程模型。
了解这部分知识对于理解网络编程有不少帮助。另外还补充了两个涉及NIO的重要技术:Tomcat和Netty。
从这里开始打开去往JavaWeb世界的大门。什么是J2EE,什么是JavaWeb,以及这个生态中经常使用的一些技术:Maven,Spring,Tomcat,Junit,log4j等等。
咱们不只要了解怎么使用它们,更要去了解它们为何出现,其中一些技术的实现原理是什么。
本专栏主要讲解Spring和SpringMVC的实现原理。
Spring是最流行的Java框架之一。
本专栏文章主要包括IOC的实现原理分析,AOP的实现原理分析,事务的实现源码分析等,固然也有SpringMVC的源码解析文章。
本专栏介绍MySQL的基本知识,好比基本架构,存储引擎,索引原理,主从复制,事务等内容。固然也会讲解一些和sql语句优化有关的知识。
同时本专栏里也介绍了Redis的基本实现原理,包括数据结构,主从复制,集群方案,分布式锁等实现。
本专栏介绍分布式的基本理论和相关技术,好比CAP和BASE理论,一致性算法,以及ZooKeeper这类的分布式协调服务。
在分布式实践方面,咱们会讲到负载均衡,缓存,分布式事务,分布式锁,以及Dubbo这样的微服务,也包括消息队列,数据库中间件等等。
本专栏涵盖了大后端的众多技术文章,当你在Java后端方面有必定基础之后,再多了解一些相关技术老是有好处的。
除了Java后端的文章之外,还会涉及Hadoop生态,云计算技术,搜索引擎,甚至包括一些数据挖掘和AI的文章。
总的来讲选取了一些不错的基础类文章,能让你对大后端有一个更直观的认识。
我以前专门写了一篇文章介绍了Java工程师的书单,能够这里重点列举一些好书,推荐给你们。
完整内容能够参考这个帖子:www.nowcoder.com/discuss/993…
《计算机网络:自顶向下》这本从应用层讲到物理层,感受这种方式学起来更轻松。
《图解算法》《啊哈算法》
这两部书籍很是适合学习算法的入门,前者主要用图解的形式覆盖了大部分经常使用算法,包括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技术和校招的专栏,有兴趣的同窗能够看看:www.zhihu.com/people/h2pl
9 简书
简书上有些技术文章也很不错,有空你们也能够去看看。
10 Github
有一些GitHub的项目仍是很是不错的,其中也有仓库会分享技术文章。
个人GitHub:包括Java技术仓库,刷题指南以及项目记录
github.com/h2pl
提早批的笔试其实不是不少,我参加了网易,网易游戏,拼多多等公司的笔试,应该都是低分飘过。
个人算法基础比较通常,读研以前0基础,因此这方面不是颇有发言权,大概说几点个人学习经验。
1 打好数据结构基础
2 先易后难,看一些基础的算法书籍,好比《图结算法》,《啊哈算法》等等。
3 剑指offer刷起来,两到三遍,作到成竹在胸
4 LeetCode刷个200题左右,记得二刷,作好总结。
5 到牛客网作公司的历年真题,熟悉题型,保持手感。
剑指offer指南和LeetCode刷题指南能够在个人GitHub中参阅:
其中LeetCode指南是参考@CyC2018大佬的文章。
面试主要考的仍是你的基础知识,须要你对Java后端技术栈有一个全局上的把握,具体提及来就太多了。
我我的也总结了一些面试方面的经验,主要是一些技巧。
1 作好自我介绍和项目总结,把握你发言的主动权
2 搞清楚简历上的技术点,兵来将挡水来土掩
3 注意分点答题,思路清晰,也更容易讲清楚原理。
4 压力面下保持冷静,不要回怼面试官
5 HR面试注意经常使用技巧,能够提早准备。
文末附上征文连接:https://juejin.im/post/5b923adb5188255c6666c77b
微信公众号【黄小斜】大厂程序员,互联网行业新知,终身学习践行者。关注后回复「Java」、「Python」、「C++」、「大数据」、「机器学习」、「算法」、「AI」、「Android」、「前端」、「iOS」、「考研」、「BAT」、「校招」、「笔试」、「面试」、「面经」、「计算机基础」、「LeetCode」 等关键字能够获取对应的免费学习资料。