非凸科技一二三面
一面:
首先是一个笔试 面试官给一个电脑 让你在上面敲一个场景题 题目是固定的 但是用VSCode写java是真不习惯。
笔试写了将近40分钟面试官 看着时间长了 就让我别写了 然后让我讲讲代码逻辑 差一点写完了。 然后就是常规面试阶段: 1、实习业务拷打
2、redis锁你们是在什么场景下使用的?锁的粒度是什么?如果已经获取到锁的进程挂掉该怎么办?
3、实习难点 引入 mysql redis一致性问题,然后谈解决方案?解决方案的优缺点
4、用过线程池没有?用的时候 你们是怎么用的 用的自带的线程池还是自定义参数的?
5、能给我说一下Java线程池的流程吗?(拒绝策略忘了俩个 麻了)
6、能给我说说 docker 如何运行一个程序呢?
7、说一下计算机网络的OSI七层模型
二面:(二面的面试官问的很深 都是源码级别的)
1、自我接受+项目拷打
2、Redisson的底层源码了解吗?运行机制是什么?看门狗是什么?RedLock你知道吗说说RedLock的实现原理
3、CountDownLatch、CyclicBarrier、Semaphore的用法和区别?
4、Completedfuture使用的场景,对应的底层源码了解多少?为什么不适用线程池?
5、HashMap 扩容你知道吗?扩容流程? hash的具体计算公式?元素在扩容后的新位置如何计算?如果当前hashmap容量为8,当前元素index为3扩容之后的新位置在哪?(抱着没人会问hash的具体计算的侥幸心理在此破碎)
6、ConcurrentHashMap的扩容你了解吗?如果说在它扩容的时候这个时候有元素进入,它是如何处理的呢?
7、linux你平时的命令用过哪些?linux除了java的线程信息,其他进程的线程信息如何查看?如果说当前有个线程占用很高我通过什么命令找到它?
8、Java中的集合用过哪些?说说什么时候用ArrayList 什么时候使用LinkedList?线程安全的情况下 如何使用他们两个?
害 背八股遇上了源码大佬 一切的八股在源码面前都是不堪一击。
面试官真的好,每个问题都有反馈 然后给你说这个问题的答案是什么,以及哪里回答漏了。而且一面面试官都是用您来称呼我的,二面面试官 在源码问题回答不上的时候都是笑着给我说 没事会用就行。
三面 ld面
主要还是实习拷打
1、kafka为啥是高吞吐的?我答完之后 面试官说 我只说了kafka本身的特性
2、kafka和rabbitmq区别是什么?为什么kafka就比rabbitmq吞吐量高,rabbitmq的延时就比kafka的低?
3、项目中的redis用在什么地方?
4、项目中的难点 redis mysql数据一致性问题
5、kafka的topic 设置的过期时间是多少
6、linux 命令 awk 了解吗?
7、docker-compose down 与 docker stop 有什么区别?
然后就是面试官介绍工作业务和成都部门工作内容范畴
用惯中间件平台的我 还得好好补补linux 和 docker啊