面试题总结

日期:2019-03-06       浏览:527

一 前言

年后的这段时间一直都没有更新,主要是因为在准备简历和面试。今天主要说一下这次面试过程中遇到的一些问题,不分公司。
这次面试遇到的问题我把它们归类为五大类,分别是:项目相关、Java基础、数据库、框架、中间件和分布式。

二 项目相关

  1. 简单介绍一下目前在做的项目
  2. 项目中有遇到哪些问题,最后怎么解决的
  3. 项目中用到了哪些技术点
  4. 项目中用到了哪些设计模式
  5. 说一说哪个项目对你的成长起到了很大的帮助

三 Java基础

  1. sleep和wait的区别
  2. 都用过哪些map类
  3. HashMap、HashTable、ConcurrentHashMap比较
  4. String,StringBuffer与StringBuilder的区别
  5. 对象的深浅复制
  6. CountDownLatch的await方法是否安全,怎么改造
  7. 线程池都有哪些配置参数
  8. 线程池工作原理
  9. ThreadLocal原理
  10. servlet是否线程安全,如何改造
  11. session与cookie的区别
  12. get和post区别
  13. tcp3次握手
  14. 文件上传用post还是get
  15. 分布式session的设计
  16. 如何防止表单重复提交
  17. jvm工具,jps,jinfo,jmap...使用
  18. 有哪些方式创建线程
  19. 有两个线程,怎么有序的执行
  20. 怎么实现多个线程先执行完的等待其他未执行完的线程
  21. 对JVM的了解
  22. Java都有哪些类加载器
  23. 可以自己定义String类吗
  24. 删除ArrayList中值为“A”的字符串
  25. JVM的dump文件都有哪些信息
  26. 线上cpu占比过高怎么排查
  27. BIO、NIO、AIO讲解
  28. JVM堆外内存都有哪些
  29. JVM堆外内存怎么回收
  30. cms回收时有哪几个步骤
  31. cms哪个步骤会应用不可用
  32. jdk和cglib代理的区别
  33. 双检锁单例模式
  34. aqs的实现
  35. 都有哪些内存泄露的例子
  36. httponly啥作用
  37. HTTPS 和 HTTP 有什么区别
  38. ssl加密算法
  39. ReentrantLock默认是公平锁还是非公平锁
  40. hashcode的使用场景
  41. 怎么实现hashcode

四 数据库

  1. SQL的优化方式都有哪些
  2. MySQL深度分页查询limit 100000, 10过慢优化
  3. MySQL的innoDB的特性有哪些
  4. innodb的bTree的树的深度有限制吗
  5. 索性失效的场景
  6. 最左原则
  7. 锁的类型,行级表级
  8. 数据库事务隔离级别
  9. 悲观乐观锁
  10. 数据库事物
  11. MySQL数据库的主键索引和非主键索引的区别(区分存储引擎)
  12. MySQL的索引有几种
  13. 联合索引,用一个查询参数会走索引吗
  14. 数据库的表设计

五 框架

  1. spring给我们带来了什么优势
  2. ioc原理
  3. aop原理
  4. ioc初始化流程
  5. springmvc的流程
  6. spring怎么实现事务隔离的
  7. spring的controller是单例还是原型
  8. spring的controller是单例的话,其中注入的httpRequest对象是怎么做到线程安全的
  9. spring的事务,同一个类中,方法a没有@Transcationnal注解,方法b有,在方法a内调用方法b会有事务吗
  10. mybatis怎么将查询结果集和返回类型映射的
  11. mybatis怎么将接口和xml映射的
  12. dubbo的分组
  13. dubbo的负载策略在哪块做的
  14. dubbo的负载算法有哪些
  15. dubbo怎么实现接口实例化的
  16. zk 挂掉后对dubbo有影响吗
  17. zk 挂了,dubbo服务提供者也挂了一个,消费端会删除这个提供者吗
  18. dubbo如何实现优雅的停止服务
  19. dubbo协议都有哪些,项目中使用的是哪个

六 中间件和分布式

  1. CAP原理
  2. 都有哪些分布式锁的实现方式
  3. 分布式事务
  4. Redis的数据类型
  5. Redis集群的搭建方式
  6. Redis zset的排序实现原理
  7. Redis的持久化方式
  8. Redis缓存穿透,如何解决
  9. Redis缓存雪崩,何如解决
  10. Redis的io模型
  11. Redis的高可用
  12. Redis是单线程还是多线程
  13. zookeeper的节点类型
  14. zookeeper的通知机制
  15. zookeeper对节点的watch监听通知是永久的吗
  16. zookeeper满足了CAP的哪些特性
  17. zookeeper集群最少要几台机器
  18. zookeeper集群中的机器角色都有哪些
  19. zookeeper集群选举过程
  20. zookeeper整个集群挂掉会不会影响在运行的dubbo服务
  21. kafka判断一个节点是否还活着有那两个条件
  22. kafka的数据传输的事务定义
  23. kafka consumer是否可以消费指定分区消息
  24. kafka消息是采用Pull模式,还是Push模式
  25. kafka其他MQ的区别
  26. kafka新建的分区会在哪个目录下创建
  27. kafka消费者负载均衡策略
  28. kafka数据有序消费
  29. kafaka生产数据时数据的分组策略
  30. elasticsearch数据类型
  31. elasticsearch集群
  32. netty的线程模型

七 总结

以上就是这次面试遇到的相关问题,当然还有一些未整理在上面的算法相关问题。
总结下来和以往面试的不同之处,这次更多的是分布式相关问题,Java基础的部分相对少了,这也许就是以后重点学习的方向。
扫码关注有惊喜

(转载本站文章请注明作者和出处 qbian)

暂无评论

Copyright 2016 qbian. All Rights Reserved.

文章目录