字节2面
中国交易与广告方向--客户端暑假实习
没想到吧,居然还有2面实际上我也没想到
1.threadlocal的实现原理,内存泄露问题
2.thread local的key是什么value是什么
3.threadlocal常见的使用场景
4.阿里的ttl是如何解决threadlocal污染问题
5.synchronized的作用,他的具体用途
6.synchronized和内存屏障的区别
7.synchronized的底层实现
8.synchronized三种用法的区别
9.java的内存区域
10.Java代码内容储存在jvm的各个区域,打个比方:堆里面会放new出来的对象,数组元素
11.final关键字的使用场景(我说成内存屏障的使用场景了,在那里balabala一大堆,后来面试官问final可见性我才意识到我说错了)
12.两个线程访问同一变量用 volatile 的原因:
13.gc常见的算法
14.这一些算法为什么这么选择
15.哪一些对象时会被gc回收的
16.常见的gcroot有哪一些,比如虚拟机栈引用啊之类的就不过多赘述
17.redis的缓存穿透,缓存雪崩,缓存击穿,出现场景和解决办法
18.http和https的区别
19.加密的流程,就是tls握手的过程
20.为什么一个用非对称引用一个对称引用呢
21.证书的作用?
22.我看你用过线程池,线程和线程池的区别
23.常见的线程池有几种
24.如何自定义拒绝策略
25.创建线程池的方法
26.线程同步的方式,举个liz:互斥锁,读写锁balabala的
27.读写锁的作用
28.为什么读锁共享写锁互斥
29.算法环节:二叉树的蛇形打印,我用的bfs和双端队列,可能面试官赶着啥事我还没写完就打断了,反问环节都没有,然后他一直问我null怎么把他输出,我一急死活想不起来
自此面经结束了,我想了很多,我觉得我们找实习的时候不仅会受到外部的压力比如这种压力面,最后的一直追问,有时候还会受到亲人的压力指责,认为你好高骛远不做正事,我爸就觉得学这个还不如下沉市场去咸鱼做一些东西,比如帮别人图片去去水印,帮别人做excel表格弄数据,不如再备考公务员,一次两次就算了,天天这么说,唉他还觉得这是对的,我觉得如果你选定了一个方向的话,就无畏的往前走,相信自己,不要美化没走过的那一条路,条条大路通罗马,加油