Java面试题小结(2018)

java后端技术面试题总结(2018)

java se部分

  1. 简述string对象,StringBuffer、StringBuilder区分
  2. 多态的原理
  3. 简要描述面向对象编程的思想
  4. 反射的原理
  5. 代理的作用和实现
  6. hashcode和equals的用法
  7. set,map,list的区别(尽量详细)
  8. 简述arraylist和vector的区别
  9. hashmap原理,key碰撞时是如何处理的
  10. Integer f1 = 100,f2 = 100,f1==f2吗
  11. 快速失败(fail-fast)、安全失败(fail-safe)
  12. String类相关

java 多线程部分(JUC)

  1. 实现多线程的方式
  2. 多线程的状态、流程图
  3. 多线程yield()、sleep()、wait()、join()
  4. synchronized优化锁
  5. JUC并发包基本类
  6. Lock和synchronized原理、区别
  7. Condiction原理及其使用
  8. ThreadLocal原理及其使用
  9. volatile原理
  10. CountDownLatch、CyclicBarrier、Semaphore作用及其使用
  11. ConcurrentHashMap原理,并发集合有哪些
  12. 线程池的种类,创建线程池的主要参数
  13. 描述线程池几个主要参数的工作流程(CorePoolSize、MaxPoolSize等)
  14. BlockQueue的类别
  15. 多线程锁的种类和原理
  16. 死锁发生的条件
  17. 多进程死锁怎么处理
  18. ++i是原子操作吗?为神魔?怎么处理?
  19. CAS描述,CAS中有什么问题(ABA),说一下ABA,如何避免ABA
  20. 线程数越多越好吗

数据库部分

  1. 数据库引擎类别、区别(innodb()支持事务、myisam、memory)
  2. 数据库表锁和行列锁的区别
  3. mysql索引类别,各个引擎支持的索引
  4. 列举索引失效的情况
  5. 简述事务
  6. 详细介绍事务的隔离级别、传播属性
  7. in和exists的区别
  8. mysql遵循的规范
  9. mysql的优化方案
  10. 数据量太大怎么办
  11. 数据库的MVCC
  12. 如何查看sql语句的运行情况
  13. 数据库a: id ,status,两个字段,第一个任务要把更新1,1,第二个任务几乎同时要更新1,2,
  14. 如何保证第一个操作不被第二个操作覆盖?
  15. 可重复读隔离级别下能避免幻读吗
  16. 身份证号如何设计索引

数据结构相关

  1. 数据结构排序算法(主要排序算法)基数算法、LRU算法
  2. java实现堆、栈
  3. java遍历二叉树
  4. 25匹马,5个赛道,找出前三名
  5. 中间件(Redis、zk、nginx)
  6. activemq怎么做负载均衡
  7. 用activemq处理的消息失败了服务器如何处理
  8. tomcat容器如何做负载均衡
  9. 如何优化tomcat
  10. 分布式锁如何实现
  11. nginx怎么处理session共享的问题
  12. nginx实现负载均衡如何配置
  13. redis的过期处理
  14. redis中各个类型的使用场景
  15. redis的事务实现了ACID那几个属性
  16. 如何保证redis和db的一致性
  17. redis持久化机制
  18. redis淘汰策略

虚拟机相关

  1. jvm(HotSpot)由哪些区域组成,每个区域的作用
  2. 类的加载机制,加载详细流程
  3. 根据一个类识别每个变量存储在哪里
  4. 类执行顺序
  5. gc的主要区域、标识回收的方法
  6. gc的主要流程
  7. 垃圾收集器的种类、工作流程
  8. jvm调优的工具或者命令
  9. .jvm调优的过程
  10. youngGC不出发了,总是触发fullGC,为神魔
  11. young gc和full gc触发的条件

jsp相关

  1. cookie和session的区别
  2. get请求和post请求的区别

框架相关

  1. spring依赖注入实现的原理
  2. 简述mvc的原理
  3. @ResponseBody标签的作用、
  4. filter是什么设计模式(责任链)
  5. aop如何实现以及实现的原理
  6. springmvc和spring使用的注解
  7. mybatis中#和$的区别
  8. 简述Spring Bean的生命周期
  9. spring事务
  10. spring里边使用过的设计模式

设计模式相关

  1. 简述你用到过或者接触过的设计模式
  2. 单例模式简述和种类

Redis

  1. redis底层io模型
  2. redis底层数据结构
  3. redis的过期处理
  4. redis中各个类型的使用场景
  5. redis的事务实现了ACID那几个属性
  6. 如何保证redis和db的一致性
  7. redis持久化机制
  8. redis淘汰策略

操作系统

  1. buffer和cache区别

kafka

  1. 文件存储形式

ES

  1. es的读写一致性,主从
  2. search的过程

ZK

  1. 选举过程,zxid、选举轮次

算法

  1. 一个链表,删除倒数第n个元素,返回第一个节点,只能查询一次;
  2. redis设计,存储一个海量网站的每日用户登陆(ID),3天内连续登陆的用户数,7天内登陆过的用户数;使用redis的zset;
  3. 分布式事务处理方案;MQ、本地事务、2pc、tcc;
  4. 身份证设计索引;哈希值作为索引;
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值