测试秋招八股文集锦—线程进程协程代码实现(面试频率超高)

一、前言:我又可以啦!

八股文之经典网络篇收获535收藏量,突破了我的文章收藏记录,且粉丝涨到了400,每次更新文章都会熬到凌晨的我,感觉又可以啦!!!!

以前我的帖子大多数以分享生活的小幸福为主,现在发现面经类是大家秋招最需要的,虽然这次写帖子的初衷是牛客周边和月饼(不小心说了大实话hhhhhh,嘘~

写了3篇之后逐渐进入了状态,文章不仅是给大家看的,也是我秋招+社招迟到的复盘,大家加油吖~

二、什么是进程、线程、协程?

2.1 进程(Process)

定义:就是任务,是计算机系统进行资源分配和调度的基本单位。

例如:打开一个word文件就是启动一个word进程。

特点:独立数据空间,进程间不共享数据、系统调度。

2.2 线程(Thread)

定义:进程内的子任务。

例如:word中可进行编辑、拼写检查和打印等子任务。

特点:执行程序的最小单位,进程内线程间共享资源、系统调度。

2.3 协程

定义:程序员调度,分解一个线程成为多个"微线程"。

特点:通过代码层面控制程序使用协程方式运行,高并发需求,可使用协程。

三、如何用Python实现进程、线程、协程?

3.1 进程代码实现

目的:输出一条语句,同时包含一个进程的id。

#encoding:utf-8
from multiprocessing import Process#引入process模块实现多进程
#输出一条语句,同时包含一个进程的id
def foo(i):
    print("This is Process",i)
for i in range(s):#初始化5个进程,每个进程都把def语句打印出来
    P = Process(target=foo,args=(i,))
    P.start( )#启动进程

进程输出结果

{'This is Process',0}
{'This is Process',1}
{'This is Process',2}
{'This is Process',3}
{'This is Process',4}

3.2 线程代码实现

目的:试下多线程,输出一条语句,告诉你是第几个线程。

#encoding:utf-8
import threading
def show(i):
    print('This is Thread',i)
for i in range(5):
    t = threading.Thread(targer = show,args=(i,))
    t.start( )#启动线程

线程输出结果

('This is Thread',0)
('This is Thread',1)
('This is Thread',2)
('This is Thread',3)
('This is Thread',4)

3.3 协程代码实现

#encoding:utf-8
import geven
def foo():
    print("start_foo")
    gevent.sleep(2)
    print("end_foo")
    
def bar():
    print("start_bar")
    gevent.sleep(0)
    print("end_bar")
    
#foo()
#bar()

#把foo()和bar()两个待测方法添加进去执行
    gevent.joinall([
        gevent.spawn(foo),
        gevent.spawn(bar),
    ])

协程输出结果

start_foo
start_bar
end_bar#因foo()设置sleep为2,耗时比bar长,因此bar()先执行结束
end_foo

四、写在最后

进程线程面试遇到的可能性还是很大的,我秋招和社招都有遇到过,希望大家多学习一下。

对哦,下篇文章大家想看什么呢,测试基础知识、自动化实战、数据库,还是Linux基本命令呢???

大家可以留言哦,下篇文章就写你们想看的文章。
晚安啦~~~
XNJKQBJqDUL5FVhiu8SVfJlxnB5s3NLO.jpg
#秋招##面经##测试##校招##面试八股文#
全部评论
2 回复 分享
发布于 2022-08-23 00:33 安徽
哇,很用心的文章,通俗易懂,收藏啦
1 回复 分享
发布于 2022-08-23 00:37 安徽
大家别忘了留言下篇想看的文章哦
1 回复 分享
发布于 2022-08-23 00:34 安徽
很棒很棒,目前正在找工作,希望博主之后可以更新一下shell脚本或者Linux的知识
点赞 回复 分享
发布于 2025-10-15 15:31 北京
数据库面经有吗
点赞 回复 分享
发布于 2023-03-25 23:42 广东
数据库
点赞 回复 分享
发布于 2022-09-29 22:19 广东
Linux
点赞 回复 分享
发布于 2022-09-05 15:46 青海
求Linux基本命令
点赞 回复 分享
发布于 2022-08-28 19:37 江苏
三连走起~
点赞 回复 分享
发布于 2022-08-26 21:15 北京
三连走起~
点赞 回复 分享
发布于 2022-08-26 21:14 北京
写一篇设计文章吧
点赞 回复 分享
发布于 2022-08-26 15:02 北京
棒棒棒😄
点赞 回复 分享
发布于 2022-08-24 09:17 北京
协程不是用户态的线程吗
点赞 回复 分享
发布于 2022-08-24 08:09 山西
很用心的文章,希望看到自动化实战,牛客这方面比较少
点赞 回复 分享
发布于 2022-08-23 23:19 上海
自动化实战
点赞 回复 分享
发布于 2022-08-23 21:12 浙江
感谢楼主小姐姐,整理的都是干货,而且精炼,易懂,最近正在准备面试,帮了我好大的忙
点赞 回复 分享
发布于 2022-08-23 15:02 上海
楼主可以更新,一些常问到的测试用例设计么?比如朋友圈点赞,支付之类
点赞 回复 分享
发布于 2022-08-23 10:00 陕西
谢谢婷婷!还想看Linux面经哦~
点赞 回复 分享
发布于 2022-08-23 09:41 湖北
点赞 回复 分享
发布于 2022-08-23 09:16 上海
点赞 回复 分享
发布于 2022-08-23 08:29 江西

相关推荐

zzzilik:没事的,才刚刚开始,后面会捞的,这个三天没人发起面试自动结束,但是面试官还是能看到简历,四月份主战场会慢慢捞
点赞 评论 收藏
分享
头像
04-25 18:51
已编辑
华东师范大学 算法工程师
暑期实习从2月开始投,面了两个月,流程该挂的都挂完了,腾讯字节一共号称是1.7w个hc,不知道都发给谁了,估计今年秋招要难顶。Timeline米哈游、美团、蚂蚁、微软等公司直接简历挂穿,没进面。携程:3.3 投递、测评3.12 笔试3.18 一面3.25 二面4.13 ai面(hr面)4.14 英语测评4.23 offer(已拒)腾讯:2.6 测评2.28 wxg一面3.5 wxg二面(挂)3.11 teg一面3.21 teg二面(取消)3.31 teg一面4.10 teg二面(挂)4.21 wxg一面4.24 wxg二面(挂)字节:1.28 aml约面(取消)3.17 火山一面(挂)4.8 aml一面(挂)4.20 抖音data一面(挂)阿里:3.23 投递、测评3.28 笔试3.31 淘天一面4.8 钉钉一面4.9 淘天二面4.10 阿里控股一面4.12 钉钉二面(取消)4.15 淘天hr面4.16 淘天offer(已接)4.21 高德一面(取消)4.22 淘宝闪购一面(取消)面试最大的感触是,现在撞上ai转型,一堆老业务急着转向,新业务非常不成熟,研究型的组bar非常高根本进不去,业务侧挂着算法的岗位干的都是工程活,面试却又要问算法,另外agent的落地也远没有那么广,绝大多数还是那套写死的系统调一下llm api或者做做rag,其余少部分真的在搭agent的,基本不能在线上服务用什么很智能的模型,现阶段成本太高,进去大概率就是给垃圾模型从工程方面兜底,除了业务场景的应用和数据经验以外,技术方面很难有什么提升。算法岗做不了基模的还是去搜广推好,之前判断失误了完全没投,秋招不知道还进不进得去。
绿糖滑稽:携程这什么雷霆流程时长
我的求职进度条
点赞 评论 收藏
分享
评论
48
307
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务