1.最新,完整一条龙,从入门到入土(表示推荐学习)
2.给出目标、学习建议、关键知识点、最优资源以及各类资源推荐(视频、书籍、文档、项目、工具等)
3.划分阶段、更有计划,且在最后给出持续学习的方向、探索Java程序员发展的无限可能
可以通过路线知识点前的表情字符,根据自己的实际情况选择学习:
1.首先呢,我们要了解Java的应用场景和就业方向,看看和自己的学习目的是否一致。
2.目前,Java由于其优秀的特性以及火爆的生态,岗位需求量大,是后台开发、安卓开发、大数据开发的主流编程语言,因此学习资源也很丰富,值得学习!
3.想学好编程,别背代码,要多写,把这句话刻到脑子里。
目标:
培养兴趣、快速上手,能运行和编写简单的Java程序。
学完本阶段后,可以试着用Java解决一些数学计算问题、编写图书管理系统等桌面端GUI程序,甚至是五子棋之类的小游戏。
Java编程基础(45天):
级别:
知识1.Java特点(看不懂没事,别背!)
2.环境搭建
想要学好编程,一定要多敲代码!建议先跟着书上的例子敲一遍代码,然后试着自主编写代码,并完成课后练习。
书籍:《HeadFirstJava》
Java8(3天):
等级:
学习建议
Java8是如今企业开发中最主流的Java稳定版本,在这个版本出现了很多实用的新特性,虽然面试考点不多,但能够提升编程效率,建议学习。
经典面试题1.java8有哪些新特性?2.HashMap在jdk1.7和1.8的区别?
练手项目:
尾声:
学完了Java基础后,有些同学会感到迷茫了啊,感觉好像啥也做不出来,不知道下一步做什么,我这一身的本领该如何施展啊?
不要慌,也不要急着去学新技术,接下来我们要多用Java来写代码了,巩固基础,但是写什么呢?
当然是数据结构和算法!
目标
想学好编程,计算机基础知识要学好。
比如算法,是程序员的灵魂。学好算法有助于我们理解程序、开拓思路,因此也是很多公司面试时考察的关键,在找工作前,还是要刷个上百道算法题目的。
我们这个阶段的目标是:熟练使用Java语言来编写程序,巩固Java基础。(那直接用Java来写算法题目,一举两得,岂不美哉?)
Java基础(30天)
学习建议建议大家去阅读《Java核心技术卷1》,这本书堪称经典,是帮助你复习巩固Java的不二之选,其中图形界面章节可以选择不看。之后可以刷牛客的Java练习题,检验自己的水平,我当时刷了两遍1000题(每天30题,1个月也就刷完了,二刷会更快!)。虽然都是选择题,但能学到很多Java语言的特性、避免写代码时容易犯的错误。
数据结构与算法
等级
数据结构:1.数组2.字符串3.队列4.栈5.链表6.集合7.哈希表8.二叉树
算法:1.排序2.双指针3.查找4.分治5.动态规划6.递归7.回溯8.贪心9.位运算10.DFS11.BFS12.图
学习建议学算法一定要多思考、多练习!!!在复习Java、巩固基础的过程中,每天可以坚持用Java做2-3道算法题目。
不用担心看不懂,直接进入LeetCode学习板块LeetBook,提供了免费的教程,文字、图解、动画讲算法、在线练习应有尽有,从0开始,跟着学习基础知识、跟着教程刷一些同类题目,培养算法思路。
有条件的朋友也可以试着参与竞赛,没什么门槛,可以帮助你集中精神,而且周赛的题目还是挺友好的~
视频
计算机导论
知识
1.计算机发展历史2.计算机应用领域3.计算机发展方向4.计算机基本组成5.二进制6.编程语言发展
学习建议大学计算机专业的同学一般刚开学就会上这门课,虽说学习它并不会直接提高你的编程技能,但能够让你更了解计算机和编程,从而在一定程度上帮助你培养学习兴趣、确定学习方向。
自学的话,不用刻意去学习计算机导论,而是可以通过看视频、阅读课外读物的方式慢慢地了解计算机的故事。
资源
操作系统
1.操作系统的组成2.进程、线程3.进程/线程间通讯方式4.进程调度算法5.进程/线程同步方式6.进程/线程状态7.死锁8.内存管理9.局部性原理
学习建议说实话,操作系统这一块知识挺枯燥的。你说说我现在项目都不会做,你又让我看这些理论,是不是想让我头秃?
还在校园就跟着学校的进度学习就成,自学的话可以看下《清华操作系统原理》视频,有实力的小伙伴,能看懂大黑书就更好了,但如果看不懂也别担心,这并不影响你后续知识的学习。
经典面试题1.什么是死锁?死锁产生的条件?2.线程有哪几种状态?3.有哪些进程调度算法?4.什么是缓冲区溢出?资源
《编码》《30天自制操作系统》《现代操作系统》(难度较大,不推荐新手看)《深入理解计算机系统》(难度较大,不推荐新手看)《自己动手写操作系统》(国产好书,网上可以下载)
大学课件:
计算机网络
1.网络分层模型2.网络传输过程3.IP、端口4.HTTP/HTTPS协议5.UDP/TCP协议6.ARP地址解析协议7.网络安全8.DNS域名解析
学习建议很多学习Java开发的同学最后都是从事后端开发的工作,而计算机网络知识是后端开发的重点。
和操作系统一样,自学网络可能会很枯燥,建议先看有趣的课外书,比如《图解HTTP》;或者有趣的视频,比如《计算机网络微课堂》。后面要找工作面试前,再重点去背一些八股文就好了。还在学校的同学好好上课一般就没问题。
学习基础能帮助自己今后发展更稳定,且更容易接受新知识,所以请不要相信基础无用论。
经典面试题1.计算机网络各层有哪些协议?2.TCP和UDP协议的区别?3.TCP为什么需要三次握手和四次挥手?4.HTTP和HTTPS协议的区别?资源
《图解HTTP》《网络是怎样连接的》《图解TCP/IP》大学课件
尾声
面向薪资编程,学习实际工作要用的技术,并能**独立**做出一个具有完整功能的JavaWeb项目。
MySQL数据库(7天)
企业中大部分业务数据都是用关系型数据库存储的,因此数据库是后台开发同学的必备技能,
其中MySQL数据库是目前的主流,也是面试时的重点。等级:
知识1.基本概念2.MySQL搭建3.SQL语句编写4.约束5.索引6.事务7.设计数据库表8.性能优化
学习建议其中,SQL语句编写和设计数据库表这两个能力一定要有!
比如让你做一个学生管理系统,你要能想到需要哪些表,比如学生表、班级表;每个表需要哪些字段、字段类型。
这就要求大家多写SQL、多根据实际的业务场景去练习设计能力。
经典面试1.MySQL索引的最左原则2.InnoDB和MyIsam引擎的区别?3.有哪些优化数据库性能的方法?4.如何定位慢查询?5.MySQL支持行锁还是表锁?分别有哪些优缺点?
开发框架(60天)
Java之所以能成为主流的企业开发语言,很大一部分原因是它完善的框架生态,用好框架,不仅能够大大提升开发效率,还能提高项目的稳定性、减少维护成本。
开发框架是后台开发工作中不可或缺的,也是面试考察的重点,一定要好好学!
不知道Java能做什么的朋友们,学完开发框架,就会有答案啦。下面给大家推荐的都是企业中应用最多的主流开发框架,知识点比较零碎,就放在一起讲了。
知识JavaWeb1.描述:Java网页应用开发基础2.前端基础3.XML4.JSON5.Servlet6.Filter7.Listener8.JSP9.JSTL10.Cookie11.Session
Spring5
1.描述:Java轻量级应用框架2.IOC3.AOP4.事务
SpringMVC1.描述:Java轻量级web开发框架2.什么是MVC?3.请求与响应4.RestfulAPI5.拦截器6.配置7.执行过程
MyBatis1.描述:数据访问框架,操作数据库进行增删改查等操作2.增删改查3.全局配置4.动态SQL5.缓存6.和其他框架的整合7.逆向工程
MyBatisPlus1.描述:Mybatis的增强工具,能够简化开发、提高效率2.引入3.通用CRUD4.条件构造器5.代码生成器6.插件扩展7.自定义全局操作
SpringBoot21.描述:简化Spring应用的初始搭建以及开发过程,提高效率2.常用注解3.资源整合4.高级特性5.本地热部署
SpringSecurity1.描述:Spring的安全管理框架2.用户认证3.权限管理
Maven/Gradle1.描述:项目管理工具2.构建3.依赖管理4.插件5.配置6.子父工程
由于技术较多,且框架之间存在一定的联系,因此建议大家看同一系列的视频教程(尚硅谷、狂神说等等都可以),以保证学习内容的连续以及体验上的一致。学这些技术的时候,千万不能懒!一定要多记笔记,并且跟着老师写代码。原理部分不要太过纠结,
先以能跟着敲出代码、写出可运行的项目为主,有些东西做出来也能帮助你更好地理解理论。学习顺序挺重要的,建议按我推荐的顺序学,不要一上手就学SpringBoot。只有先学习下自己整合框架的方法,
才能帮你理解SpringBoot解决的问题,感受到它的方便和高效。
开发规范(3天)
开发不规范,同事两行泪。开发规范是团队开发中必须遵守的,有利于提高项目的开发效率、降低维护成本。
知识代码规范:1.代码风格2.命名3.其他规则
提交规范:
学习建议简单过一遍大厂团队的规范手册就好了,以后做项目的时候能想起来的话就去使用,或者从书中、网上查规范,再去遵守。项目做得多了,自然会养成好的习惯,不用刻意去记(毕竟每个团队规范也不完全相同,背了也没用)。
Git(3天)
此前大家可能听说过GitHub,一流的代码开源托管平台。
Git和它可不一样,是一个版本控制工具,可以更好地管理和共享项目代码,比如把自己的代码传到GitHub上、或者从远程下载。
无论自己做项目、还是团队开发,Git都是现在不可或缺的神器。
知识1.工作区2.分支3.代码提交、推送、拉取、回退、重置4.分支操作5.代码合并、解决冲突6.标签7.cherry-pick
每个命令跟着敲一遍,有个大致的印象,会用即可,用的多了自然熟悉了。
Linux(10天)
企业中的很多前后台项目都是部署在Linux服务器上的,因此很有必要熟悉Linux的操作和脚本的编写。后面学微服务、学架构都是在多台服务器操作,如果你不熟悉Linux,会有点吃力。
知识1.Linux系统安装2.环境变量3.文件管理4.用户管理5.内存管理6.磁盘管理7.进程管理8.网络管理9.软件包管理10.服务管理11.日志管理12.Linux内核13.常用命令14.常用环境搭建15.Shell脚本编程16.VIM的使用
学习建议多动手实践,建议自己购买一台云服务器,并且在本地搭建Linux虚拟机环境。一定要自己从0开始手敲命令安装软件、部署服务,熟悉整个项目的上线流程。
每个命令至少要跟着敲一遍,了解它们的作用,并通过自然地练习,熟悉常用的Linux命令。记不住没关系,用文档查就行了。先会用,再理解。
前端基础(14天)
知识1.HTML2.CSS3.JavaScript4.Ajax5.Vue
学习建议不需要学习太多的前端技术,熟悉下基础的前端三件套,了解前端是如何向后端发送请求来做数据交互的一般就够了。
练手项目
更多请见本路线阶段5:[项目源码(50套)](###项目源码(50套))。
学完这个阶段的知识后,一定要再串起来回忆一遍,必须自己独立开发一个JavaWeb项目(量级可以不大,但你学过的技术尽可能地用上),能发布到Linux服务器上让其他小伙伴访问就更好了~
但如果你是想找Java方向的工作,尤其是想进大厂的话,一定要继续努力,用心学习下个阶段的企业开发进阶知识。
学习更多企业级开发技术和编程思想,能够结合多种技术,独立开发出架构合理的完整系统,解决实际问题。
要了解为什么需要这个技术?什么时候用哪些技术?
设计模式(21天)
设计模式是软件开发中解决一类问题的通用方法。使用设计模式能让你写出更优雅、可维护的代码,也正因如此,很多框架源码都用到了设计模式,你不学很难看懂。
.创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程:1.单例模式2.工厂方法模式3.抽象工厂4.建造者模式5.原型模式
结构型模式:把类或对象结合在一起形成一个更大的结构:1.适配器模式2.组合模式3.装饰器模式4.代理模式5.享元模式6.外观模式7.桥接模式
行为型模式:类和对象如何交互,及划分责任和算法:1.迭代器模式2.模板方法模式3.策略模式4.命令模式5.状态模式6.责任链模式7.备忘录模式8.观察者模式9.访问者模式10.中介者模式11.解释器模式
学习建议先理解概念,了解每个设计模式的特点和应用场景,再多加练习,运用到实际项目。
资源书籍1.《图解设计模式》(强烈推荐这本书,正是用Java语言实现,图多、有示例代码、有习题和答案,很不错)2.《HeadFirst设计模式》3.《大话设计模式》4.《设计模式:可复用面向对象软件的基础》(大黑书,有能力的话也可以去读)
中间件(14天)
Redis缓存1.数据类型2.常用操作3.Java操作Redis4.主从模型搭建5.哨兵集群搭建6.日志持久化7.应用场景
RabbitMQ消息队列1.消息队列的作用2.生产消费模型3.交换机模型4.死信队列5.延迟队列6.消息持久化7.Java操作8.集群搭建
Nginx网关1.Nginx作用2.正向代理3.反向代理(负载均衡)3.常用命令4.配置5.动静分离(网站部署)6.集群搭建
学习建议学会如何使用中间件并不难,先能够独立使用,了解他们的应用场景;再用Java来操作中间件,和项目相结合。
跟着视频教程实操一遍即可,可以等到面试前再去深入了解原理和高级特性。
文档
书籍1.《Redis实战》(经典)2.《RabbitMQ实战:高效部署分布式消息队列》(经典)
Netty网络编程(14天)
开源的Java网络编程框架,用于开发高性能(事件驱动、异步非阻塞)、高可靠的网络服务器和客户端程序。
很多网络框架和服务器程序都用到了Netty作为底层,学好Netty不仅可以让我们自己实现高性能服务器,也能更好地理解其他的框架应用、阅读源码。
知识1.IO模型(BIO/NIO)2.Channel3.Buffer4.Seletor5.Netty模型6.WebSocket编程(动手做个聊天室)
不同于之前学的SSM框架,Netty还是需要一定学习成本的,一方面是国内资源太缺乏,另一方面很多重要的概念(比如NIO)还是要多动手写代码调试才能理解。
微服务(60天)
随着互联网的发展,项目越来越复杂,单机且庞大的巨石项目已无法满足开发、运维、并发、可靠性等需求。
因此,后台架构不断演进,可以将庞大的项目拆分成一个个职责明确、功能独立的细小模块,模块可以部署在多台服务器上,相互配合协作,提供完整的系统能力。换言之,想做大型项目,这块儿一定要好好学!
Dubbo1.架构演进2.RPC3.Zookeeper4.服务提供者5.服务消费者6.项目搭建
微服务微服务概念
这部分内容的学习,原理+实践都很重要,也不要被各种高大上的词汇唬住了,都是上层(应用层)的东西,基本没有什么算法,跟着视频教程学,其实还是很好理解的。
容器(7天)
将应用和环境进行封装,相互隔离、独立部署、便于移植,提高安全性、提高开发和维护效率。
便于实现微服务、持续集成和交付。
Docker
K8S(Kubernetes)1.架构2.部署应用3.暴露服务4.动态扩缩容
CI/CD(3天)
持续集成/持续交付,贯穿整个研发到项目上线的过程,提高效率。大公司一般都有自己的CI/CD平台。
真正要自己去搭建的时候,跟着官方文档来就行。资源视频
综合所学技术从0到1开发和上线一个全面、有特色的、可以写进简历的个人项目。
下面推荐一些优质的、较新的项目实战视频教程+50套项目源码。
视频教程
常用类库
IDEA插件
1.BackgroundImagePlus+
StringManipulation
美化类
ExtraIcons
代码生成类CodotaAIAutocompleteforJavaandJavaScript
描述:配合Lombok依赖及注解使用,能够大大减少Java对象的代码量。IDEA已自带,无需安装。
EasyCode
常用软件
以下部分软件可在【公众号:程序员鱼皮】回复【软件】获取~
项目源码(50套)
博客论坛1.Mblog:开源Java博客系统
2.halo:一个优秀的开源博客发布应用
3.forum-java:一款用Java(springboot)实现的现代化社区(论坛/问答/BBS/社交网络/博客)系统平台
4.vhr:微人事是一个前后端分离的人力资源管理系统,项目采用SpringBoot+Vue开发。
7.NiterForum:尼特社区-NiterForum-一个论坛/社区程序。后端Springboot/MyBatis/Maven/MySQL,前端Thymeleaf/Layui。可供初学者,学习、交流使用。
8.VBlog:V部落,Vue+SpringBoot实现的多用户博客管理平台!
9.NiceFish:SpringBoot/SpringCloud前后端分离项目
10My-Blog:MyBlog是由SpringBoot+Mybatis+Thymeleaf等技术实现的Java博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验。
11.My-Blog-layui:layui版本的My-Blog:Asimple&beautifulbloggingsystemimplementedwithspring-boot&layui&thymeleaf&mybatisMyBlog是由SpringBoot+Layui+Mybatis+Thymeleaf等技术实现的Java博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验symphony:Java实现的现代化社区
管理系统
1.bootshiro:基于springboot+shiro+jwt的资源无状态认证权限管理系统后端
2.悟空CRM:基于jfinal+vue+ElementUI的前后端分离CRM系统
3.EL-ADMIN:基于SpringBoot的后台管理系统
4.pig:基于SpringBoot2.2、SpringCloudHoxton&Alibaba、OAuth2的RBAC权限管理系统。
5.FEBS-Shiro:SpringBoot2.1.3,Shiro1.4.0&Layui2.5.4权限管理系统。
6.SpringBoot-Shiro-Vue:基于SpringBoot-Shiro-Vue的权限管理
7.studentmanager:基于springboot+mybatis学生管理系统
8.jshERP:华夏ERP基于SpringBoot框架和SaaS模式,立志为中小企业提供开源好用的ERP软件,目前专注进销存+财务功能。主要模块有零售管理、采购管理、销售管理、仓库管理、财务管理、报表查询、系统管理等。支持预付款、收入支出、仓库调拨、组装拆卸、订单等特色功能。拥有库存状况、出入库统计等报表。同时对角色和权限进行了细致全面控制,精确到每个按钮和菜单。
9.HotelSystem:酒店管理系统Java,tomcat,mysql,servlet,jsp实现,没有使用任何框架
开发平台
open-capacity-platform:微服务能力开发平台
jeecg-boot:JeecgBoot是一款基于BPM的低代码平台!前后端分离架构SpringBoot2.x,SpringCloud,AntDesign&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发!
其他
1.学之思在线考试系统:一款java+vue的前后端分离的考试系统
2.PassJava-Platform:一款面试刷题的SpringCloud开源系统
3.kkFileView:使用springboot打造文件文档在线预览项目
4.dynamic-datasource:一个基于springboot的快速集成多数据源的启动器
5.moti-cloud:莫提网盘,基于SpringBoot+MyBatis+ThymeLeaf+BootStrap,适合初学者
6.threadandjuc:three-high-import高可用\高可靠\高性能,三高多线程导入系统(该项目意义为理论贯通)
8.hosp_order:医院预约挂号系统,基于SSM框架
9.趋势投资SpringCloud
10.DiyTomcat
不满足于能做,而是通过更深入和广泛的学习,实现高质量的代码和更优秀的架构,培养解决问题的能力。
并发编程(21天)
对Java后端开发程序员来说,懂得如何利用有限的系统资源来提高系统的性能是很重要的,也是大厂面试考察的重点,因此并发编程(尤其是Java并发包的使用)这块的知识很重要。
把它放到高级,是因为在学并发编程前,需要有一定的编程经验、了解一定的操作系统知识。
线程和进程线程状态并行和并发同步和异步SynchronizedVolatile关键字Lock锁死锁可重入锁线程安全线程池JUC的使用AQSForkJoinCAS
并发编程入门不难,依然是先学会使用基础的Java并发包,再通过大量地实践和测试,了解一些原理,才能真正掌握何时使用、如何更合理地使用并发编程。
项目
JVM(30天)
想要深入理解Java,探秘Java跨平台的奥秘,一定要了解Java底层的虚拟机技术。
了解虚拟机、掌握虚拟机性能调优方法,有助于你写出更高性能、资源占用更小的优质程序。
在学习JVM的过程中,也能学到很多精妙的设计,开拓思路。
知识JVM内存结构
JVM生命周期
主流虚拟机
Java代码执行流程
类加载1.类加载器2.类加载过程3.双亲委派机制
垃圾回收1.垃圾回收器2.垃圾回收策略3.垃圾回收算法4.StopTheWorld字节码
内存分配和回收
JVM性能调优1.性能分析方法2.常用工具3.参数设置
学习建议JVM的知识略显枯燥,建议先看视频,有实操的地方一定要实操!自己多去分析。第一遍不理解没有关系,可以再看书来巩固,想要真正学好,《深入理解Java虚拟机(第三版)》一定要读。如果只是为了通过面试可以直接看更精简的视频,比如狂神的。
书籍2.《深入理解Java虚拟机(第三版)》(有理论有实践,内容丰富,不可多得的JVM学习神书,就是有点废头发)
实战
架构设计
分布式
分布式理论1.CAP2.BASE
分布式缓存1.Redis2.Memcached3.Etcd一致性算法1.Raft2.一致性哈希
分布式事务
分布式id生成
分布式服务调用
分布式存储
分布式数据库
分布式文件系统
分布式协调1.Zookeeper
分布式监控1.Prometheus
分布式消息队列
分布式搜索引擎
1.Elasticsearch
分布式链路追踪1.ApacheSkyWalking
分布式配置中心1.Apollo2.Nacos
高可用1.主从2.异地多活3.容灾备份高并发
数据库1.分库分表2.读写分离
缓存1.缓存雪崩2.缓存击穿3.缓存穿透
负载均衡1.负载均衡算法2.软硬件负载均衡(2、3、4、7层)
1.监控告警2.领域驱动设计3.应用安全4.线上故障分析5.服务网格6.Serverless7.云原生
找到好工作
建议
岗位要求
面经
持续追求技术的深度和广度,培养自己的核心竞争力和不可替代性,学无止境!
自主学习,自主搜索教程,多看书,多阅读技术博客,多实践。
学习方向
框架源码
1.Spring2.SpringBoot3.SpringMVC4.MyBatis5.Netty6.Dubbo7.SpringCloud
数据库/中间件/分布式
数据库1.MySQL2.PostgreSQL缓存1.Redis队列1.ApacheKafka
2.ApachePulsar
搜索引擎1.ElasticStack
容器1.Docker2.K8S
解决方案
自学Java专题资源
程序员重要能力
想成为大佬,就是要通过学习和积累,提升自己的各方面能力,比较抽象,共勉!
1.团队协作能力
2.高效沟通能力
3.需求分析能力
4.架构设计能力
5.抽象复用能力
6.独立创造能力
7.问题解决能力
8.归纳总结能力
9.自主学习能力
10.工具利用能力
11.高效编码能力
12.信息检索能力
13.开源建设能力
14.源码阅读能力
15.自测审查能力
16.文档编写能力
17.知识表达能力
18.绘图描述能力
19.兴趣驱动(长期学习能力)
20.保持好奇心
21.其他(狗头)
(1).复制粘贴能力
(2).打架能力
(3).PPT制作能力
编程误区
高效法则
常见问题
1.按照这份路线学习,每天要学多少个小时,总共要学多久?
2.这份路线上推荐的资源,鱼皮都看完了么?
3.我学到这份路线的哪个位置,可以找工作?
回答:这和你自己的领悟能力和教育背景有关。夸张点说,有些清华大学的同学,可能之前都没学过Java,照样能找到大厂Java开发工作。学到同一阶段的同学,学习过程中的认真程度、积累总结数、做项目个数、基础学习的好坏不同,找到的工作肯定也不同。但一般情况下,想要进大厂,建议至少学完阶段4的微服务部分,然后去做一个完整的项目,用上之前学习的技术;不想进大厂的同学,学完第3阶段后,学下缓存和队列,一般也能找到Java开发的工作。
4.学完这份路线就能进大厂么?
回答:你先学完,再问这个问题。没有绝对进大厂的保证,但是相信我,把这份路线上的大部分知识学了,再做做项目,哪怕进不了大厂,你拿到的薪水也绝对比松散学习的同学高!
5.我可以相信你么?
回答:不要相信我,应该相信你自己。想进大厂,就不要怀疑自己的能力!