再挂一个快手一面
上来先问我了解他们部门么,猝不及防,减分😥
Java基础问的不难,常规八股:
介绍一下java集合
hashmap原理
代码写死锁,我用的两个object,两层synchronized代码块实现的,不知道对不对呢?
代码写死锁,我用的两个object,两层synchronized代码块实现的,不知道对不对呢?
synchronize
volatile
AtomicInteger
CAS
代码:
没见过的新题,但是属于岛屿数量的变种。开始的思路绕远了,但是面试官小哥一直在引导我,而且这个小哥让我先说思路,聊了十几分钟,,,最后终于找到了好实现的方法,代码实现写了不到十分钟。因为是白板,所以不用提交,但应该没问题。
场景:
最后问我会不会线程池,然后接着问如果消息队列产生的信息过多,消费者无法及时消费,需要怎么解决呢?
我按照他开始的思路说的用线程池,加队列或者暂时写到磁盘上缓存一下,但他说这个系统实时性很强,不能有延迟。
然后说加机器,但是他都不满意,不知道有没有大佬知道需要用什么架构或者中间件来优化呢?
反问:
问了下技术栈,问了下建议。
他让我多了解一些中间件为什么使用,而不是停留在表面,估计是对最后一个问题不太满意😂
总的来说比上次答得好,自认为前面的八股因该没问题(也可能是自我感觉良好?),code也没超时,不知道为什么没过,可能就是因为最后这个design不太行吧。
确实和大厂要求有差距吧。