翼猫科技Java工程师社招面试经历
1、首先是让我自我介绍
2、然后问用过哪些数据结构?
3、HashMap默认个数,以及扩容机制;
4、SpringBoot与Dubbo的区别;
答:SpringBoot的引入给我们开发带来极大的便利,很多之前需要手动配置和管理的东西因为使用了SpringBoot而大为简化,甚至于不配置都可以,Dubbo是阿里出的RPC框架,可以做微服务,真正能与Dubbo进行比较的是SpringCloud,Dubbo跟SpringBoot其实不能算同一种东西;
5、你知道SpringBoot做微服务的事情吗?
6、负载均衡用什么做的?(这个问题涉及面太广,于是我问指的哪方面,微服务,服务器还是数据库?然后面试官回答说“不是都用nginx吗?” 于是恍然,我解释我们用Nginx做静态资源缓存,负载均衡就用Dubbo就可以,我还要过来一张纸解释了一下Dubbo负载均衡的策略;)
7、解释快结束的时候,我说到了Dubbo在服务不通时可以设置重试次数,然后问我默认重试次数是几次?
8、HashMap是否线程安全?把HashMap的数据结构画出来看一下;
9、是否用过concurrentMap?然后问concurrentMap的实现机制
答:我解释了加锁方式和hashmap/hashtable的不同,以及线程安全怎样保证;
10、Set扩容机制;
答:我对set的研究仅限于set是基于map实现的,并根据key来进行去重,set并不常用,因此我对这个不熟悉;
11、事务隔离级别及传播属性;
12、Mysql默认隔离级别;
13、单例和多例什么区别?
答:单例就是所有线程共用一个实例,只进行一次初始化,例如SpringMVC就是单例的;Struts2就是多例,所以线程安全;
#社招##Java工程师##面经#