X不知叫啥X X不知叫啥X
我试着让生活变得简单~对幸福或寂寞顺其自然~
关注数: 38 粉丝数: 226 发帖数: 5,838 关注贴吧数: 108
Python程序员面试必备(6) 爱尚实训基地18年第12批的沈阳python培训班的学员到了即将毕业的时候,他们马上就要面对面试笔试和工作的阶段。为了帮助学员面对面试时可能遇到的各种关于Python技术问题,沈阳爱尚实训的老师专门为Python培训的学员搜罗了各种资料,将这些面试问题大致分为四类: ◆是什么(What) ◆如何做(How) ◆说区别/谈优势(Difference) ◆实践操作(Practice) 1. 今天我们来给大家带来第三部分 Difference 的(上) 三、说区别/论优缺点(Difference) 7. select和epoll的区别? a. select可以实现需要自己不断轮询所有的fd集合,直到设备就绪,在此期间会要睡眠和唤醒多次交替。然而epoll其实也需要调用epoll_wait不间断轮询就绪链表,在这期间还可能多次得休眠和唤醒交替,然而在它的设备就绪时,调用回调函数时候,把就绪fd放入就绪链表中,并且唤醒在epoll_wait中进入睡眠的进程。尽管都要睡眠和交替,然而select在“醒着”的时候要遍历整个fd集合,但是epoll在“醒着”地时候仅仅需要判断就绪链表是否为空就可以了,这节省了大量的CPU时间。 8. TCP和UDP有什么区别?边缘触发和水平触发有什么区别? a. 他们之间基本的区别: 基于连接与无连接; TCP要求系统资源很多,UDP很少; UDP程序结构很简单 ; 流模式(TCP)与数据报模式(UDP); TCP保证数据的正确性,UDP可能会丢包 ; TCP保证数据顺序,UDP不保证 。 b. 编程中的区别 socket()的参数的不同; UDP Server不需要调用listen和accept; UDP收发数据用sendto/recvfrom函数; TCP:地址信息在connect/accept时确定; UDP:shutdown的函数无效。 9. HTTP连接:get与post有什么不同? GET请求,请求的数据会附加在URL之后,分割URL和传输数据,多个参数用&连接。URL的编码格式采用的是ASCII编码,并不是uniclde,就是说所有的非ASCII字符都要编码之后再传输。 POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。上面的item=bandsaw就是实际的传输数据。因此,GET请求的数据会暴露在地址栏中,而POST请求则不会。 10. varchar和char有什么区别? char 的长度是固定的,不论你以前存储的数据是多少他都会都会是固定的长度。而varchar则处可变长度但他要在总长度上加1字符,这个用来存储位置。所以在处理速度上char要比varchar快速很多,但是对费存储空间,所以对存储不大,但在速度上有要求的可以使用char类型,反之可以用varchar类型。 以上就是爱尚实训的老师们总结的Python程序员面试必备(6) 接下来我们还会带来其他的几部分,请持续关注
Python程序员面试必备(5) 爱尚实训基地18年第12批的沈阳python培训班的学员到了即将毕业的时候,他们马上就要面对面试笔试和工作的阶段。为了帮助学员面对面试时可能遇到的各种关于Python技术问题,沈阳爱尚实训的老师专门为Python培训的学员搜罗了各种资料,将这些面试问题大致分为四类: ◆是什么(What) ◆如何做(How) ◆说区别/谈优势(Difference) ◆实践操作(Practice) 1. 今天我们来给大家带来第三部分 Difference 的(上) 三、说区别/论优缺点(Difference) 1. 数组与元组之间有什么区别? 数组在python中被叫作列表。列表能修改,然而元组却不能修改,假如元组中只有一个元素,那么就要在元素后加上逗号。元组和列表的查询方式是一样的。元组却只可读不可修改,假如程序中的数据不允许修改的话可用元组。 2. _new_与_init_的区别? __init__是当实例对象创建完成后被调用的,然后设置对象属性地一些初始值。 __new__是在实例创建前被调用的,是因为它的任务就是创建实例然后返回该实例,它是个静态方法。 也就是说,__new__在__init__之前被调用,__new__的返回值(实例)将传递给__init__方法的第一个参数,然后__init__给这个实例设置一些参数。 3. Python中单下划线与双下划线有什么区别? "单下划线" 开始的成员变量被叫做保护变量,他的意思是只有类对象以及子类对象它们自己可以访问到这些变量; "双下划线" 开始的是私有成员,意思是只有类对象它们自己可以访问,连子类对象也不能访问到这个数据。 4. 浅拷贝与深拷贝有什么区别? 在python中,对象赋值实际上是对象的引用。浅拷贝,没有拷贝子对象,所以原始数据改变,子对象会改变,而深拷贝,包含对象里面的自对象的拷贝,所以原始对象的改变不会造成深拷贝里任何子元素的改变。 5. 使用装饰器的单例以及使用其他方法的单例,在后续使用中,有什么样的区别? Import方法改变了类本身,new方法,但是只是把所有实例对象共享属性,每次产生一个新对象。算作伪单例,共享属性方法实例化了许多个相同属性。所以,装饰器方法最实用的。 6. 多进程和多线程有什么区别? a. 简单来说,一个程序至少有一个进程,一个进程至少有一个线程。 b. 线程的划分尺度小于进程,使得多线程程序的并发性高。 c.在此之外,进程在执行过程中拥有独立的内存单元,而在多个线程共享内存,从而极大地提高了程序的运行效率。 d. 线程在执行过程中与进程一部分区别。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。然而线程不能够独立执行,它一定要依存在应用程序中,由应用程序提供多个线程执行控制。 e. 再从逻辑的角度来看,多线程的意义在于在一个应用程序中,可以有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的最大的区别。 以上就是爱尚实训的老师们总结的Python程序员面试必备(5) 接下来我们还会带来其他的几部分,请持续关注
首页 1 2 下一页