java自学之路——一位转行进大厂的粉丝学习方法

转载自一位粉丝的牛客网,有修改:

   今天收到猿辅导的意向书,应该是结束秋招了,因此写一些东西来记录一下自己的秋招历程回馈牛油:楼主211本,985硕,专业是四大天坑的材料专业,研究生前面两年在实验室努力搬砖,早早达到毕业要求,此为背景。疫情期间在家闲的很无聊,思考自己以后应该从事什么样的工作,自己的兴趣在哪(因为化学实验实在毒害身体健康,所以确实不想继续下去了),在[知乎](http://www.itnanls.cn/jump/super-jump/word?word=%E7%9F%A5%E4%B9%8E)上遇到了一个重大的老哥,也是材料专业转码了,加了微信咨询了一下过程(真的感谢老哥),材料专业的老哥能体验到其中的辛酸,再加上自己也问过实验室师兄的出路,确实不是很理想。遂决定转码。在次之前并无计算机相关的基础知识,还好有点兴趣坚持了下来:

学习历程:

入门最好看视频,普通本科更是要看视频。

先说一下学习过程吧,视频入门,楠哥的就行。二倍速看完之后半个月过去了,觉得太慢了,就开始看书,因为看书比较快,然后多看几遍理解的也比较深刻。

(ps:本人对于学习新知识热情比较大,复习旧知识有一定的抵触心理,所以楼

主看同一个内容的书籍喜欢看很多本,不同的大牛的说的理解是不一样的,可以和自己的理解相互验证)

计算机网络:
1. 计算机网络-自顶向下方法(必看)
2. 计算机网络-谢希仁(必看)
3. 图解HTTP (无聊看看)
4. 图解TCPIP(第5版) (无聊看看)
5. 网络是怎样连接的 (无聊看看)
6. HTTP权威指南 (选看)

7.极客时间的专栏

计算机操作系统:
1. 深入理解计算机操作系统(太难,只看了部分)
2. 计算机操作系统(第4版)汤小丹(必看)
3.现代操作系统(原书第3版) (选看)

Java:
1. 多看源码,看不懂找博客解析,书籍不推荐,太慢。

MySQL:
1. MySQL必知必会(工具书,查阅即可)
点击可以购买,人民邮电出版天猫社旗舰店

2. MySQL技术内幕 InnoDB存储引擎 (必看)
3. 高性能mysql第三版(必看)
4. 深入浅出MySQL(选看)

5 . 极客时间的专栏

Redis:

  1. redis设计与实现第二版(必看,3遍以上)
    2. Redis深度历险:核心原理和应用实践 (选看)

JVM和JUC:
1. 深入理解Java虚拟机(必看,3遍以上)
2. Java并发编程的艺术
3. 看集合包源码,AQS源码等等

算法

  1. 算法 第4版Java写的,选看部分(楼主没看完)
  2. 刷题就完事了,注意分类刷题,总结套路模板

项目

SSM框架是看的B站的视频,讲的比较仔细。SpringBoot等其他的都是看的视频,自己动手多多练习才是最重要的。

非科班的项目确实很low,自己搭了一个秒杀和管理系统,加了点中间件,从github上拷了点代码看了看。准备的挺low的,面试中问到的其实也挺少的,大部分面试官估计都看吐了吧。

刷题:楼主刷了leetcode 500道左右,面试的题很多都是相关的一些变形,企业相对来说更为看重应届生的coding能力吧。

部分面经(只记录了一些印象深刻的):

作业帮(2面挂):

多叉树的构造方式及应用场景

给sql判断索引的使用

场景题:大数据排序

算法题链表求和,求平方根(要求保留小数,不会处理挂了)

自己写一个售票的接口。

远景能源(hr面完挂):

手写归并排序

一个二维数组,按层遍历和按列遍历的区别(不会)

简单的算法题:升序数组中找到k个和x最为接近的数

hr面的时候我说想去上海或南京,hr告知只有无锡的岗位,然后和我说是不是想拿他们公司保底。。。(无语)

贝壳找房(意向书):

1.ajax的原理

2.签名的作用?(网络这一块的东西)

3.https的详细通信流程

4.mySQL中的几种日志

5.生产者消费者模式手写

6.你看了哪些书,介绍一本印象深刻的

7.如何自定义springboot的starter

阿里巴巴(三面挂):

吐槽一下阿里面试的突然袭击,我天天守着电话等你面试?

1面正常,如果用最小的箱子来包装不同的商品来节省费用

2面恶心,竟挑简历里面没有的问,可能就是刷KPI的吧,我全程说不知道。

3面通知了,我说没时间,说后续联系我,然后没信了。

美团(意向书):

美团面试体验极佳,反馈给的也很快。

1.布隆过滤器介绍一下,为什么要二进制数组,有什么优点

2.缓存三大问题

3.算法题最长公共子串,旋转链表的变形。

4.场景题:分区排序

5.场景题:如何设计一个五子棋。

面完说尽快给安排hr面,然后一个礼拜就意向书了,第一个意向书,感谢美团!!!

字节(一面挂):

字节很想去,面试的时候很紧张。然后特地早上6点起床刷了一天的题,刷到晚上6点开始面试。头脑贼晕,血亏/

挂在算法题没给出最优解,面试官提醒我好久,奈何当时太蠢,没想出来,遂挂!!

拼多多(一面挂):

基础全程自己在说。

算法题:字符串相加(其实题目不难,恶心的是不能自己调试代码,只能面试官调试,面试官只允许运行2次。没完全对,遂挂)

华为(面试完还在泡池子):

全程基础,他们不用Java,所以大部分都是计算机网络和操作系统

算法题:朋友圈关系(并查集的题目),分糖果

携程(意向书):

1面全程问框架,如果理解MVC三层架构,优势是什么,什么是ORM?(答的不好,以为挂了,结果过了)

2面因为也不是Java,就大部分是计算机相关的基础知识

算法题斐波那契数列、一个无序数组,0n的复杂度找到最大的x个数和最小的y个数

猿辅导(意向书):

1面全程问基础,还被面试官夸了,说是今天面试的所有人中基础最好的(有点小高兴。。)

算法题:单例模式,LRU

2面随便问了一些基础,开始写算法题:ip地址的所有划分方式、移动光标(具体题目不太记清了)

3面: order by 的原理(不知道)

索引的原理,什么时候用到,什么时候不会用到。

一致性哈希是什么?你在什么地方遇到过。如果理解虚拟结点的引入?

算法题:多个链表归并变形(加了一些条件)

面试体验极佳

滴滴(三面完秒挂):

全程都聊的非常好,面试官刚好也看了一些我上面罗列的书籍,于是全程讨论书中的知识

三面聊了一个多小时,最后和我说hc比较紧张,然后我没有实习,无法保证能很快上手,遂挂

算法题:字符串对齐

如果理解MySQL中的主从复制,如何实现,有什么问题,你怎么改进的?

Linux系统也问了一些,我直接说了不太会。。

体验一般(每一面中间都等了40分钟左右),一个下午结束然后秒感谢信了。

总结:

大的公司确实不是很在意你的专业,但是更看重你这个人是否聪明?个人觉得,题目不会面试官提醒你,然后你能想到,体现出自己思维敏捷也是蛮加分的。好像他们很怕带那种有点愚笨的新手。。

最后:面试遇到题目不会的不要慌,能够利用自己所学的知识来和面试官说自己的思考过程我觉得也是一种比较好的方式,说白了就和打LOL一样,如果面试官觉得carry不动你,也就不会和你组队了。

转行不易,感谢各位牛油这半年的陪伴,感谢女友的支持,感谢遇到的面试官的鼓励。希望大家都能拿到满意的offer!!!

推荐阅读更多精彩内容