笔试真题复盘:两个线程各执行 50 次 tally++,最终结果的范围是多少
先说明属性:这是一篇历史笔试题的复盘,题目出自本地历史笔试资料,与任何公司的当前招聘无关。题面很短:全局变量 tally 初值为 0,两个线程各自执行 50 次 tally++,没有任何同步措施,问最终结果是多少。
先说明属性:这是一篇历史笔试题的复盘,题目出自本地历史笔试资料,与任何公司的当前招聘无关。题面很短:全局变量 tally 初值为 0,两个线程各自执行 50 次 tally++,没有任何同步措施,问最终结果是多少。
先说明属性:这是一篇笔试真题复盘,题目出自本地历史笔试资料,与任何公司的当前招聘无关。题目大意:三道程序 a、b、c 共用一台 IO 设备,各自的时间表都是「计算、IO、计算」三段——a 是 30、40、10 毫秒,b 是 60、30、10,c 是 20、40、20;
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。「什么是孤儿进程」几乎总是和「僵尸进程」一起被问到,因为它们是同一枚硬币的两面:父子进程总有一个先退出,父先退产生孤儿,子先退而父不收尸就产生僵尸。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。在 Linux 机器上敲一次 free -m,十个人里有八个会先盯着 free 那一列皱眉:「16G 的机器怎么就剩 400M 了?
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。这道题其实是两问:概念上进程和线程差在哪;工程上多线程什么时候真的省时间。第一问多数人会背,第二问才是拉开差距的地方。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。题面:介绍下你理解的操作系统中线程切换过程。把「一瞬间」拆成三个动作,再把「为什么贵」拆成两块成本,这道题就答完了。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。题面:一个进程有 20 个线程,某个线程里调用 fork,新进程会有 20 个线程吗?答案先放出来:不会,子进程里只有一个线程——发起 fork 的那一个。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。题目问「僵尸进程是什么,如何查找」。这道题的价值在于它逼你看懂进程生命周期的最后一步:退出不等于消失。
看到操作系统更新里的“空间扩大”,很容易联想到电脑突然能装下更多东西。但 OpenBSD 8.0 的一项变化,说的是另一层空间:amd64 架构的内核虚拟地址空间从 4G 扩大到 512G。