针对高级java面试所总结需要会的技术及面试会问的问题

一、Java相关

 

    乐观悲观锁的设计,如何保证原子性,解决的问题;

 

   char和double的字节,以及在内存的分布是怎样;

 

    对象内存布局,然后讲下对象的死亡过程?

 

    对象头,详细讲下;

 

   sync原理详细,sync内抛异常会怎样,死锁吗?还是释放掉?怎么排查死锁?死锁会怎样?有没有什么更好的替代方案?

 

    详细讲一下集合,HashSet源码,HashMap源码,如果要线程安全需要怎么做?

 

    多线程是解决什么问题的?线程池解决什么问题?

 

    线程池,如何设计的,里面的参数有多少种,里面的工作队列和线程队列是怎样的结构,如果给你,怎样设计线程池?

 

   AQS原理,ReentranLock源码,设计原理,整体过程。

 

    继续聊多线程源码,sync原理,然后一个场景设计题;

 

   float f = 1.4f;double d = 1.4d; 与 float f =1.5f;double d = 1.5d; 是否为true,内存是怎样的;

 

   split的源码,split("a|b|c");得出多少个数组;

 

    把所有认识熟用的JUC(java.util.concurrent(简称JUC)包)下的类写出来,讲下使用,然后讲下原生的线程操作;

 

    开闭原则,解析工厂方法模式,建造者模式,区别。手撸出来。

 

    讲下JVM的大页模式,JVM内存模型;

 

    什么是敏捷开发,防御性编程,并行编程。Team Leader的思考;

 

    逃逸分析是什么,作用是什么,用途是什么;

 

    怎么认为一个类是线程安全?线程安全的定义是什么?Java有多少个关键字进行同步?为什么这样设计?(聊了一大堆,一堆为什么);

 

    两个线程设计题。记得一个是:t1,t2,t3,让t1,t2执行完才执行t3,原生实现。

 

    写个后缀表达式,为什么要设计后缀表达式,有什么好处?然后写下中缀。

 

    我看你做过性能优化,比如你怎么分析项目

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值