163笔试资源及面试题目总结
2011
http://blog.csdn.net/silangquan/article/details/18013967
http://www.cnblogs.com/sooner/p/3280199.html
2009
http://blog.csdn.net/liuzhanchen1987/article/details/7902487
http://blog.sina.com.cn/s/blog_49fae0270100c7zl.html
2011.10.15
http://www.cnblogs.com/sooner/p/3280115.html
继承的内存布局
问了很多c++高级机制,问了2道基础算法吧。题目回忆如下:
- 构造函数可以调用虚函数吗?语法上通过吗?语义上可以通过吗?
- 析构函数可以抛出异常吗?为什么不能抛出异常?除了资源泄露,还有其他需考虑的因素吗?
- c++中类型转换机制?各适用什么环境?dynamic_cast转换失败时,会出现什么情况?(对指针,返回NULL.对引用,抛出bad_cast异常)
- 洗牌算法,如何证明算法是随机的
- 100万个32位整数,如何最快找到中位数。能保证每个数是唯一的,如何实现O(N)算法?
- 问了一个他们感兴趣的项目,关于gcc插件的,聊了比较久。
- 拷贝构造函数作用及用途?什么时候需要自定义拷贝构造函数?
- C++11有那些特性?
- C++11模板中的特化和偏特化分别指什么?都在那些情况下应用?
- C++11模版的高级使用有那些?请举出例子。
首先进行了自我介绍,然后就是问答环节了。
1、宏定义a>b,一道概率题。宏定义这题他问了一阵子,问我知不知道我错在哪里,我似乎答不出来,有点紧张。
2、概率题也只是问问我知不知道错在哪里而已,没仔细问。
3、问了一阵子之后,问了我一下图论的最短路径的方法。我回答了迪杰斯特拉和弗洛伊德算法,然后补充说一般使用前者。
然后问我最短路径是怎么实现的。我回答的是每个节点和相邻的节点进行更新最优值,属于贪心算法。
说到贪心算法时,他问为什么贪心算法得到的局部最优是正确的。我那时候回答的竟然是经过证明的。。好吧,失误啊。。。
4、后面就好像问到了虚函数了(忘记有没有这么快),问我虚函数有什么用。我记得我到了这个时候回答的每句话都被他质疑了一下
我只能说后面的继承的类使用相同的函数名的时候可以直接调用。然后他说,还不如直接声明同名的函数就行了。然后我就说在
不明确具体的子类的时候,可以直接调用。。。他说你写一下,我屁颠颠地去写了一下,没写完他说我明白你的意思了,又是一个
问题轰来,如果不要virtual会有什么结果呢。。。我答不出来,不了了之了。。。当时觉得已经没有机会了,第N次答不出来。。。
5、一开始他问的是struct a{int a,char b}x;sizeof(x)是多少,我答是6,然后他继续问。。反正我是不会的。。。回来一看竟然是8,···
他还问了,如何通过编程获知一部机器属于高端字段还是低端字段。(一开始的问题)。
6、中间他问了快速排序的东西,我很快把基本思想说了,但是他问了中轴值如何确定的时候,我又被挂了。其实他问的问题不是刁钻,我觉得
对于一个细心人来说,这些都是必须很快,准确地回答出来的。多得这个面试官,我才深刻认识到自己的不足啊。。
7、基本没什么好过的,然后看着我的简历,他问我贝叶斯公式什么意思,求的是什么。我答不出来啊。。。坑爹了。。瞬间觉得自己太水了。
8,、最后,他问了广度优先搜索,让我写出来,我很快写完了。他仔细看看,没什么要补充的。面试里唯一一个好受的就是这个了。