第一步先自我介绍?
介绍自己的项目经验和个人的擅长点,面试官主要考察你的表达能力和语言精简能力。
第二步:项目中做了什么,难点在哪里?
主要是想了解参与过技术难度最大的项目难点,技术难点在哪里,你是怎么来解决的,考察项目经验(技术难度)。
第三步:开始切入技术面试正题:
Java的线程池说一下,各个参数的作用,如何进行的?
同步与异步区别?
HashMap的实现原理,HashMap是如何解决hash冲突的问题?
Redis讲一下,项目使用场景,以及对应的算法?
分布式系统的全局id如何实现?用zookeeper如何实现的呢,机器号+时间戳即可?
分布式锁的方案,redis和zookeeper那个好,如果是集群部署,高并发情况下哪个性能更好?
kafka了解么,了解哪些消息队列?
乐观锁,悲观锁?
1 介绍你做的项目和其中的难点?
2 反射的作用是什么?
3 数据仓库,多线程和并发工具等?
4 私有云,docker和k8s等?
5 了解哪些中间件,dubbo,rocketmq,mycat等?
6 dubbo中的rpc如何实现?
7 自己实现rpc应该怎么做?
9 dubbo的服务注册与发现?
10 听说我是非科班,于是问了些排序算法
面试耗时将近30分钟。