前言

大厂面试真题向来都是各大求职者的最佳练兵场,而今天小编带来的便是“HUAWEI”面经!这是一次真实的面试经历,虽然不是我自己亲身经历但是听当事人叙述后便会深有同感(因为我朋友差点就与offer擦肩而过了,总共4面技术5面HR,真的好艰难)。为此,我也将这面经整理出来分享给每位程序员(媛)朋友做一个参考,可知“HUAWEI”在Java开发工程师招聘中有哪些技术性考察和倾向!

Redis常用的数据类型

Redis的五种常用的数据类型分别是:String、Hash、List、Set和Sorted set

Redis的使用场景

1.Counting(计数)
2.展示最近、最热、点击率最高、活跃度最高等等条件的top list
3.用户最近访问记录也是redis list的很好应用场景
4.通过list的lpop及lpush接口进行队列的写入和消费
5.Redis 的Lua的功能扩展实际给Redis带来了更多的应用场景,你可以编写若干command组合作为一个小型的非阻塞事务或者更新逻辑
6.Redis提供的主从数据同步功能,其实是对cache的一个强有力功能扩展

小结

如此多的应用无非离不开Redis的所有特性

揭开Redis的神秘面纱

Redis是一个开源(KEY-VALUE键值对),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。采用单进程单线程模型,并发能力强大,是当前互联网架构中主流的分布式缓存工具。

Redis高性能缓存架构设计

1.架构设计

由于redis是单点,项目中需要使用,必须自己实现分布式。基本架构图如下所示:

2.分布式实现

通过key做一致性哈希,实现key对应redis结点的分布。

一致性哈希的实现:

hash值计算:通过支持MD5与MurmurHash两种计算方式,默认是采用MurmurHash,高效的hash计算。

一致性的实现:通过java的TreeMap来模拟环状结构,实现均匀分布

3.client的选择

对于jedis修改的主要是分区模块的修改,使其支持了跟据BufferKey进行分区,跟据不同的redis结点信息,可以初始化不同的ShardInfo,同时也修改了JedisPool的底层实现,使其连接pool池支持跟据key,value的构造方法,跟据不同ShardInfos,创建不同的jedis连接客户端,达到分区的效果,供应用层调用

4.模块的说明

脏数据处理模块,处理失败执行的缓存操作。

屏蔽监控模块,对于jedis操作的异常监控,当某结点出现异常可控制redis结点的切除等操作。

整个分布式模块通过hornetq,来切除异常redis结点。对于新结点的增加,也可以通过reload方法实现增加。(此模块对于新增结点也可以很方便实现)

最后

2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。

更多JVM面试整理:

6640282)]

更多JVM面试整理:

[外链图片转存中…(img-JWrA6OWe-1624006640283)]

点击这里免费下载“百万级”「JVM笔记」

