9.25 笔试

一面 电话

1.算法1:leetcode1545. 找出第 N 个二进制字符串中的第 K 位
2.算法2:leetcode740.获得并删除点数
3.常用的集合类有哪些?
4.ArrayList 和 LinkedList 的区别?
5.i初始值为0,两个线程同时执行i++,各执行100次后i的最终结果是多少?
6.AQS相关的了解哪些
7.synchronized 和 volatile 的区别是什么?
8.BIO,NIO,AIO 有什么区别?
9.TCP头部中都有哪些标志位?
10.了解哪些类加载器?类装载的执行过程?

二面 电话

1.自我介绍+项目
2.HashMap和ConcurrentHashMap?讲一下红黑树
3.MySQL索引使用的数据结构有哪些?
4.讲一下数据库索引为什么会失效?
5.Redis缓存一致性解决办法?
6.乐观锁和悲观锁,平常都用过哪些?
7.设计题:结合乐观锁和悲观锁,保证购物网站中的商品能够正常出售?
8.了解Spring 和Spring boot吗?讲一下Spring beans吧
9.双亲委派模型的好处,什么时候需要破坏?
10.讲一下一个程序的执行过程?

三面 视频

1.自我介绍+项目介绍
2.按下电脑开机键到用户输入密码这个过程都发生了什么?自己设计一下BIOS?
3.String aa = "ab";String bb = "ab";求aa == bb?aa.equals(bb);
4.Java如何判断是否可以回收?垃圾收集算法?垃圾回收器?
5.举一个线程不安全的例子?分析一下具体的原因
6.HTTP头部都有哪些信息?HTTP从1到2和3都有哪些改进?
7.说一下 synchronized 底层实现原理?synchronized 和 Lock 有什么区别?

交叉面 电话

1.自我介绍+项目介绍+难点+学到了什么
2.有哪几种线程池的创建方式?
3.线程池执行流程?核心参数知道哪些?饱和策略?
4.HTTP 与 HTTPS的区别?HTTPS如何保证安全性
5.进程的通信方式?进程/线程有哪些状态,之间的如何转换的

HR面 视频