Java初级面试题(附答案)

计算机网络

  1. 三次握手与四次挥手
  2. Web页面请求过程
  3. Cookie与Session
  4. HTTP的GET与POST的区别

Java基础

  1. 面向对象的特征
  2. final、finally、finalize的区别
  3. int与Integer
  4. 重载与重写
  5. 抽象类与接口
  6. 反射的用途与实现
  7. equals与"=="
  8. 动态代理(cglib与jdk)

Java集合

  1. List、Set以及Map
  2. ArrayList与LinkedList
  3. HashMap与HashTable
  4. HashMap与ConurrentHashMap

Java多线程

  1. 创建线程的方式
  2. sleep()、join()、yield()的区别
  3. CountDownLatch与CyclicBarrier
  4. ThreadLocal的原理
  5. 线程池的实现原理
  6. 线程池实现的几种方式
  7. 线程的生命周期
  8. 线程安全问题
  9. volatile原理
  10. synchronized与lock
  11. CAS

MySQL数据库

  1. MySQL索引使用的注意事项
  2. 分库与分表设计
  3. SQL优化之道
  4. InnoDB与MyISAM
  5. 数据库索引原理
  6. 为什么使用B-tree
  7. 聚集索引与非聚集索引
  8. limit2000加载很慢怎么办
  9. 事务ACID与隔离级别
  10. explain
  11. 分库分表

Redis

  1. Redis有哪些类型
  2. Redis内部结构
  3. Redis使用场景
  4. Redis持久化机制
  5. Redis为什么是单线程的
  6. Redis的哨兵模式
  7. Redis的发布与订阅

消息队列

  1. MQ的使用场景
  2. MQ的重发思路
  3. MQ的幂等性问题
  4. 消息堆积的解决策略
  5. 如何保证消息的有序性
  6. DLQ的设计

Spring

  1. BeanFactory与ApplicationContext
  2. Spring Bean的生命周期
  3. Spring IOC如何实现
  4. SpringAOP的实现原理
  5. Spring事务的实现方式
  6. Spring事务底层原理
  7. 如何自定义注解实现功能
  8. SpringMVC的运行流程与启动流程
  9. Spring单例的实现原理
  10. Spring涉及哪些设计模式

JVM

  1. 运行时数据区域
  2. 垃圾回收算法
  3. 垃圾回收器
  4. 如何判断一个对象是否可回收
  5. 类加载机制
  6. 双亲委派模型

JPA&Hibernate

  1. ORM的思想
  2. 懒加载如何配置以及意义
  3. 级联如何配置,何时使用级联
  4. 一级缓存与二级缓存
  5. @version的使用:数据库乐观锁

Nginx

  1. 解释反向代理

答案

  1. Java初级面试题-JVM篇
  2. Java初级面试题-计算机网络篇
  3. Java初级面试题-Java基础篇
  4. 更新ing

猜你喜欢

转载自blog.csdn.net/wantaceveryday/article/details/84842005