分享Java后端开发学习路线和一些感想,大家一起交流。

字节跳动三面已完成(已意向),等结果等得我很难受,总结一下自己的学习路线,分享的同时也欢迎大家指出我哪里还应该加强,遗漏了哪些知识点,在牛客网学到了很多,得到了很多小伙伴的帮助,谢谢牛客谢谢大家。

基础学习阶段:

1 java基础(golang现在用的也好多)

重载、重写、类加载过程、多线程的同步问题、容器、线程池、并发工具类CountDownLatch CyclicBarrier Semaphore等是自己的重点,java进阶的话还是要学习一下jvm;

2 计算机网络

httphttps、对称加密非对称加密、三次握手四次挥手、五层模型、流量控制与拥塞避免、DNS查询过程等是自己的学习重点

3 操作系统

内存管理、进程线程管理是重点。比如:死锁、进程线程调度算法、页面置换算法、页式存储、虚拟内存、io多路复用等

4 数据结构与算法

数组、队列、链表、堆、栈、二叉树等;

布隆过滤器、一致hash、字典树、单调栈、b树、b+树等;

十大排序认认真真地掌握,很多算法题都是十大排序的变形,十大排序不能熟练掌握面试官一定会很无奈、尤其是快排的partation过程、归并的merge过程和堆heapify过程总是会出现在算法中。递归太好用了;
算法模式要自己总结,算法总结看了好多人博客,每个人的理解都是不同的;

5 mysql

存储引擎MyISAM与InnoDB、索引、索引底层和索引优化、b+树认真看看,mysql要熟练掌握,面试一直在被问,问得很细;

进阶学习:

1 JVM

内存模型、垃圾收集算法与垃圾收集器、内存溢出与内存泄漏是重点,JVM调优也学一下;

2 spring

3 springmvc

4 mybatis

5 springboot

框架不但要会用,也要能清晰原理比如自动配置的原理;

6 多线程 同步 并发等(这很重要)

生产者消费者模式代码、synchronizedlock、各种锁机制和锁升级;

7 一些常见的数据结构与算法的底层 比如Hash 、ConcurrentHashMap、LinkedHashMap、LRU(LRU要会自己敲底层实现,其实跟LinkedHashMap差不多);
8 设计模式
关于设计模式我并没有单独拎出来学习,而是在学框架的时候用到了什么就补充了一下。
比如学到bean的作用范围的时候补充学习了一下单例模式;
学IOC的时候补充学习了一下工厂模式;
学AOP的时候补充学习了代理模式;
学习Redistemplate的时候补充学习了模板模式;

强化阶段:(强化阶段学的还不太好,会在毕业前进行再强化)

1 redis(很重要,务必要熟练掌握,好像每次面试都被问到了)
热key和大key问题、击穿、穿透、雪崩、数据类型底层、RDB&AOF、实现消息中间件(发布者订阅者模式)、过期与淘汰策略。

2 分布式(主要学的分布式锁 分布式事务)

3 微服务

4 消息中间件(我努力加强)

算法:

算法不要觉得OJ平台通过了就万事大吉了,字节跳动这类公司的面试官算法都很牛X,如果你想不出最优解他一定会让你优化到满头大汗甚至怀疑人生。所以平时练习的时候要多看看别人的最优思路,一般情况下是允许以空间换时间的。

1 剑指offer多刷几遍;

2 牛客上的leetcode148题认真学习一下;

3 还看了左程云的188题,我只做了120+,有的题还是很有难度的,牛客上可以找到。很敬佩左程云老师;

4 华为的108题也刷一下吧,牛客网上有,有的题oj输入跟输入描述不对应,如果你觉得你的代码完全没问题但是就是不能通过所有测试,看看别人的正确答案,可能是测试用例的问题,气死我了,哈哈哈哈;

5 真题还有平时刷博客看到的题;
6 leetcode进阶中,希望养成刷题的好习惯;
------------------------------2020.08.03-----------------
参考资料:
计算机网络和操作系统书籍我直接看的教材,也看了一本传智播客的教材;
操作系统_清华大学(向勇、陈渝)视频;
计算机网络_哈工大的慕课视频;
各种框架是先在b站上看的视频,课程很多,找适合自己的吧,入门的时候可以关注一个up主教“狂神说”,这个up主讲的很通俗易懂但是很浅;
书单:
计算机网络+操作系统看的教材版本忘记了,都一样
《网络是怎样连接的》好像是小日本的书
《计算机网络技术及应用》黑马教程,写得像博客
《Java从入门到精通》
《head first Java》
《head first servlet&jsp》没看完
《java多线程编程核心技术》
《java并发编程的艺术》
《大话数据库》
《sql必知必会》
《大话数据结构与算法》
《程序员代码面试指南》偶像左程云著
《剑指offer》
《Java程序员面试笔试宝典》
《Java web程序设计任务教程》黑马教材
《springboot2+thymeleaf 企业应用实战》
《Java EE企业级应用开发教程》(spring+spring+mybatis)
《Redis实战》
《深入理解Spring Cloud与微服务架构》还没看完
好像书大体就这些 博客看得多一些

大家一起补充

#面经##秋招##Java##学习路径##笔记#
全部评论
感谢大家的评论、收藏和点赞。希望对大家有帮助,一起交流学习。
2 回复 分享
发布于 2020-08-02 19:38
😫基础知识的重点都看过,但看近期的面经,哪怕是基础知识一深挖就不会,这种情况咋办啊
1 回复 分享
发布于 2020-08-02 11:19
java后台真的好多东西要学,感觉学了这部分,忘了那部分😂,补充下还有设计模式。请问下你刷了多久的算法题呀?
2 回复 分享
发布于 2020-08-02 22:10
进字节,算法真的太重要了,面试很大概率要考一两道算法题
点赞 回复 分享
发布于 2020-08-02 10:47
请教楼主,大二下学期大三,接触Java两个多月,学习路线大致和您发的一样,想咨询您一下有必要做几个慕课上的商城之类的项目丰富简历吗,一直还没什么亲手做的项目
点赞 回复 分享
发布于 2020-08-02 11:24
请问你是社招还是校招
点赞 回复 分享
发布于 2020-08-02 14:35
感谢大佬分享,总是容易记了又忘,没有项目支撑,很难深入理解
点赞 回复 分享
发布于 2020-08-02 15:53
楼主简历上的项目咋整啊?
点赞 回复 分享
发布于 2020-08-03 00:14
楼主,有什么书籍或者资料推荐吗?
点赞 回复 分享
发布于 2020-08-03 07:48
楼主好,请问这么多东西你学了多长时间呀?
点赞 回复 分享
发布于 2020-08-18 18:51

相关推荐

杨柳哥:这不是普通人,那这个钱的是天才
点赞 评论 收藏
分享
63 497 评论
分享
牛客网
牛客企业服务