面试总结 三

python中的面向对象

  • 封装:

封装是封装的一个对象的属性和行为,用于描述这个对象,并减少代码的冗余。

  • 继承:

python中可以继承多个类,子类可以调用父类中的方法,动态语言决定了传入的参数只需要包含run方法就行,不一定要严格使用Animal类型。

  • 多态

多态是对象的多态,多父类和子类含有同名方法时,根据的调用对象,决定调用的方法

python中的作用域

  • L (Local) 局部作用域
  • E (Enclosing) 闭包函数外的函数中
  • G (Global) 全局作用域
  • B (Built-in) 内建作用域

LEGB原则

数据库表的去重

https://blog.csdn.net/zzzgd_666/article/details/80718139

索引使用B+树而不使用Hash表的原因

  • Hash表不能满足 = in <=> 这样的范围查询
  • Hash表无法用于避免数据的排序操作
  • 无法使用组和索引的部分索引进行查询
  • 不可避免表扫描

由于不同的索引键存在相同的Hash值,所以即使取某个Hash键值的纪录条数,也无法从Hash索引中直接完成查询,还是要通过访问表中的实际数据进行相应比较,并得到相应的结果。

  • Hash索引遇到大量Hash值相等的情况后,性能就不一定比BTree高

解决Hash碰撞

https://www.cnblogs.com/yangecnu/p/Introduce-Hashtable.html

https://blog.csdn.net/zeb_perfect/article/details/52574915

InnerDB和MYISAM

https://blog.csdn.net/summerZBH123/article/details/81201839

https://www.jianshu.com/p/a957b18ba40d

事务的隔离级别

https://www.cnblogs.com/huanongying/p/7021555.html

https://www.cnblogs.com/protected/p/6526857.html

解决高并发

  • redis缓存数据库

在客户端将连接进行池化,同时对客户端读写Redis操作采用内部锁synchronized

服务器角度,利用setnx变向实现锁机制。

  • 协程epoll(IO多路复用)
  • 分布式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值