面试题

面试总结

java基础问题

集合

list、set、map的区别

说说HashMap,put方法、get方法、以及扩容机制

arrylist、linklist的区别

hashset、treeset的区别

HashMap、hashTable的区别

说说treeMap

concurrentHashMap是如何保证并发安全的(jdk7、jdk8)

copyOnwrite arraylist

hash冲突有哪些解决方法

介绍一下Atomic 原子类

包装类

说说Integer,其中的缓存数组[-128,127]

自动装箱、自动拆箱

String对象相等判断==、equal,定义的一个String对象,jvm内存是什么样的

jvm

说说java运行时数据区

java内存模型(主内存,工作内存)

各个区域什么时候回发送内存溢出

垃圾收集算法

可达性分析

哪些对象可以作为GCROOT对象

垃圾收集器(重点cms、G1优缺点)

触发fullGC的条件

对象在的jvm的内存分配

jvm调优参数

常量池(class文件常量池、运行时常量池、字符串常量池)

类加载机制

双亲委派模型

好处、工作机制

类加载器

如何在项目中使用自己重写的String类(java命令参数)

继承、接口、抽象类

继承链调用优先级

final、finally、finalize关键的有什么区别

线程

创建线程有哪些方式

Callable、Future和FutureTask浅析

线程的状态以及状态的流转

线程间的通信机制有哪些

如何实现线程安全

volatile和synchronized的区别、原理

synchronized与lock区别、原理

wait方法和waitAll方法

sleep()与wait()区别

线程的锁升级过程

ThreadLocal类

thread、threadLocal、threadLocalMap的关系

CAS的aba问题

构建线程池的参数,线程池的种类、适用场景、如何工作的

如何给线程池中的线程命名

Java如何查看死锁

如何避免死锁

Exception、error、运行时异常和一般异常有何异同

数据库(mysql)

数据库的索引算法有哪些

索引分类

索引的数据结构

索引原理

索引失效的场景

如何查看一条SQL的执行计划

数据库的隔离级别

什么是脏读、不可重复读、幻读

隔离级别的原理

事务的原理

分库分表如何做、带来的问题有哪些、如何解决

如何实现分布式事务

如何分析慢SQL、如何优化SQL

数据库的锁有哪些

什么是间隙锁

并发新增的时候数据库会发送死锁吗

什么是悲观锁、什么是乐观锁

redis

redis主从模式、哨兵模式、集群模式有什么区别

哨兵模式和集群模式在api的使用上有和区别

什么是缓存击穿、缓存穿透、缓存雪崩,分别如何解决

集群模式如何实现动态扩容

redis的数据类型有哪些

有序集合的底层数据结构是什么

如何使用redis实现一个分布式锁

使用redis作缓存如何保证数据一致性

网络

tcp/ip五层网络模型

OSI七层网络模型

各层常见的协议有哪些,以及协议的常用端口有哪些

说说tcp三次挥手、四次握手,以及为什么握手需要3次,而挥手需要4次

tcp连接过程中客户端、服务端的状态机

tcp的流量控制和拥塞控制

tcp和udp有什么区别

说说ARP协议

说说DNS是如何工作的

TCP协议如何保证连接的可靠性

get请求和post请求的区别

说说mac地址与ip地址

IP地址、mac地址、网络号、主机号如何计算

http与https有什么区别

https如何保证安全性

https如何建立连接

重定向与转发的区别

执行execute()方法和submit()方法的区别是什么

设计模式

工厂模式(多种)

单例模式(多种实现的不同)

生产者/消费者模式

观察这模式

代理模式

数据结构

数组

链表

二叉树

算法

大数想加

大数相减

排序两个有序数组

排序N个有序数组

各种排序算法

概率p输出1,概率1-p输出0,等概率输出0和1

P函数等概率输出1-100,设计P1函数以80%的概率输出1-20,P2以20%的概率输出21-100

有一个包含正负数的数组,把正数放到数组前面,负数放到数组后面,并且保证数字的相对位置不变

排序n个数值在0-100的整数

有一串数字,输出所有可能组合的IP地址

二叉的遍历、蛇型遍历

求一个数组的最大连续和(进阶:同时输出最大连续和子串)

删除一个链表的倒数第k个节点

判断一个链表算法有环

判断一个图是否有环

删除一个链表给定的节点(进阶:只使用一个指针)

判断一个字符串是否是回文字符串

找出两个字符串最长匹配的子串

其他

说说spring的ioc和aop,原理是什么

spring框架使用了哪些设计模式

springboot中的注解(干什么的,有什么用)

springboot与spring的区别

mybatis的原理

mybatis与其他持久层框架的区别

设计一个电梯实体类及其接口

接口幂等性设计

使用redis设计一个限流器(例:1分钟允许处理100个请求)

线上应用进程突然挂掉了,如何排除问题

线上应用慢了如何排查问题

如何vim

有一个文件,文件的内容有3列A、B、C,使用哪些Linux可以将A、C两列互换

有3个线程,如何让它们同时运行、如何顺序运行

说说springmvc都有哪些组件,处理流程是怎么样的

说说什么是微服务

spring bean的生命周期

写SQL,删除重复的记录

spring中如何实现全局异常处理

原文地址:https://www.cnblogs.com/Utah-Lee/p/10854420.html