欢迎大家关注 github.com/hsfxuebao/j… ,希望对大家有所帮助,要是觉得可以的话麻烦给点一下Star哈
玩吧(一面60min)20200318
- spring bean循环依赖是怎么解决的?
- 看过那些Jdk的源码,说一下多线程的参数,
- HashMap为什么都是2的倍数,扩容机制?在多线程下存在的问题?
- 线程的状态,中断是干什么的?
- JVM排查问题,CPU爆表,常用的排查问题命令,jps等
- 双亲委派模型,类加载机制
- 锁,各种锁,公平锁和非公平锁
- CAS问题,怎么实现安全的?
CAS有3个操作数:内存值V(可能被thread修改)、旧的预期值A(thread修改后打算回写时看的主存变量值)、要修改的新值B(当前thread操作后的值)。 当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。 该操作是一个原子操作,被广泛的应用在Java的底层实现中。在Java中,CAS主要是由sun.misc.Unsafe这个类通过JNI调用CPU底层指令实现。
- redis慢查询,redis实现分布式锁,redis持久化机制 redis慢查询(内存,命令keys)
- mysql的B+树,日志binlog,undolog,redolog
- 多线程怎么回收已经用完的线程的?
- 强引用、软引用、弱引用、虚引用使用场景
- 有一、二。。。。十等奖,每个奖的概率都是10%,在样本很大情况下,如何保证每种奖的中奖概率是10%(Random函数)
- 创建线程池几种方式?
玩吧(二面50min)20200320可能挂了
- 进程和线程的区别
- Float,Double浮点数在计算机是怎么存储的,比如100.2340001
- Float,Double是线程安全的吗?
java规范规定了对基本数据类型的操作必须是原子性的,但是long和double除外。现今的虚拟机都是把32位作为原子性操作。但是对于64位确没有,因此64位虚拟机操作long和double时,会出现两次写操作,这就造成了错位可能,因此在64位上操作共享的long和double时,必须实现同步操作。
- TCP/IP 结构和相关协议?
- volitate关键字,指令重排序的作用?
- LinkedHashMap与HashMap
- NIO在不同操作系统是怎么实现的?
- 贪心算法和动态规划区别
- 字典树的常见,查找和删除
- 完全二叉树
若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1)的结点数都达到最大个数,第 h层所有的结点都连续集中在最左边,这就是完全二叉树。
头条(一面80min 20200319挂)
- 8种数据类型,各自的字节数,分析int的取值范围
- 集合类,Collection,Map接口的实现类,越详细越好
- 锁,各种锁,synchronized(),括号里可以使字符串吗,实现机制是什么?
- 线上CPU过高,排查一下?
- mysql的Innodb索引B+树,隔离级别
- mysql死锁是怎么解决的
- 算法,一个数组代表股票,[100,80,120,130,70,60,100,125],哪天买入那条卖出收益最大,(卖出肯定在卖出当天及之后);
思路1,新数组记录当前位置及之后的最大值,help=[130,130,130,130,125,125,125,125];思路2:可以求出序列两两之间的差值,然后开始累加,如果累加和为负数,说明这不是最佳适合的买入点,可以清零,从后继续开始,找到累加和的最大值,更新即可。
- 单例模式
总结:问的特别细,抓住一个你不清楚的点深挖
车主邦(一面30min)20200320
- 线程,进程
- 线程池创建方式,参数,运行机制
- HashMAP,TreeMap
- synchronized实现机制,监视器的原理?
- Mysql的Innodb索引b+树,还有其他索引数据结构吗?
没有了,Memory引擎使用的是Hash索引
- B+树和B树区别
- Full GC,如何避免Full GC
增减年老代的内存,设置年轻代到年老代的阈值
米克世界(一面30min)20200320
- 反转链表
- ArrayList和Linkedlist区别
- 平衡二叉树
- 从扑克牌中抽取5张(没有大小王),判断5张牌是不是连续的?
size大小为13的数组,记录扑克牌数字出现的次数
- 算法:从1到n这n个整数的十进制表示中1出现的次数?
猿辅导(一面60min)20200324挂了
- Innodb索引B+树,联合索引,最左前缀原则,回表查询
- Lock实现原理,AQS原理,公平锁和非公平锁实现原理
- synchronized锁升级?
- 多线程参数,实现机制,怎么实现超过空闲时间将线程杀死
- 进程和线程区别
- 算法:字符串消除游戏
- 算法:二分查找
猿辅导(一面60min)20200324挂了
- 阻塞队列用在哪些场景,与同步队列区别
- 线程池状态
- FutureTask,CompletabeFuture?
- 阻塞队列有几种?
- OOM在哪些地方可以发生?
- 年轻代、年老代垃圾回收
- 复制,标记清除,标记整理
- 算法:将一颗二叉树转化成只有右子树节点的二叉树
跟谁学(一面50min)20200324
- FutureTask,多线程
- redis缓存,布隆过滤器
- 如何获取redis中hash所有的key
hkeys key
- redis实时性要求比较高,可以使用同步机制,监视mysql变动,更新Redis缓存
- mysql的Innodb中B+树索引
- 为什么MyIsim使用B树索引
- 如何找到慢查询sql
slow_query_log 默认是off关闭的,使用时,需要改为on 打开
slow_query_log_file 记录的是慢日志的记录文件
long_query_time 默认是10S,每次执行的sql达到这个时长,就会被记录 8. 慢查询sql,怎么调整sql不是慢查询了