普通大学生自学JAVA怎样才能进大厂?

我有个朋友毕业工作一年之后,有了转行的想法,偶然接触到程序员这方面,产生了浓厚且强烈的兴趣,自学一年Java,收割了大厂offer,开始了他的程序员生涯。

在自学过程中有过一些小厂的面试经历,也在一些小型的互联网公司实习过,这些都不是本文重点。本篇章主要分享一下这次蚂蚁金服、字节跳动、美团、头条等8个大厂的面试真题涉及到的知识点,以及我个分享给他的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于JAVA基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。 详细大厂面试题答案、学习笔记、学习视频等资料领取

JVM:

  1. 内存模型以及分区,需要详细到每个区放什么。
  2. 堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。
  3. 对象创建方法,对象的内存分配,对象的访问定位。
  4. GC 的两种判定方法
  5. SafePoint 是什么
  6. GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
  7. GC 收集器有哪些?CMS 收集器与 G1 收集器的特点。
  8. Minor GC 与 Full GC 分别在什么时候发生?
  9. 几种常用的内存调试工具
  10. 类加载的过程
  11. JVM 内存分哪几个区,每个区的作用是什么?
  12. 如何判断一个对象是否存活?(GC 对象的判定方法)
  13. 简述 java 垃圾回收机制?
  14. java 中垃圾收集的方法有哪些?
  15. java 内存模型
  16. java 类加载过程
  17. 简述 java 类加载机制
  18. 类加载器双亲委派模型机制
  19. 什么是类加载器,类加载器有哪些?
  20. 简述 java 内存分配与回收策率以及 Minor GC 和 Major GC

[图片上传失败...(image-8012d7-1595916452285)]

Spring(常问部分): Spring全家桶完整版有单独整理,需要Spring全家桶面试真题点击(Spring全家桶)领取,内容包括SpringBoot、SpringMVC、SpringCloud、Spring源码深度解析等

  1. 什么是 Spring 框架?Spring 框架有哪些主要模块?
  2. 使用 Spring 框架能带来哪些好处?
  3. 什么是控制反转(IOC)?什么是依赖注入?
  4. 请解释下 Spring 框架中的 IoC?
  5. BeanFactory 和 ApplicationContext 有什么区别?
  6. Spring 有几种配置方式?
  7. 如何用基于 XML 配置的方式配置 Spring
  8. 如何用基于 Java 配置的方式配置 Spring?
  9. 怎样用注解的方式配置 Spring?
  10. 请解释 Spring Bean 的生命周期?
  11. Spring Bean 的作用域之间有什么区别?
  12. 什么是 Spring inner beans?
  13. Spring 框架中的单例 Beans 是线程安全的么?
  14. 请举例说明如何在 Spring 中注入一个 Java Collection?
  15. 如何向 Spring Bean 中注入一个 Java.util.Properties?
  16. 请解释 Spring Bean 的自动装配?
  17. 请解释自动装配模式的区别?
  18. ......

[图片上传失败...(image-14eebf-1595916452284)]

MySQL:

  1. 数据库三范式是什么?
  2. 有哪些数据库优化方面的经验?
  3. 请简述常用的索引有哪些种类?
  4. 以及在 mysql 数据库中索引的工作机制是什么?
  5. MySQL 的基础操作命令
  6. mysql 的复制原理以及流程
  7. mysql 支持的复制类型
  8. mysql 中 myisam 与 innodb 的区别
  9. ......

[图片上传失败...(image-253528-1595916452284)]

Dubbo:

  1. Dubbo 支持哪些协议,每种协议的应用场景,优缺点?
  2. Dubbo 超时时间怎样设置?
  3. Dubbo 有些哪些注册中心?
  4. Dubbo 是什么?
  5. Dubbo 的主要应用场景?
  6. Dubbo 的核心功能
  7. Dubbo 服务注册与发现的流程
  8. Dubbo 的架构设计
  9. ......

[图片上传失败...(image-c85665-1595916452283)]

Java基础:

  1. 面向对象和面向过程的区别
  2. Java 语言有哪些特点
  3. Java 和 C++的区别
  4. 什么是 Java 程序的主类?应用程序和小程序的主类有何不同?
  5. 字符型常量和字符串常量的区别
  6. 构造器 Constructor 是否可被 override
  7. 重载和重写的区别
  8. Java 面向对象编程三大特性: 封装 继承 多态
  9. String StringBuffer 和 StringBuilder 的区别是什么?String 为什么是不可变的?
  10. 自动装箱与拆箱
  11. 在一个静态方法内调用一个非静态成员为什么是非法的?
  12. import java 和 javax 有什么区别 ?
  13. 接口和抽象类的区别是什么?
  14. 一个类的构造方法的作用是什么 若一个类没有声明构造方法,该程序能正确执行吗 ?为什么?
  15. == 与 equals(重要)
  16. hashCode 与 equals(重要)
  17. 为什么 Java 中只有值传递?
  18. 线程有哪些基本状态?
  19. 关于 final 关键字的一些总结
  20. Java 中的异常处理
  21. ......

[图片上传失败...(image-9320d2-1595916452282)]

更多专题整理:

[图片上传失败...(image-a7c351-1595916452282)]

我的学习成长路线

学习方法:视频快速入门——>书籍慢慢深入——>动手实操

建议:关于学习方法,是因人而异的,每个人的学习方法都不同,甲的学习方法不适合乙,乙的学习方法不适合丙,所以找到属于自己的学习方法才是最正确的,有的适合自己看视频看书学习,有的人在培训班里更容易成长,所以无论选择何种学习方式,适合自己,且坚持到底才是最重要的

你可能感兴趣的:(普通大学生自学JAVA怎样才能进大厂?)