当前位置: 首页 > 面试经验 >

阿里云暑期实习测试开发岗一面

优质
小牛编辑
170浏览
2023-03-28

阿里云暑期实习测试开发岗一面

【面试时间:2023/2/14 】

部门:阿里云网络

面试时长:40mins

  1. 自我介绍
  2. 问项目
  3. python多线程、多进程、协程
  4. HTTPS和HTTP区别
  5. 如果TCP连接不成功,但是ping可以ping通,如何排查网络问题
  6. 反问环节

【复盘】

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的答案:)

  1. 防火墙:目标主机可能配置了防火墙规则,禁止TCP连接。因此,您可以通过ping命令ping通目标主机,但是无法建立TCP连接。请检查目标主机的防火墙规则并确保允许TCP连接。
  2. 网络连接问题:可能存在与TCP连接相关的网络问题,例如路由器故障或网络故障。请检查您的网络连接,包括您的计算机和目标主机之间的任何中间路由器。
  3. 端口问题:如果您尝试连接的端口没有在目标主机上打开,那么TCP连接将失败。请确保您尝试连接的端口在目标主机上打开。
  4. DNS问题:如果您使用主机名而不是IP地址尝试建立连接,则可能存在DNS问题。请确保您的主机名解析到正确的IP地址。

 类似资料: