嘉兴达内IT培训
美国上市IT培训机构

C++基础面试题(三)

  • 时间:2019-07-24 17:32
  • 发布:嘉兴达内IT培训官网
  • 来源:企业面试题

1、Redis是单线程的,为什么这么高效?

虽然Redis文件事件处理器以单线程方式运行,但是通过使用I/O多路复用程序来监听多个套接字,文件事件处理器既实现了高性能的网络通信模型,又可以很好地与Redis服务器中其他同样以单线程运行的??榻卸越?,这保持了Redis内部单线程设计的简单性。

 C++基础面试题

C++基础面试题

2、Redis的数据类型有哪些,底层怎么实现?

1)字符串:整数值、embstr编码的简单动态字符串、简单动态字符串(SDS)

2)列表:压缩列表、双端链表

3)哈希:压缩列表、字典

4)集合:整数集合、字典

5)有序集合:压缩列表、跳跃表和字典

3、Redis和memcached的区别

Redis和memcached的区别:

1)数据类型 :redis数据类型丰富,支持set liset等类型;memcache支持简单数据类型,需要客户端自己处理复杂对象

2)持久性:redis支持数据落地持久化存储;memcache不支持数据持久存储。)

3)分布式存储:redis支持master-slave复制模式;memcache可以使用一致性hash做分布式。

4)value大小不同:memcache是一个内存缓存,key的长度小于250字符,单个item存储要小于1M,不适合虚拟机使用

5)数据一致性不同:redis使用的是单线程模型,保证了数据按顺序提交;memcache需要使用cas保证数据一致性。CAS(Check and Set)是一个确保并发一致性的机制,属于“乐观锁”范畴;原理很简单:拿版本号,操作,对比版本号,如果一致就操作,不一致就放弃任何操作

6)cpu利用:redis单线程模型只能使用一个cpu,可以开启多个redis进程

4、TCP的模型,状态转移

TCP四层模型:

C++基础面试题

状态转移:

熟悉三次握手和四次释放的TCP状态转移。

C++基础面试题

5、用过哪些设计模式,单例模式,观察者模式的多线程安全问题?

设计模式

1)Template Method模式:《effective c++》 条款35 :借助Non-virtual Interface手法实现Template Method模式

2)Strategy模式:《effective c++》 条款35:借助Function Pointers 实现Strategy模式、借助std::function完成Strategy模式、古典Strategy模式

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

怕钱不够?就业挣钱后再付学费!    怕学不会?从入学起,达内定制课程!     担心就业?达内多家实践企业供你挑??!

上一篇:学习C语言能开发的项目有哪些?
下一篇:C++基础面试题(二)

参加Web前端面试时应该注意什么?

Web面试中如何回答你有什么缺点的问题?

面试中如何避免因上家公司在职时间短而扣分?

Web前端面试会遇到的知识点汇总

选择城市和中心
贵州省

广西省

海南省

比较好的棋牌游戏 大满贯官方网站dmg988 什么棋牌游戏能赚人民币 射阳县| 雅安市| 贵定县| 洞头县| 托里县| 兴隆县| 开化县| 文登市| 长治县| 罗定市| 西昌市| 洞头县| 德州市| 新乡县| 乃东县| 林州市| 扶风县| 抚顺县| 巴马| 彩票| 石景山区| 建阳市| 永州市| 怀化市| 阿城市| 长子县| 尼玛县| 巴南区| 通城县| 东至县| 滦南县| 蒙山县| 咸宁市| 响水县| 凌源市| 冕宁县| 和静县| 新安县| 仁化县| 陆良县| 商丘市| http://www.trmcnd.cn http://www.lqkywp.cn http://www.iu9b1.cn http://www.cv9u7v.cn http://www.pqztwg.cn http://www.st203i.cn