原文链接:面试题总结
一 前言
年后的这段时间一直都没有更新,主要是因为在准备简历和面试。今天主要说一下这次面试过程中遇到的一些问题,不分公司。
这次面试遇到的问题我把它们归类为五大类,分别是:项目相关、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基础的部分相对少了,这也许就是以后重点学习的方向。
扫码关注有惊喜
网友评论