Java面试题2021,智慧树java程序设计答案相关推荐

  1. 智慧树python程序设计答案_智慧树知道Python程序设计完整答案

    智慧树知道Python程序设计完整答案 更多相关问题 已知函数f(x)=a(1-2|x-12|),a为常数且a>0.(1)f(x)的图象关于直线x=12对称:(2)若x0满足f(f(x0))=x ...

  2. JAVA面试题2021最新整理——JAVA基础篇

    点赞.收藏不迷路,转载请注明出处,感谢各位! 目录 8种基本数据类型 自动拆装箱 String static关键字 final关键字 continue.break.return区别 面向对象的三大特征 ...

  3. Java面试题2021,华为java工程师工资

    前言 难道程序员的职业生命线是青春饭?答案是的. 35岁考虑转行,然后35岁又成了一个新人,而外国可以做到60岁,啥也不说了,可能是觉得中年大叔油腻,不及小鲜肉便宜,唉,可叹市场更新换代太快,快到我们 ...

  4. 2020知道python答案_2020知道智慧树Python程序设计答案

    [单选题]两人在酒吧碰到骚扰塞马尔的人叫什么名字? A. 达里尔 B. 哈伦 C. 吉米 D. 以上都不是 [其它]1. Can you (description)_________yesterday ...

  5. 2020智慧树答案python程序设计_2020年智慧树Python程序设计答案章节期末答案

    创伤性窒息的临床特征是A.双侧呼吸音减弱或消失B.皮下及纵隔气肿C.头.颈.上肢毛细血管出血D.双侧 女性,45岁,行肝移植,急性排斥反应多发生在移植后A.1-2个月B.3-4周内C.1-2周内D.2 ...

  6. python程序设计教程课后答案-知到智慧树Python程序设计答案_教程考试答案

    公元4世纪的罗马帝国分为东部的希腊文化圈和西部的拉丁文化圈. 公元七世纪左右,英格兰皈依了正统罗马天主教. 公元668年,()占领整个辽东和朝鲜半岛,设置安东都护府.熊津都护府. 公元前2700-前2 ...

  7. python标准库导入对象语句_下面哪些是正确的Python标准库对象导入语句?-智慧树Java程序设计(山东联盟-鲁东大学)章节答...

    Java程序设计(山东联盟-鲁东大学):下面哪些是正确的Python标准库对象导入语句?[单选题] A:保证两个或多个进程同时启动和结束 B:保证两个或多个线程同时启动和结束 C:保证任何时候只有一个 ...

  8. 郑州大学python程序设计试题_Python程序设计基础_智慧树章节测试题答案

    Python程序设计基础_智慧树章节测试题答案 更多相关问题 [单选题]在人体生长发育过程中,可将哪一年龄段称为少年期 A. 12-16岁 B. 13~17 岁 C. 11-15岁 D. 10-14岁 ...

  9. java面试题35 给定以下JAVA代码,这段代码运行后输出的结果是()

    java面试题35 给定以下JAVA代码,这段代码运行后输出的结果是() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  10. Java面试题 22 牛客 Java是一门支持反射的语言,基于反射为Java提供了丰富的动态性支持

    Java面试题 22 牛客 Java是一门支持反射的语言,基于反射为Java提供了丰富的动态性支持,下面关于Java反射的描述,哪些是错误的:(          ) A Java反射主要涉及的类如C ...

最新文章

  1. qlabel可以选中吗_QLabel-标签控件的应用
  2. 清华大学:2021元宇宙研究报告!(附PPT下载)
  3. PhpCms V9调用指定栏目子栏目文章的两种方法
  4. Linux 命令之 tail -- 在屏幕上显示指定文件的末尾若干行/显示文件尾部内容/查看文件尾部内容
  5. HttpHandler:给指定路径下的图片添加水印显示
  6. 乐视网1354项商标1.3亿元成交,接盘的是这家公司
  7. h3c trunk口改access_H3CNE配置VLAN的Access链路端口和Trunk链路端口
  8. sqlyog备份数据和导入备份数据
  9. Apache Struts ‘includeParams’安全绕过漏洞
  10. Javascript获取地址参数
  11. switch支持的类型
  12. 微服务:知识点梳理(SOA、服务拆分、服务治理、分布式事务)
  13. PHP for windows VC9 VC6区别
  14. 图像处理(十四)HOG特征提取
  15. mysql 索引失效情况总结
  16. android逆向神器,Android MT管理器(APK逆向修改神器) v2.9.8.0 正式版 / v2.5.0 VIP版
  17. Codeforces 887D - Ratings and Reality Shows
  18. 教你们如何快速建立一个完美的python项目
  19. Oracle优化 latch free问题Result Cache:RC Latch引起数据库缓慢
  20. matlab7.01安装,win7系统安装matlab7.1的操作方法

热门文章

  1. 线性卷积、循环卷积与FFT之间的关系
  2. Matlab二维循环卷积程序 cconv2
  3. 45天搞定华为认证数通方向HCNP-RS
  4. 几张关于安全相关的图
  5. 今天吃什么?我直接用Python制作随机食物生成器
  6. background: #ff0000 url(/i/eg_bg_03.gif) ; 图片 + 颜色
  7. 总结避免死锁的几种方法
  8. ios关于GPUImage图片拍摄及视频录制
  9. java车牌识别字符分割_车牌识别LPR(六)-- 字符分割
  10. TKO 6-6 DP入门之村庄援助