2019.05.26 - 面试问答整理

    xiaoxiao2025-03-24  43

    文章目录

    问答整理-小知识点类之间有哪些种关系哈希碰撞 且 开放寻址 之后,如何delete和查找?Mysql的引擎种类Epoll的水平触发(LT)与边缘触发(ET)Mysql的索引找出Email中的重复行Falsk的 app.context 和 requests.contextRedis的String(字符串)类型的Value最大能存多少Redis的列表如何实现的Python内存回收机制Python如何管理进程

    问答整理-小知识点

    类之间有哪些种关系

    继承关系依赖关系关联关系(一对一,一对多)

    哈希碰撞 且 开放寻址 之后,如何delete和查找?

    可略过

    Mysql的引擎种类

    MyISAM引擎:

    不支持事务、也不支持外键优势:访问速度快,不要求事务完整性 或 以select,insert为主的操作3种存储格式:静态表,动态表,压缩表 静态表:固定长度字段动态表:变长字段压缩表:每个记录是被单独压缩的,访问开支小

    InnoDB引擎:

    事务安全(提交、回滚和崩溃恢复能力)对比MyISAM,写的处理效率稍差,并且占用更多的磁盘空间以保留数据和索引特点:支持自动增长列,支持外键约束。

    MERGE引擎:其实MERGE表本身并没有数据,CURD实际上是对内部的MyISAM表进行操作。

    MEMORY引擎:

    存在内存(服务器一关闭数据就丢失),默认用Hash索引,访问非常快主要用于 保存中间结果

    Epoll的水平触发(LT)与边缘触发(ET)

    (https://blog.csdn.net/lihao21/article/details/67631516)

    水平触发:只要内核缓冲区中还有未读数据,就会一直返回描述符的就绪状态,即不断地唤醒应用进程。边缘触发:缓冲区从不可读变成可读,会唤醒应用进程,缓冲区数据变少的情况,则不会再唤醒应用进程。

    Mysql的索引

    没索引,从第一条记录开始查哈希索引 和 B-Tree索引 B-Tree是二叉树吗? 哈希与B-Tree索引的比较:哈希(O(1))更快,但无法“like”模糊查询(因为Hash基于等值计算)

    找出Email中的重复行

    # 结果只能显示某一行有重复行,不能显示所有重复行号 SELECT * FROM Email GROUP BY email HAVING count(*) > 1

    Falsk的 app.context 和 requests.context

    app.context是关于应用的上下文requests.context是关于某一请求的上下文

    Redis的String(字符串)类型的Value最大能存多少

    string 类型的值最大能存储 512MB超过则无法存入Redis源码解析:Redis的string类型之512MB限制

    Redis的列表如何实现的

    LinkedList 链表Redis基本操作——List(原理篇)

    Python内存回收机制

    Python如何管理进程

    最新回复(0)