笔试
耗时三个小时,考的是Java核心的基础。大概说一下几个考点:
Java并发的知识点、集合类、线程池、多线程之间的通信等
一面
1、首先是自我介绍。个人情况,个人的擅长的地方,这里主要考察你的表达能力和语言精简能力。
2、介绍自己的项目经验,项目中做了什么,难点在哪里?主要是想了解参与过技术难度最大的项目难点,技术难点在哪里,你是怎么来解决的?
3、Java的线程池说一下,各个参数的作用,如何进行的?
4、同步与异步区别?
(1)同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。
(2)异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。
5、HashMap的实现原理,HashMap是如何解决hash冲突的问题?
6、Redis讲一下,项目使用场景,以及对应的算法?
7、分布式系统的全局id如何实现?用zookeeper如何实现的呢,机器号+时间戳即可?
8、分布式锁的方案,redis和zookeeper那个好,如果是集群部署,高并发情况下哪个性能更好?
9、kafka了解么,了解哪些消息队列?
10、乐观锁和悲观锁
11、IO和NIO的却别,以及NIO的原理,有了解过mina?
12、JVM内存模型,JVM加载原理,回收算法了解?
二面
1、介绍你所做的项目和其中的难点?
2、反射的作用是什么?
(1)反射的主要作用是用来扩展系统和动态调用程序集。
(2)所谓扩展系统就是先把系统写好,系统里面定义接口,后面开发的人去写接口的代码。
(3)动态调用程序集就是利用反射去调用编译好的dll,当然此时的dll没有被引用到你所建的工程里面。
3、数据仓库,多线程和并发工具等?
4、私有云,docker和k8s等?
5、了解哪些中间件,dubbo,rocketmq,mycat等?
6、dubbo中的rpc如何实现?
7、自己实现rpc应该怎么做?
9、dubbo的服务注册与发现?
10、最后问了些排序算法
HR面
聊人生谈理想,离职原因、职业规划和期望的薪资。主要还是考察你对工作是否持积极的态度,以及你是否稳定。
全部评论
(4) 回帖