腾讯口试扯到原子操作上了面试官问
发布时间: 2013-04-02 12:35:26 作者: rapoo
腾讯面试,扯到原子操作上了,面试官问:interlock操作时,加不加volatile有什么区别
腾讯面试,扯到原子操作上了,面试官问:interlock操作时,加不加volatile有什么区别
我说不知道,这算是误导我的问法么?
当然我没告诉他我知道volatile会强制从内存刷新到cache,也不没告诉他IOS C++和MS针对volatile的处理不同。MS貌似开了指定的链接选项以后volatile会有required和release语义,也就是原子操作了。
因为感觉气氛不太对了,他不是想知道我了解什么好像在尝试问倒我,,,
泥马,我自己基础不扎实我承认,但是我回答不知道以后面试官没有其他问题了,这个算是误导我回答不出打发我走人么,,,
对了,之前有聊到interlock会锁总线,我记忆里边是锁定整个内存。但是又是问我会锁定多少内存,,,
后来直接开始问windbg怎么查内存错误,大概说了下要先找到被破坏的堆,然后找到具体被写坏的那块内存地址。然后找到使用了该地址的相关代码。
连着追问,,,最后一直盯着问怎么找到使用了该地址的相关代码,这时候我反应过来是要问倒我打发我走人了估计,应为我记忆里边能直接windbg很有把握定位这些错误的都是一方牛人了,,,(本人也就3年经验,大部分时间是非桌面开发,最近一年完全是做后台面的腾讯qq管家)
想问下各位,这块一般是怎么处理的。这个东西用语言描述可能有点麻烦,,,我一般是这样找:
1.搜索调用栈,看有没有这个地址直接作为参数
2.根据业务逻辑,和内存大小查找怀疑的对象是不是持有
3.在内存中搜索指定地址
顺便也打听下,腾讯的人3年经验左右都有这么牛逼?
此帖被抱怨,只是想了解下情况。
我自知基础很差,需要很多学习,只是想了解下是不是差到一定境界了,这么给人鄙视,,,
求拍砖,求大量鄙视,,,
知耻而后勇啊,,,
唉,,,
by the way: 今年深圳C++行情真的很差,,,
哥们你的基础还可以啊。。。
[解决办法]
大部分时间是非桌面开发,最近一年完全是做后台面的腾讯qq管家)?
你就是qq的?找人内推下吧
今年行情不好 岗位少
[解决办法]
听说管家今年社招开的工资,有点低。面试也只有2轮技术面。
其他部门面试都尼玛4-5轮技术面
[解决办法]
1. 实参有没有加volatile都好
//LONG __cdecl InterlockedIncrement(
// _Inout_ LONG volatile *Addend
//);
LONG a;
InterlockedIncrement(&a); //OK
LONG volatile b;
InterlockedIncrement(&b);//OK
2,是否锁总线就不一定,需要CPU支持。
[解决办法]我怎么觉得InterlockedIncrement跟
__asm{ lock inc dword ptr[b]; }
差不多呢
[解决办法]反正互联网公司又不缺人, 肯定是挑的比较厉害, 而且水货多导致面试官已经形成惯性了, 一般人都看不到眼里.
[解决办法]
半年经验,只听过volatile,还是操作系统课上老师讲的,interlock操作都没见过,厉害厉害,我得重新审视一下自己了。。。
[解决办法]
我也面了这个职位。三轮下来面试官还挺友好的啊。可能我这人比较后知后觉,而且水平差,好多不会就换话题了哈
[解决办法]
目测撸主很NB~
[解决办法]
楼主面试的时候肯定是一副很吊的样子吧,但又算不上大牛,人家不爽,当然不想要你了,这根腾讯没关系,大公司嘛什么鸟没有。
[解决办法]
第二个问题 第一步 配上调试符号 gflags 开 ust 第二步 找到分配堆栈 下数据断点
[解决办法]