字节日常实习一 ,二面(已offer)
一面:12.6下午2点 56min 一面面试官长的特别帅 寸头
1,自我介绍
2,大概学了多久java呢?
3,注册登录这块的安全问题?具体怎么实现注册登录的。
4,redis如果挂了咋办呢?
5.,redis主从了解吗?讲讲主从复制?
6,redis做缓存,缓存一致性怎么保证的?(分布式不要求强一致,最终一致就行)
7,让你实现强一致,加锁的话,如何去加锁?(分布式锁)
8,提到了锁续期看门狗机制,问:新开的看门狗线程,如何知道执行任务的线程还在执行,
什么时候判定它结束了。(扯了半天,一个线程通信问题,最后只说了用volatile修饰的全局变量来实现)
9,我的是个rpc框架,问:有很多模块,你自己实现的是哪些,没有依赖别的现成的东西的
10,注册中心你用的是啥(nacos),我不太了解这个东西是啥呀,你能给我介绍一下吗?(晕了)
11,客户端如果在调用服务端的时候,如果有个服务端挂掉了,如何去摘除呢?自动摘的还是啥,
也不一定是服务端下线了,可能是出故障了,或者是说你客户端去调用然后报错了,客户端怎么处理呢?
12,客户端如何移除故障节点呢,如果服务端这块隔一段时间又好了,你是不是又要给它搞回来?
描述一下这个思想,如何去发现一个服务有问题,如何去解决这个问题,然后再恢复。
13,你平常刷题吗? 刷什么难度的?那肯定是easy和mid呀 算法题:lc72 最小编辑距离
14,hashmap和correnthashmap看过源码吗?讲讲1.7和1.8的hashmap吧 区别和原因
15,反问
一面完就问HR了 2分钟后HR说 约二面
二面 :12.6下午6点 1h 面试官声音真的好温柔 上来问我在哪里 说不会打扰我吧
1,没有自我介绍 人晕了
2,前面的面试感觉怎么样,有什么没有答好的嘛?
3,(他看了一下一面问了啥) 那我们先写一道编程题吧,观察者模式你写过嘛?(害怕极了,赶紧
说没有,我写过单例和消费者生产者模式) ,然后就让写了DCL单例。
4,写单例的时候,边写边讲的,然后又问:如果不去锁.class,锁的是instance本身,会出现啥情况(空指针异常)
5,如果你锁的是个Integer,Integer=1,能达到锁的目的嘛? 如果锁的是128呢?
6,写一个大数乘法嘛? 如果觉得太简单就换一道(我人晕了) 赶紧说没写过 那就写这个吧
7,你觉得自己比较擅长的地方是什么或者说你的优势是什么?
8,你最近在看什么书,在学什么东西?
9,java里面有个juc包,了解吗? 你可以给我介绍一下那里面有啥东西,有啥特点都给我介绍一下。
说了为什么要使用多线程,然后他说线程越多越好吗,如果我8个核心的机器,10000个线程行吗?
10,他让我介绍juc,我介绍了synchronized和CAS。说了10分钟
11,聊一个设计题,怎么设计一个LRU算法,忘了说redis的近似LRU了
12,在飞书里面,一个群聊5000人,以后可能会上升到10000人,现在要设计一个功能,就是说:
每个人没发送一条消息,所有人都可以看到这条消息被哪些人所读取了,设计一个结构(这个问题
讨论了15分钟)
13,反问
字节7点是饭点,面完hr和面试官估计就去吃饭了 然后估计要下班了? 然后等到
12.7下午3点的时候 hr给我说通过了 10分钟offer就下来了 不得不说字节效率是真的快