面试经常使用的问题

1.java语言 java语言,特性优缺点 集合结构java

三种层面,java语言层面、jvm、操做系统mysql

1.2并发 线程的做用和开销 优势和缺点 线程安全 原子性、可见性、重排序 性能问题、死锁 上下文切换、若是减小上下文切换linux

synchronized 和 volatilegit

volatile做用和实现原理 自旋锁、自适应自旋锁、偏向锁、轻量级锁,操做系统的锁 原子方法实现redis

synchronize 和 lock ReentrantLock 锁获取和释放 AQS wait,notify await, signal java object监视器锁、条件谓词和wait的关系算法

java内存模型 重排序发生在哪些状况 内存屏障 happen before的定义和规则spring

常见的线程安全错误,race condition ready - modify - write , check-then-actsql

java并发集合和同步器 阻塞队列、Executor数据库

final域的内存语义设计模式

缓存一致性

2.jvm

多态的实现 java语言 jvm 虚方法分派

反射介绍和做用

3.spring bean 加载过程 beanfactory 启动过程

4.mybatis

5.mysql 存储引擎 索引类型、索引,B Tree 索引数据存储方式 cluster index primary index non cluster index secondary index sql 优化 如何有效设计索引和sql有效利用索引

6.缓存 redis 缓存操做模式,缓存和数据库的一致性保证

  1. 版本管理系统 git 命令 本地建立分支切换分支 拉取 push merge git模型

  2. linux 命令 复制、传说文件、

  3. 实战 服务卡住不能响应如何排查问题 gc问题 线程死锁

8.设计模式 单例模式

9.算法 排序算法

  1. 工程素养 你认为何样的代码是好代码 看过那些书,平时看什么网站、论坛 你看过哪些技术书和非技术书
相关文章
相关标签/搜索