一 前言
年后的这段时间一直都没有更新,主要是因为在准备简历和面试。今天主要说一下这次面试过程中遇到的一些问题,不分公司。
这次面试遇到的问题我把它们归类为五大类,分别是:项目相关、Java基础、数据库、框架、中间件和分布式。
二 项目相关
-
简单介绍一下目前在做的项目
-
项目中有遇到哪些问题,最后怎么解决的
-
项目中用到了哪些技术点
-
项目中用到了哪些设计模式
-
说一说哪个项目对你的成长起到了很大的帮助
三 Java基础
-
sleep和wait的区别
-
都用过哪些map类
-
HashMap、HashTable、ConcurrentHashMap比较
-
String,StringBuffer与StringBuilder的区别
-
对象的深浅复制
-
CountDownLatch的await方法是否安全,怎么改造
-
线程池都有哪些配置参数
-
线程池工作原理
-
ThreadLocal原理
-
servlet是否线程安全,如何改造
-
session与cookie的区别
-
get和post区别
-
tcp3次握手
-
文件上传用post还是get
-
分布式session的设计
-
如何防止表单重复提交
-
jvm工具,jps,jinfo,jmap...使用
-
有哪些方式创建线程
-
有两个线程,怎么有序的执行
-
怎么实现多个线程先执行完的等待其他未执行完的线程
-
对JVM的了解
-
Java都有哪些类加载器
-
可以自己定义String类吗
-
删除ArrayList<String>中值为“A”的字符串
-
JVM的dump文件都有哪些信息
-
线上cpu占比过高怎么排查
-
BIO、NIO、AIO讲解
-
JVM堆外内存都有哪些
-
JVM堆外内存怎么回收
-
cms回收时有哪几个步骤
-
cms哪个步骤会应用不可用
-
jdk和cglib代理的区别
-
双检锁单例模式
-
aqs的实现
-
都有哪些内存泄露的例子
-
httponly啥作用
-
HTTPS 和 HTTP 有什么区别
-
ssl加密算法
-
ReentrantLock默认是公平锁还是非公平锁
-
hashcode的使用场景
-
怎么实现hashcode
四 数据库
-
SQL的优化方式都有哪些
-
MySQL深度分页查询limit 100000, 10过慢优化
-
MySQL的innoDB的特性有哪些
-
innodb的bTree的树的深度有限制吗
-
索性失效的场景
-
最左原则
-
锁的类型,行级表级
-
数据库事务隔离级别
-
悲观乐观锁
-
数据库事物
-
MySQL数据库的主键索引和非主键索引的区别(区分存储引擎)
-
MySQL的索引有几种
-
联合索引,用一个查询参数会走索引吗
-
数据库的表设计
五 框架
-
spring给我们带来了什么优势
-
ioc原理
-
aop原理
-
ioc初始化流程
-
springmvc的流程
-
spring怎么实现事务隔离的
-
spring的controller是单例还是原型
-
spring的controller是单例的话,其中注入的httpRequest对象是怎么做到线程安全的
-
spring的事务,同一个类中,方法a没有@Transcationnal注解,方法b有,在方法a内调用方法b会有事务吗
-
mybatis怎么将查询结果集和返回类型映射的
-
mybatis怎么将接口和xml映射的
-
dubbo的分组
-
dubbo的负载策略在哪块做的
-
dubbo的负载算法有哪些
-
dubbo怎么实现接口实例化的
-
zk 挂掉后对dubbo有影响吗
-
zk 挂了,dubbo服务提供者也挂了一个,消费端会删除这个提供者吗
-
dubbo如何实现优雅的停止服务
-
dubbo协议都有哪些,项目中使用的是哪个
六 中间件和分布式
-
CAP原理
-
都有哪些分布式锁的实现方式
-
分布式事务
-
Redis的数据类型
-
Redis集群的搭建方式
-
Redis zset的排序实现原理
-
Redis的持久化方式
-
Redis缓存穿透,如何解决
-
Redis缓存雪崩,何如解决
-
Redis的io模型
-
Redis的高可用
-
Redis是单线程还是多线程
-
zookeeper的节点类型
-
zookeeper的通知机制
-
zookeeper对节点的watch监听通知是永久的吗
-
zookeeper满足了CAP的哪些特性
-
zookeeper集群最少要几台机器
-
zookeeper集群中的机器角色都有哪些
-
zookeeper集群选举过程
-
zookeeper整个集群挂掉会不会影响在运行的dubbo服务
-
kafka判断一个节点是否还活着有那两个条件
-
kafka的数据传输的事务定义
-
kafka consumer是否可以消费指定分区消息
-
kafka消息是采用Pull模式,还是Push模式
-
kafka其他MQ的区别
-
kafka新建的分区会在哪个目录下创建
-
kafka消费者负载均衡策略
-
kafka数据有序消费
-
kafaka生产数据时数据的分组策略
-
elasticsearch数据类型
-
elasticsearch集群
-
netty的线程模型
七 总结
以上就是这次面试遇到的相关问题,当然还有一些未整理在上面的算法相关问题。
总结下来和以往面试的不同之处,这次更多的是分布式相关问题,Java基础的部分相对少了,这也许就是以后重点学习的方向。