一面记录

本文分享了一次面试经历,深入探讨了控制CPU占用率的方法,解释了如何通过交替执行空循环和睡眠操作来稳定CPU占用率。同时,文章还提到了计算机网络中滑动窗口的概念,TCP的三次握手和四次挥手过程,以及并发编程的基本概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一面题:

先问项目和竞赛,要求对项目需要非常了解。

1.控制CPU占用率的办法,比如说稳定在50%(《编程之美》第一题)
答:设计两组程序,一组空,一组循环,设置一个定值,使得两段程序交替运行。
问:如何确定这个定值?
答:结合计算机的位数和执行语句的字节数计算

参考答案:参考《编程之美》第一题的第一种解答。
CPU的占用率,表示了一个刷新周期内,CPU忙(执行任务)的时间占整个刷新周期的比例。要达到这种目的,需要CPU在一定的采样时间内调度busy和idle两个不同的循环。busy loop可以通过执行空循环来实现,idle loop可以通过sleep()来实现。问题的关键在于如何控制循环的次数n。对于空循环for(i=0; i<n; i++);如何选择一个合适的n。CPU执行的是机器指令,假设CPU的主频是2.4Ghz(2e9个时钟周期每秒),再计算循环一次需要的时钟周期数(比如5),那么一秒内CPU可以执行循环9.6e8次。这样令n=9.6e6,睡眠时间改为10毫秒sleep(10),n=9.6e6执行了10毫秒,在总的CPU刷新周期内就可以得到稳定的50%的CPU占用率。

2.计算机网络: 滑动窗口
答:不会
问:那你看了什么
答:TCP

3.计算机网络:
1)建立连接和断开连接的过程(三次握手和四次挥手)
答:面试常考题,刚背的,勉强背诵出来
2)为什么断开连接要四次,三次的话会有什么影响
答:网络延迟时可能会导致客户端无法断开连接,浪费资源

4.Linux进程管理用过吗?
答:没有,不会

5.Linux查看内存占用率的命令
答:不了解,我们一般看显存,后面会跟着内存占用
问:看显存的命令是什么
答:nvidia-smi

6.关于并发是否了解
答:不了解,刷题的时候做过多线程的题
问:举例一下
答:两个函数分别输出字符串,要求调度能交替输出
问:这样做比单个函数做输出的效率要高吗
答:不知道
问:你理解的话,哪种情况的效率高
答:不知道

7.手撕题
3[bc]2[a] return bcbcbcaa
3[bc2[a]] return bcaabcaabcaa
😤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值