Java面试36计

   技术路线应该持有的心态 
  1. 1 做技术要知其然也要知道其所以然,还有技术体系要系统化
  2. 2 尽量表现出自己的思维深入并系统化
  3. 3让自己的代码能够直观地体现出尽量多的信息
  4. 4 Throw early, catch late 原则

    模块一 Java 基础
    ② 谈谈你对Java体系的理解?“Java是解释执行”,这句话是正确的吗?

③谈谈final、finally. finalize有什么不同?
强引用、软引用、弱引用、幻象引用有什么区别?具体使用场景是什么?

⑤理解Java的字符串,String、 StringBuffer、 StringBuilder有什么区别?

⑦谈谈Java反射机制,动态代理是基于什么原理?

⑦int和Integer有什么区别? Integer值的缓存范围是什么?

⑧对比Vector、ArrayL ist、 LinkedL ist有何区别?

⑧对比Hashtable、 HashMap、TreeMap, 谈谈你对 HashMap的掌握

⑧如何保证集合是线程安全的? ConcurrentHashMap做 了 什么?

11 Java NIO提供了哪些IO方式?看过NIO的源代码吗, 如果让你来改进NIO, 会做什么改进?

12面向对象基础,抽象类、接口的区别是什么?

1③说说你知道的设计模式?请手动实现单例模式。Spring、 Mybatis使用了哪些模式?

模块二 Java进阶
14 理解Java锁实现,Synchronized和ReentrantLock有什
么区别?有人说Synchronized最慢,这话靠谱吗?

15一个线程连着调用start()两次会出现什么情况?谈谈线程的生命周期和状态转移

16什么情况下Java程序会产生死锁?如何排除?

⑦Java并发包提供了哪些并发类?使用这些数据结构解决过什么并发问题?

18 AtomicInteger底层实现原理是什么?如何在自己的产品代码中应用CAS操作?

19 Java并发类库提供的线程池有哪几种?如何选择?

20 什么是类加载过程、双亲委派模型?

21谈谈JVM内存区域划分, 如何监控和诊断JVM堆内和堆外内存使用? OOM常见排查思路有哪些?

22 GC收集器有哪些?常见的调优方法有哪些?

23谈谈Java内存排序模型(JMM) ,原子性、可见性、有序性是什么?
现在很多都在谈Happen- -Before之类概念,那么如何用程序来证明比如volatile的行为是否正确?

2④我的Java程序似乎被Docker“欺负”了,有什么建议?

模块三 Java应用开发扩展
25谈谈MySQL支持的隔离级别(读未提交、读已提交、可重复读、可序列化读),
以及悲观锁和乐观锁的原理和应用场景

26谈谈Redis典型使用场景和实践策略

27消息队列的使用场景是什么?谈谈你使用过的消息队列 架构,
比如Kafka是 如何保证多个Partition之间数据一致性的?

28 Spring框 架概览,谈谈Spring Bean的生命周期和作用域?Spring AOP解决什么问题?

29什么场景下需要用到Netty?对比Java标准NIO类库,你知道Netty如何实现更高性能吗?

30常用的分布式ID的设计方案是什么? Snowflake会受冬令时切换影响吗?

31处理过分布式事务吗?谈谈常见解决方案

32微服务与SOA的区别是什么?请比较构建微服务的常见方案

模块四 Java安全基础

33 Java应用程序开发中常见的安全攻击有哪些?如何规避那些臭名昭著的攻击?

34 如何写出安全的Java代码?最佳实践与反实践有哪些?

模块五 Java性能基础

35后台服务出现明显变慢,谈谈你的诊断思路

36有人说“Lambda能让Java程序慢30倍”, 你怎么看和理解?
JVM优化Java代码时都做了什么,怎样才能实现靠谱的Benchmark?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值