面试题第三天

  1. 写个单例,什么是单例,单例怎么实现,怎么理解单例?
    最简单的单例就是一个模块:
     class foo(object):
    	def fin(self):
    		pass
     A = foo()
    
    答:单例模式是一种常用的网络设计模式,该模式的主要目的是确保某一个列只有一个实力纯在,当你希望在整个系统中,某个类只出现一个实例时,单例对象就能派上用场。把你的单例代码保存在一个py文件中,要使用时,直接在文本中导入其他文件的对象,这个对象即是单例模式的对象。
  2. 什么是websocket,socket、poll、epoll的区别,他们的机制是什么,有什么区别?
    websocket传输协议是基于tcp传输的一种网络协议,他实现了服务器和浏览器的双全工通信,websocket协议之前,双工通信是通过多个http链接来实现的,这导致效率低下,websocket解决了这个问题
    socket用的是1024个字节传输数据,poll超越了传输数据的限制,不过用的是轮训机制,每次需要就问一次,效率太低,而epoll就使用的是事物提交机制,就是你有什么问题,你先进行提交。
  3. Redis的连接方式
    引入redis的原因是,内存机的读写,加快读写速度,所以引入了非关系型数据库,访问的人越来越多,重要的节点服务器的访问量急剧上升
    1. 加上&号使redis以后台程序方式运行
    2. 启动时指定配置文件
    3. 使用redis启动脚本设置开机自启动
  4. 怎么理解事物,MySQL中的锁都有那些,各个锁的机制是什么
    MySQL以及大多数关系型数据库都提供了一个叫事务的技术,我们可以声明一个一个事务的开始,再确认提交或者指明放弃前的所有操作,都现在一个叫事务日志的临时环境中进行操作,待操作完成,确保了数据一致性之后,那么我们可以手动确认提交,也可以放弃以上操作。
    一旦选择了提交,那么便不能再利用放弃操作来撤销更改了。
    数据库锁定机制简单来说,就是数据库为了保持数据的一致性,而是各种共享资源在被并发访问变得有序所设计的一种规则
    MySQL个存储引擎使用了三中类型的锁定机制,表级锁定,行级锁定,页级锁定。
    1. 表级锁定
      表级别的锁定是MySQL各存储引擎中最大颗粒度的锁定机制,该锁定机制最大的的特点是实现逻辑非常简单,带来的系统负面影响最小,所以获取锁和释放锁的速度最快。由于表级锁一次会将整个表锁定,所以可以很好的避免困扰我们的思索问题。当然,锁定颗粒度大所带来最大的负面影响就是出现在锁定资源征用的概率也会最高,致使并大度大打折扣,使用表级锁定的主要myisam,memory,csv等一些非事务性存储引擎。
    2. 行级锁定
      行级锁定锁定的最大特点就是锁定对象的颗粒度很小,也是目前各大数据库管理软件所实现的锁颗粒度最小的,所以发生锁资源争用的概率也是最小,能够给予应用程序尽可能大的并发处理能力而提高一些需要高并发应用的整体性能,虽然能够在并发处理能力面上有较大的优势,但是焊机锁定也因此带来的不少弊端,由于锁定资源的颗粒度很小,所以每次获取锁和释放锁所需要做的事情也更多,带来的消耗自然也就更大了,此外,行级锁定也是最容易发生死锁,使用行级锁定的主要InnoDB存储引擎。
    3. 页面级锁
      页面级所是MYsql中比较独特的一种锁定级别,在其他数据管理软件中也并不是常见,页面锁定的特点是颗粒度介于行级锁定与表级锁定之间,所以获取所需要的资源开销,一级所能提供的并发处理能力也同样介于上面二者之间,另外,页面级锁定和行级锁定一样,会发生死锁。
      总的来说,MySQL这三种所的特性大致归纳如下:表级锁:开销小,加锁快,不会出现死锁,锁定颗粒度大,发生所冲突的概率最高,并发度最低;行级锁,开销大,加锁慢,会出现死锁,锁定颗粒度最小,发生锁冲突的概率最低,并发度也最高;页面锁:开销和加锁时间介于表锁和行锁之间,会出现死锁,颗粒度界定于表锁和行锁之间,并发度一般。
      适用:从锁的角度来说,表级锁更适合以查询为主,只有少量按索引条件更新数据的应用,如web应用,行级锁则更适合含有大量按索引条件并发更新销量不同数据,同时又有并发查询的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值