前言
不论是校招还是社招都避免不了各种⾯试、笔试,如何去准备这些东⻄就显得格外重要,之前8月底阿里的人事部门打电话叫我要不要面试,当时正处于换工作的期间,于是就把简历发给阿里hr。
人事审核后经过一些列面试、机试,最终顺利拿到了offer,出于未来职业规划的考量,本人手里还有其他的一些offer,还没有定下来,顺便在此分享一下我面试阿里的一些经验以及面试题总结的分享!
一、多线程
-
多线程有什么用?
-
线程和进程的区别是什么?
-
一个线程的生命周期有哪几种状态?它们之间如何流转的?
-
多线程同步有哪几种方法?
-
线程怎样拿到返回结果?
-
线程 yield()方法有什么用?
-
什么是 CAS 算法?在多线程中有哪些应用。
-
ThreadLocal 是什么?有什么应用场景?
-
为什么你应该在循环中检查等待条件?
-
提交任务时线程池队列已满会时发会生什么?
-
Java 中 notify 和 notifyAll 有什么区别?
-
Java 中堆和栈有什么不同?
-
你如何在 Java 中获取线程堆栈?
二、MySQL
-
MySQL中有哪几种锁?
-
简述在MySQL数据库中MyISAM和InnoDB的区别
-
CHAR和VARCHAR的区别?
-
如果一个表有一列定义为TIMESTAMP,将发生什么?
-
BLOB和TEXT有什么区别?
-
NOW()和CURRENT_DATE()有什么区别?
-
MySQL里记录货币用什么字段类型好
-
MySQL数据库作发布系统的存储,一天五万条以上的增量, 预计运维三年,怎么优化?
-
索引的底层实现原理和优化
-
实践中如何优化MySQL
-
简单描述MySQL中,索引,主键,唯一索引,联合索引
-
SQL注入漏洞产生的原因?如何防止?
-
为表中得字段选择合适得数据类型
-
对于关系型数据库而言,索引是相当重要的概念,请回答
-
SQL语言包括哪几部分?每部分都有哪些操作关键字?
-
完整性约束包括哪些?
三、Java虚拟机
-
我们开发人员编写的Java代码是怎么让电脑认识的
-
为什么说java是跨平台语言
-
Jdk和Jre和JVM的区别
-
说一下 JVM由那些部分组成,运行流程是什么
-
详细的介绍下程序计数器?(重点理解)
-
详细介绍下Java虚拟机栈?(重点理解)
-
你能给我详细的介绍Java堆吗?(重点理解)
-
能不能解释一下方法区(重点理解)
-
什么是JVM字节码执行引擎
-
你听过直接内存吗?
-
堆栈的区别是什么?
-
Java会存在内存泄漏吗?请说明为什么?
-
简述Java垃圾回收机制
-
GC是什么?为什么要GC
-
垃圾回收器的原理是什么?有什么办法手动进行垃圾回收?
-
怎么判断对象是否可以被回收?
-
对象什么时候可以被垃圾器回收
-
讲一下新生代、老年代、永久代的区别
-
为什么新生代要分Eden和两个 Survivor 区域?
-
什么是垃圾回收器他和垃圾算法有什么区别
-
新生代垃圾回收器和老年代垃圾回收器都有哪些?有什么区别?
-
简述java内存分配与回收策率以及Minor GC和Major GC
四、Java基础
-
什么是Java
-
jdk1.5之后的三大版本
-
Jdk和Jre和JVM的区别
-
Java语言有哪些特点
-
什么是字节码?采用字节码的最大好处是什么
-
Java应用程序与小程序之间有那些差别?
-
Java和C++的区别
基础语法
-
Java有哪些数据类型
-
用最有效率的方法计算2乘以8
-
Math.round(11.5)等于多少?Math.round(-11.5)等于多少
-
short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗
-
访问修饰符public,private,protected,以及不写(默认)时的区别
关键字
-
&和&&的区别
-
Java有没有goto
-
fifinal fifinally fifinalize区别
-
this关键字的用法
-
super关键字的用法
-
static存在的主要意义
-
static应用场景
-
在Java中,如何跳出当前的多重嵌套循环
面向对象
-
面向对象和面向过程的区别
-
面向对象的特征有哪些方面
-
什么是多态机制?Java语言是如何实现多态的?
-
面向对象五大基本原则是什么(可选)
-
普通类和抽象类有哪些区别?
-
创建一个对象用什么关键字?对象实例与对象引用有何不同?
-
成员变量与局部变量的区别有哪些
-
在Java中定义一个不做事且没有参数的构造方法的作用
-
一个类的构造方法的作用是什么?若一个类没有声明构造方法,改程序能正确执行吗?为什么?
-
静态方法和实例方法有何不同?
-
什么是方法的返回值?返回值的作用是什么?
五、Java核心知识点整理
-
JVM
-
JAVA集合
-
Java多线程并发
-
Java基础
-
spring原理
-
微服务
-
Netty 与 RPC
-
网络
-
日志
-
Zookeeper
-
Kafka
-
RabbitMQ
-
Hbase
-
MongoDB
-
Cassandra
-
设计模式
-
负载均衡
-
数据库
-
一致性算法
-
Java算法
-
数据结构
-
加密算法
-
分布式缓存
-
Hadoop
-
Spark
-
Storm
-
YARN
-
机器学习
-
云计算
六、mybatis源码分析
-
mybatis入门
-
mybatis是什么?
-
为什么要使用mybatis
-
如何使用mybatis
-
配置文件解析过程
-
映射文件解析过程
-
mapper接口绑定过程分析
-
出来为完成解析的节点
-
SQL持续流程
-
SQL执行入口
-
执行代理逻辑
-
查询语句的执行流程
-
selectOne方法分析
-
#{}占位符的解析与参数的设置过程梳理
-
更新语句的执行过程
-
更新语句执行过程全貌
-
内置数据源初始化过程
-
PooledDataSource
-
缓存类介绍
-
一级缓存
-
二级缓存
-
插件机制
-
插件机制原理
-
植入插件逻辑
-
实现一个分页插件
文章到这里就结束了!
2020马上就要过去了,上面的面试题及答案小编以及整理成文档 ,还有一些微服务、SSM、 Redis、等技术真题资料。
需要领取的小伙伴可以 私信 **【面试题】**免费领取哦,在这里小编祝福想去大厂面试的同学,旗开得胜,offer拿到手抽筋。