前言

不论是校招还是社招都避免不了各种⾯试、笔试,如何去准备这些东⻄就显得格外重要,之前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. Camtasia中对录制视频进行编辑——音效

    市场上有很多的视频处理软件,形形色色的软件往往会使人眼花缭乱,而对于那些短视频的制作者来说,拥有一款好的视频处理软件会让自己的视频收获更多的点赞.那么今天我便给大家推荐一款同时具有录屏和编辑视频功能的 ...

  2. iMindMap组织结构视图在工作上的应用体现在哪些方面

    iMindMap的组织结构图视图,可以将信息.想法和流程整合起来.本文,我们将讲述iMindMap组织结构图视图的3个实例应用. iMindMap组织结构视图 简化您的工作流程 通过在工作中构建组织结 ...

  3. H5系列之contenteditable

    其实这个属性很简单,既然把它放到一个单独的文章来说,他肯定有一些注意点要讲 兼容性很好,兼容所有主流浏览器. 用法很简单,只需要给你需要的标签填上即可. <div contenteditable ...

  4. JavaSE 学习笔记08丨网络编程

    Chapter 14. 网络编程 14.1 计算机网络入门 当前节的知识点只是一个概述,更具体.详细的内容放在 计算机网络 中. 14.1.1 软件结构 C/S结构(Client/Server结构): ...

  5. T - Permutation 题解(思维+dp)

    题目链接 题目大意 给你一个数字n和长为n-1个字符串 字符串包含'<','>' 若s[i]='<' 则代表a[i]<a[i+1] 若s[i]='>' 则代表a[i]&g ...

  6. MySQL全面瓦解13:系统函数相关

    概述 提到MySQL的系统函数,我们前面有使用过聚合函数,其实只是其中一小部分.MySQL提供很多功能强大.方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,并更加灵活地满足不同用 ...

  7. 二:robot framework基本组成

    1.RF组成:套件.用例.关键字 套件:测试用例的集合,可以是一个模块的功能点的集合.也可以是很多模块功能点的集合 用例:一般是由多个关键字组成的 关键字:测试库.资源文件.用例所在文件的关键字表 2 ...

  8. Steps 组件的设计与实现

    NutUI 组件源码揭秘 前言 本文的主题是 Steps 组件的设计与实现.Steps 组件是 Steps 步骤和 Timeline 组件结合的组件,在此之前他们是两个不同的组件,在 NutUI 最近 ...

  9. Beta冲刺随笔——Day_Seven

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Beta冲刺 作业正文 正文 其他参考文献 无 今日事今日毕 林涛: ...

  10. 冲刺随笔——Day_Nine

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 团队进行Alpha冲刺 作业正文 正文 其他参考文献 无 ...