接到电话我是懵逼的,因为早上睡了懒觉,刚到实验室就来个电话。
首先问是否方便,然后说你简历写了CUDA编程,其主要应用在了哪里?工程中的CUDA是不是你写的?
我说应用在三维图像处理,CUDA是我引入工程并实现的。
我发现每个公司都对CUDA很感兴趣,会CUDA的一定要提前准备好常见的面试问题。
他说除了CUDA,你主要开发windows平台的应用程序?
我说:是,开发的是MFC框架下的图像处理软件
话题引入MFC后,他说:那你解释MFC下类的反射机制是怎么实现的?
我:?????
我没法接话,只好问他:啥是类的反射?
他解释说:知道类名就可以实例化类对象,
我大概猜这和*APP类 管理各种类的注册有关,但没敢瞎扯,就说不知道!
他说:没接触没关系,那你用到MFC的多线程API有哪些?
我说:http://blog.csdn.net/xiaxzhou/article/details/76170687
他问:调用waitforsingleobject()会不会阻塞
我说:会
他可能觉得我回答的太斩钉截铁了:你确定会阻塞是吧?
我说:恩
接着问:waitforsingleobject()可不可以等待信号量?
我:????好像是可以的:
http://blog.csdn.net/weiwenhp/article/details/8651735,他在唬我。
我回:不知道,我没用过MFC的信号量,我用过pthread的信号量。
他:哦,那个多线程库是吧,那好,你平时用C还是C++比较的?
我心说终于问到了,回:用C++比较多
他问STL的内容:你知道VC++中STL的map吧?怎么实现的?
我:知道,底层是红黑树实现的。
他又考察数据结构:你介绍一下红黑树
我就把红黑树的5个规则,这些规则造成的红黑树的性质,红黑树和平衡二叉树的对比说了一遍:http://blog.csdn.net/xiaxzhou/article/details/74999335
他:解释一下虚函数吧
我就把多态那套说词说了一遍
他接着往深问虚函数的底层细节:一个类没有成员,只有一个虚函数,类的大小是多少?
我:一个虚函数表指针的大小
接着问了个比较难的问题:如果一个类有两个父类,都有虚函数,则次类中有几个虚函数表指针?
我沉默了5秒:3个
他?????
然后他纠正我:是2个是吗?
我说:不是!如果是钻石虚继承,则类中会有两个父类的虚函数表指针,且类自己还有一个虚函数表指针,总共3个。
如果不是普通的继承,则会有两个继承自父类的虚函数表指针。
(我当时是完全说反了的,他可能觉得我只是记错了,也可能觉得我已经没救了,反正没有再纠正我)
http://www.cnblogs.com/jerry19880126/p/3616999.html
上述博客中与说的不对:比如:vbptr不是虚函数表指针
我重新做了实验,记录了我自己的总结:http://blog.csdn.net/xiaxzhou/article/details/76576516
我不知道是不是虚函数表指针问题说错了,他没有再问技术问题了
他表示我基础还是不错的,问我什么时候毕业,现在在成都是不是。
我说是在成都,明年6月份毕业
他问你现在在做什么,还在负责什么项目吗?
我说研二的时候负责项目,现在研三只做毕业论文。
他说希望我能去他们公司实习,到时候会让我回来拿毕业证的,不耽误毕业。
我:?????
我说实习现在我还不能给明确答复,需要和导师商量,
他说不能实习就比较麻烦,最好能去实习,回头会让HR再和我联系沟通。
然后电面就结束了,将将10分钟。