常见python面试题总结

前言

网上有大量的基础面试题目,但是通过面试python后台开发,掌握的一些基础面试题,觉得有必要整理出来,以便日后查阅;

正文

一、面试基础题目;

1、可迭代对象、迭代器与生成器的区别?

(1)迭代器是一个可以记住遍历的位置的对象,基本方法有iter()和next(),迭代器可以记住遍历位置的对象;

(2)生成器是一种特殊的迭代器,返回值不通过return而是通过yield;

(3)使用iter内置函数可以获取迭代器的对象。如果对象实现了能返回迭代器的__iter__方法,那么对象就是可迭代的;

2、redis知识点?

(1)Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API;

3、三次握手四次挥手?

4、进城与线程的区别?

(1)一个进程可以管理一个及一个以上的线程;

(2)一个进程相当于一个应用程序,一个线程相当于一个应用程序的一个功能分支;

5、python里面使用线程的缺点?

(1)GIL导致PYTHON 无法使用到计算机的多核,仅能使用单核;

(2)python想要提高效率,可以使用多个进程,不要使用多个线程;

6、GIL锁什么时候会释放? 

7、python垃圾怎么回收的?

8、python上下文管理器?

9、存储引擎innodb的特性?

10、mysql事物有哪些特性?

11、数据库索引的功能是什么?

12、innodb索引数据结构是什么样的?

13、mysql建索引需要注意哪些事项?

14、数据库怎么优化慢查询?

15、表的拆分有哪些纬度?

16、什么情况下会用上读写分离?

17、mysql的binlog主要有哪些信息?

18、kafka和rabbitmq的区别?

19、数据结构算法,常用十大排序算法,时间复杂度、空间复杂度简单说下?

20、二叉树镜像反转代码,手写?

class Node(object):
    def __init__(self, value=None, lchild=None, rchild=None):
        self.value = value
        self.lchild = lchild
        self.rchild = rchild


def mirror(root):
    """翻转镜像"""
    if not root:
        return
    root.lchild, root.rchild = root.rchild, root.lchild
    mirror(root.lchild)
    mirror(root.rchild)


def in_order_traverse(root):
    """中序遍历"""
    if not root:
        return
    in_order_traverse(root.lchild)
    print(root.value)
    in_order_traverse(root.rchild)


if __name__ == '__main__':
    root = Node(1, Node(2, Node(4), Node(5)), Node(3))

    mirror(root)  # 翻转二叉树
    in_order_traverse(root)  # 中序遍历

 

21、hadoop怎么进行容错的?

22、http协议常见请求方法有哪些?状态码有哪些?

23、https和http的区别,https怎么进行加密的?

24、tcp与udp协议的区别?

25、tcp协议如何进行流量控制?

26、git如何管理分支?

参考资料

转载于:https://www.cnblogs.com/haoxinchen/p/11073326.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值