首页 > 华为后端Java社招面经分享
头像
牛客559491978号
编辑于 2020-08-05 10:59
+ 关注

华为后端Java社招面经分享

1、MyBastis如何映射,MyBatis原理。

2、如何实现高可用的,你的系统怎么达到高可用的?

3、redis底层实现,redis是如何更新缓存的?

redis更新缓存策略:

方案1:后台点击更新缓存按钮,从DB查找最新数据集合,删除原缓存数据,存储新数据到缓存;

方案2:前台获取数据时发现没有缓存数据就会去数据库同步数据到缓存

方案3:后台点击更新缓存按钮,从DB查找最新数据集合,这里不删除缓存,通过遍历数据覆盖和删除掉无效的数据


还有一个相对好的方案,类似预加载功能,先把数据加载到缓存中,缓存成功后再切换显示最新的数据,将旧数据设置过期;


4、Java集合中哪些类是线程安全的?

1vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用。在web应用中,特别是前台页面,往往效率(页面响应速度)是优先考虑的。

2statck:堆栈类,先进后出

3hashtable:就比hashmap多了个线程安全

4enumeration:枚举,相当于迭代器

除了这些之外,其他的都是非线程安全的类和接口。


5、hashtablehashmap的区别

答:hashtable是线程安全的,hashtable的方法都提供了同步机制;hashmap不是线程安全的,即不提供同步机制 ;hashtable不允许插入空值,hashmap允许。


6、、多线程并发修改一个集合怎么办

答:用老的Vector/Hashtable

7、开发中你们如何进行单元测试?覆盖率如何?自动化测试怎么达到?

8、SpringMvc执行流程,java常用设计模式。

答:首先用户发送请求到前端控制器。页面控制器接收到请求后,进行功能处理。前端控制器收回控制权,然后根据返回的逻辑视图名。前端控制器再次收回控制权,将响应返回给用户;


9、eureka怎么保证可用性,及底其层实现,与zookeeper有什么区别?

10、高并发相关的问题,concurrent相关包。

11、为什么使用redis做缓存而不是其他的消息队列入kafka,以及项目的稳定性。

12、事务一定会锁表吗?

13、java并发和线程同步,同步机制,锁具体解释一下。

14、redis集群搭建,分词算法、redis主从同步机制。

15、常用的线程池,threadlocal有什么用,多线程并发解决办法。

更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