K******g 发帖数: 1870 | 1 两面都是印度人,有点口音,但是execuse me之后,基本能听清楚
第一面很简单,是个印度MM,人也nice。问题都很常见
第二面是个印度GG,说话很急,有点催促的意思。
他问了我3个题目:
1. fork(), exec()调用后,操作系统里做了什么。问的比较细,我回答了COW后,还
问里面PCB里面发生了什么变化,要求很具体的答出来,我回答的有点结巴,所以后面
整个面试就定下了基调
2. 什么叫thrashing,我回答后,要求写code,假设系统有4MB memory,让OS产生
thrashing。这题我有点不知道怎么做,答的很不好。
3. 写c++里的strcpy,这题很简单。写完后,问了好几个无聊的问题:
1) 怎么优化?我说了很多,比如如果数据很大,可以用DMA之类的,他都不满意,最
后他竟然说用“memcpy”,我就觉得奇怪了,在strcpy里用memcpy算是优化吗???
2)我在return之前,给destination付个'\0',他说没有必要,要我想其他办法。我没
有想出来,我说,难道是从src里拷贝一个\0过去?他不置可否,也没有说对也没有说
错。这有什么不 |
c******t 发帖数: 1500 | 2 那个thrashing的问题,我给的答案是:
让程序随机的读一个很大的文件(大于物理内存大小)。
也不知道对不对,但是对方貌似比较认可,写出来让大家讨论一下 |
h**k 发帖数: 3368 | 3 按照thrashing的定义,应该是multiple threads竞争共享资源,系统时间主要耗费在在
访问共享资源上而不是执行线程代码。
所以这个问题,我觉得,可以设计成两个或多个线程随机读写一块分配在heap上的内存
块,这个内存块的体积大于4MB,所以必须有一部分放在虚拟内存中,从而物理存储在
硬盘上。这样两个线程同时读写不同的位置,会导致系统不断的读写硬盘。
【在 c******t 的大作中提到】 : 那个thrashing的问题,我给的答案是: : 让程序随机的读一个很大的文件(大于物理内存大小)。 : 也不知道对不对,但是对方貌似比较认可,写出来让大家讨论一下
|
K******g 发帖数: 1870 | 4 两面都是印度人,有点口音,但是execuse me之后,基本能听清楚
第一面很简单,是个印度MM,人也nice。问题都很常见
第二面是个印度GG,说话很急,有点催促的意思。
他问了我3个题目:
1. fork(), exec()调用后,操作系统里做了什么。问的比较细,我回答了COW后,还
问里面PCB里面发生了什么变化,要求很具体的答出来,我回答的有点结巴,所以后面
整个面试就定下了基调
2. 什么叫thrashing,我回答后,要求写code,假设系统有4MB memory,让OS产生
thrashing。这题我有点不知道怎么做,答的很不好。
3. 写c++里的strcpy,这题很简单。写完后,问了好几个无聊的问题:
1) 怎么优化?我说了很多,比如如果数据很大,可以用DMA之类的,他都不满意,最
后他竟然说用“memcpy”,我就觉得奇怪了,在strcpy里用memcpy算是优化吗???
2)我在return之前,给destination付个'\0',他说没有必要,要我想其他办法。我没
有想出来,我说,难道是从src里拷贝一个\0过去?他不置可否,也没有说对也没有说
错。这有什么不同吗???
3)还有一个无聊的问题。我写了这样一个code
*des = *src; des++; src++;
他说要优化,我想了一下,马上就说是不是“*des++ = *src++?他就没有说话了,我
说我是为了代码更清楚。这也算优化吗???
问完后,我随便问你他一个问题,他回答很急,好像要马上结束。然后就匆匆挂电话。
我感觉他根本就没有打算让我过这轮面试。 |
z****0 发帖数: 4413 | |