【面试时间:2023/2/14 】部门:阿里云网络面试时长:40mins自我介绍问项目python多线程、多进程、协程HTTPS和HTTP区别如果TCP连接不成功,但是ping可以ping通,如何排查网络问题反问环节【复盘】python多线程、多进程、协程:Python的多线程是伪多线程,因为GIL(全局解释锁)的存在使得每个时刻只能有一个线程运行(即使是多核CPU的情况下)要想利用多核CPU,可以使用多进程。因为每个进程有一个GIL。GIL:Global Interpreter Lock 全局解释锁,是python中用于线程同步的一种机制,它使得任何时刻仅有一个线程在执行。即使在多核心处理器上,使用GIL的解释器也只允许同一时间执行一个线程协程:又称微线程,Coroutine。协程的作用是在执行函数A时,可以随时中断去执行函数B,然后中断继续执行函数A(可以自由切换)。但这个过程并不是函数调用(没有调用语句)。协程由于是程序主动控制切换,没有线程切换的开销,所以执行效率极高。对于IO密集型任务非常适用。如果是CPU密集型,推荐使用多进程+协程的方式。进程/线程:操作系统提供的一种并发处理任务的能力。协程:程序员通过高超的代码能力,在代码执行流程中人为的实现多任务并发,是单个线程内的任务调度技巧。HTTP和HTTPS的区别:https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。如果TCP连接不成功,但是ping可以ping通,如何排查网络问题(来自chatGPT的答案:)防火墙:目标主机可能配置了防火墙规则,禁止TCP连接。因此,您可以通过ping命令ping通目标主机,但是无法建立TCP连接。请检查目标主机的防火墙规则并确保允许TCP连接。网络连接问题:可能存在与TCP连接相关的网络问题,例如路由器故障或网络故障。请检查您的网络连接,包括您的计算机和目标主机之间的任何中间路由器。端口问题:如果您尝试连接的端口没有在目标主机上打开,那么TCP连接将失败。请确保您尝试连接的端口在目标主机上打开。DNS问题:如果您使用主机名而不是IP地址尝试建立连接,则可能存在DNS问题。请确保您的主机名解析到正确的IP地址。    
点赞 21
评论 10
全部评论

相关推荐

头像
不愿透露姓名的神秘牛友
04-29 12:10
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务