JAVA面经总结

java基础

  1. java中有哪些基本类型的数据(8种),一个字符可以存储汉字吗(可
  2. 讲一下基本数据类型和包装类型的关系
  3. 集合类能用基本数据类型么,为什么 ( 不能,对象
  4. 数组和链表区别
  5. 数组和链表是在堆中还是栈中(固定数组在函数体内声明的话在栈中,其它类型的数组都在堆中
  6. 抽象与接口,重写与重载
  7. 讲一下=、==、equals
  8. new String(“abc”)有几个对象产生
  9. 讲下ArrayList和LinkedList的区别,为什么ArrayList查询的快?(数组和双向链表),RandomAccess
  10. 讲一下list、map和set
  11. 讲一下hashmap的底层实现jdk1.7和1.8区别
  12. hashmap的put操作
  13. hashmap,hashtable和concurrenthashmap区别;
  14. hashmap如何扩容;如果 设置一个初始容量为3,hashmap的容量是多少;(4
  15. ConcurrentHashMap和HashTable原理
  16. java 的io,nio,bio有什么区别
  17. List集合中有哪些线程安全的类?(vector,hashtable ; synArrayList,synHashSet,synHashMap ; ConcurrentHashMap,CopyOnWriteArrayList,CopyOnWriteArraySet)
  18. 堆外内存是什么
  19. 讲一下你知道的修饰符
  20. final和static的区别
  21. JMM模型
  22. 讲一下类加载机制流程
  23. volatile原理及使用场景
  24. volatile原理,底层通过什么实现的(内存屏障-读写屏障),读写屏障底层原理
  25. 异常、异常的分类、如何捕获异常OOM相关

  1. 你知道哪些java锁
  2. 偏向锁轻量级锁区别(临界区,一个进程还是多个进程
  3. cas了解吗
  4. 轻量级锁的轻量指什么(能不加锁就不加,向无锁靠近

JVM

  1. JVM垃圾回收器分类特点,实际使用场景
  2. JVM有哪些组件,哪些是线程共享的?
  3. 讲讲你知道的GC算法,以及每种垃圾收集器用的是哪一种
  4. JVM、内存分区、新建对象在哪个区(堆)、垃圾回收机制介绍流程,fullGC,新生代、中生代
  5. 老年代用什么收集算法(标记整理),GC引用链,G1收集器原理
  6. 垃圾回收器CMS和g1的区别另一篇
  7. 循环依赖的对象怎么回收

spring

  1. 说下spring中的AOP,以及解释下什么是切面,通知,连接点等
  2. 了解spring中的哪些注解,解释下@service, @Component
  3. 实际项目中哪里用到了aop
  4. 事务的定义,特性,spring事务隔离级别
  5. spring, boot, mvc是什么
  6. spring ioc aop (spring ioc aop 常见面试题
  7. IOC,AOP的实现,反射
  8. spring IOC和AOP,Spring传播机制,动态代理实现的方式,(jdk和 cglib)
  9. Spring中的AOP是如何实现的,jdk和CGLIB方法的区别
  10. SpringBoot核心自动装配原理——》为什么使用EnableAutoConfiguration 注解(此处还有问题,暂时想不起来了)
  11. spring框架、Bean生命周期、applicationcontext与beanfactory的区别、如何自动装配、前端发起请求spring交互流程、常用注解与核心注解
  12. 反射在实际开发中的应用
  13. Java反射机制、调用反射的几种方法、与new的区别
  14. spring bean的生命周期

线程进程

  1. 线程池 有了解吗?讲下线程池有哪些参数?
  2. 线程池的运行原理,如果用一个无限队列会具体怎样运行?
  3. 线程池的创建,实际使用场景
  4. 如何停止线程
  5. Linux kill-9 kill-15区别
  6. 僵尸进程,孤儿进程是什么,危害是什么
  7. threadlocal里面有什么
  8. 线程的五个状态;怎么让三个线程有序执行多线程的四种实现方式
  9. 线程池,如何设置参数, 用到什么队列,shutdown,excute和submit区 别;
  10. JUC常用的类,例如线程池,八个参数,拒绝策略,锁相关
  11. 了解多线程吗?常用的线程池?有哪几种拒绝策略?(美团技术博
  12. Java多线程、开启线程的方法与各自的优劣线程池的状态、线程池的参数、新建线程的流程、阻塞队列与拒绝策略、保证线程安全的几种方法
  13. 进程和线程二者的区别与几种状态
  14. 线程池中多线程的处理过程(最大核心是5,最大线程数量10,最大队列10);如果满了后,如何进行;核心线程最终会结束吗(一面的时候和面试官讨论过,面试官说核心线程也是会结束的,所以我就按照1面的说的)
  15. Java中线程池都有哪些,各自特点及适用场景
  16. 多核CPU如何保证同步

mysql

  1. 解释下什么是聚簇索引,聚簇索引和非聚簇索引的数据存储在哪个地方,聚簇索引为什么比非聚簇索引快?
  2. 讲一下b+树的结构
  3. b树和b+树的区别,b+树的优势
  4. 数据库hash索引和b+树的区别
  5. 给你一个联合索引ABC,查询条件为A=1,B>2,C=3,问这个索引有没有被用到(最左匹配
  6. mysql联合索引使用A>n and B=m和 A=n and B=m的区别
  7. mysql特性,索引的最左匹配原则
  8. 数据库的最左匹配原则是什么,怎么用
  9. 你使用过mysql,你对mysql有哪些经验
  10. mysql知道多少,事务的隔离级别,mysql默认是重复读;
  11. Mysql死锁怎么解决
  12. 介绍一下mysql索引
  13. Mysql在实际开发中语句优化的考虑
  14. 数据库相关、数据库事务、建立索引的注意事项、sql如何拼接语句
  15. 数据库三大范式

redis

  1. 了解redis和fastDB吗,说一下redis中一些常用的指令,具体的应用场景
  2. redis的持久化方法
  3. redis 随机过期删除
  4. redis有哪几种数据结构,各自的用途,底层怎么实现的
  5. 如何使用redis实现关注、点赞的功能
  6. redis的过期机制了解么

网络

  1. TCP为什么要三次握手
  2. 为什么是4次挥手,不是3次 ——》为什么四次挥手等待2MSL
  3. 讲一下tcp/ip的四层及分别的作用
  4. 讲一下127.0.0.1、255.255.255.255、0.0.0.0
  5. http1.0和1.1的区别
  6. httpclient这个怎么问的忘了(以为项目中用到了,就问了,其实我只是用了一下下,具体并不会)
  7. Rpc

算法

  1. 2个文件各有50亿url,怎么找出共有的Url(海量数据处理总结
  2. 如何快排,重复数字较多的情况;
  3. 讲一下字典树结构,如何实现敏感词过滤
  4. 如何链表翻转,如何判断链表有环;
  5. 合并两个有序数组,
  6. topk问题有哪些思路可以解决
  7. 内部排序有哪些(原理及时间复杂度介绍);外部排序
  8. 快排为什么一般场景下比冒泡快(分治的思想)
  9. 堆排序思想,时间复杂度
  10. 平衡二叉树原理

linux命令

  1. top
  2. grep
  3. 查看实时日志:tail -f

其他

  1. CPU三级缓存介绍
  2. 用过mybatis吗
  3. 有没有用过zk
  4. HDFS读写过程,启动Hadoop开启了哪些进程;
  5. tomcat有没有优化
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值