前言

不论是校招还是社招都避免不了各种⾯试、笔试,如何去准备这些东⻄就显得格外重要,之前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核心知识点整理

  1. JVM
  2. JAVA集合
  3. Java多线程并发
  4. Java基础
  5. spring原理
  6. 微服务
  7. Netty 与 RPC
  8. 网络
  9. 日志
  10. Zookeeper
  11. Kafka
  12. RabbitMQ
  13. Hbase
  14. MongoDB
  15. Cassandra
  16. 设计模式
  17. 负载均衡
  18. 数据库
  19. 一致性算法
  20. Java算法
  21. 数据结构
  22. 加密算法
  23. 分布式缓存
  24. Hadoop
  25. Spark
  26. Storm
  27. YARN
  28. 机器学习
  29. 云计算

六、mybatis源码分析

  • mybatis入门
  • mybatis是什么?
  • 为什么要使用mybatis
  • 如何使用mybatis
  • 配置文件解析过程
  • 映射文件解析过程
  • mapper接口绑定过程分析
  • 出来为完成解析的节点
  • SQL持续流程
  • SQL执行入口
  • 执行代理逻辑
  • 查询语句的执行流程
  • selectOne方法分析
  • {}占位符的解析与参数的设置过程梳理

  • 更新语句的执行过程
  • 更新语句执行过程全貌
  • 内置数据源初始化过程
  • PooledDataSource
  • 缓存类介绍
  • 一级缓存
  • 二级缓存
  • 插件机制
  • 插件机制原理
  • 植入插件逻辑
  • 实现一个分页插件

文章到这里就结束了!

2020马上就要过去了,上面的面试题及答案小编以及整理成文档 ,还有一些微服务、SSM、 Redis、等技术真题资料,需要领取的小伙伴可以关注公众号:麒麟改bug 领取,在这里小编祝福想去大厂面试的同学,旗开得胜,offer拿到手抽筋。

工作三年!全靠大佬的Java笔记,年底跳槽阿里涨了10K的更多相关文章

  1. 腾讯工作近十年大佬:不是我打击你!你可能真的不会写Java

    文章核心 其实,本不想把标题写的那么恐怖,只是发现很多人干了几年 Java 以后,都自认为是一个不错的 Java 程序员了,可以拿着上万的工资都处宣扬自己了,写这篇文章的目的并不是嘲讽和我一样做 Ja ...

  2. [MarsZ]程序猿谈大学之工作三年半的程序猿给大学童鞋的一些注释

    我本不是个喜欢写文章的人,更甭提写这种基本没技术含量的文章了.但是今天上班的时候,不经意浏览了下学校的QQ群,突然很想把自己的经验经历分享给还在大学里的同学,希望能让某些对前途职业迷茫的童鞋有所帮助. ...

  3. java笔记整理

    Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...

  4. 转 Java笔记:Java内存模型

    Java笔记:Java内存模型 2014.04.09 | Comments 1. 基本概念 <深入理解Java内存模型>详细讲解了java的内存模型,这里对其中的一些基本概念做个简单的笔记 ...

  5. Effective Java笔记一 创建和销毁对象

    Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...

  6. Java 笔记 —— java 和 javac

    Java 笔记 -- java 和 javac h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: ...

  7. 这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理。

    这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理.        01-java高级架构师设计-基础深入        J2SE深入讲解        Java多 ...

  8. Johnson 全源最短路径算法学习笔记

    Johnson 全源最短路径算法学习笔记 如果你希望得到带互动的极简文字体验,请点这里 我们来学习johnson Johnson 算法是一种在边加权有向图中找到所有顶点对之间最短路径的方法.它允许一些 ...

  9. java笔记00-目录

    --2013年7月26日17:49:59 学习java已久,趁最近有空,写一个总结: java笔记01-反射:

随机推荐

  1. 插件Spire.PDF帮你高效搞定PDF打印

    Spire.PDF介绍 Spire.PDF是一个专业的PDF组件,能够独立地创建.编写.编辑.操作和阅读PDF文件,支持 .NET.Java.WPF和Silverlight.Spire.PDF的PDF ...

  2. MySQL如何实现万亿级数据存储?

    前言 业界对系统的高可用有着基本的要求,简单的说,这些要求可以总结为如下所示. 系统架构中不存在单点问题. 可以最大限度的保障服务的可用性. 一般情况下系统的高可用可以用几个9来评估.所谓的几个9就是 ...

  3. 图解连接阿里云(一)创建阿里云物联网平台产品和设备,使用MQTT.fx快速体验

    1.  打开 https://www.aliyun.com/  注册账号 2.注册账号登录后点击控制台 3. 在下图1处输入物联网平台,会弹出2处所示物联网平台的入口,点击红色箭头所示处,进入物联网平 ...

  4. 本人的CSDN博客

    本人的CSDN博客链接: 传送门

  5. Mysql-索引分析查询性能

    explain 全文只有一个关键点,那就是explain,explain 显示了MySQL如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句.简单讲,它的作用就 ...

  6. moviepy音视频剪辑:moviepy中的剪辑相关类及关系

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 y在 ...

  7. 第十八章、QListView/Model开发

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 QListView理论上可以和所有QAbstractItemModel派生的类如QStri ...

  8. PyQt(Python+Qt)学习随笔:窗口部件大小策略sizePolicy与SizeConstraint布局大小约束的关系

    在<PyQt(Python+Qt)学习随笔:Qt Designer中部件的三个属性sizeHint缺省尺寸.minimumSizeHint建议最小尺寸和minimumSize最小尺寸>. ...

  9. 开源版本Visifire的应用

    Visifire曾经开源,保持使用开源版本是不会有版权问题滴. 引用的命名控件 using Visifire.Charts; using Visifire.Commons; 一.应用示例主要代码 // ...

  10. java中的反射(二)

    java中的反射(一):https://www.cnblogs.com/KeleLLXin/p/14060555.html 目录 一.反射 1.class类 2.访问字段 3.调用方法 4.调用构造方 ...