面试没过基础不是特别好总结一下
一面
问: 0xFF,0x8F,0x7F 换成单字节有符号十进制
问:用过stl么写个map迭代器删除偶数元素
问:一个金条给工人工钱,7天,一天一给,给多了工人就跑了,给少了,工人也跑。问怎么切割次数最少还让工人不跑。
问:写过运算符重载么?什么运算符可以重载?new能么?”点“能么?提示 点、点星、三目运算符、还有两个冒号不能重载
问:static int a=2 放在头文件中行不行 const static int a = 2;呢
class cls{
static int a;//问:怎么初始化,作用域问题等写在类外作用域多大 答:cls::a = 0;
// static int a = 0;这么初始化可以么
}
二面
问: 0xFF,0x80,0x7F换成单字节有符号十进制
int fun(int n)
{
if(n==1)
return 1;
return n*f(n-1);
}//有两处错误请指出
提示:问我n等于-1的时候什么情况,我想当然的回答死循环
提示:10进制 0xFF有符号十进制-1结果是多少
这次提示后回答是可以停止的。
问:Linux下栈空间是多大 答:vc6.0下是1MB
问:停止fun(-1)需要多大的栈空间
算了半天只知道是GB级别的 答案是2GB
问:如果输入-1但栈空间不够怎么办? 答:段错误。。。应该是溢出,说错了TOT;
问:上午的面试迭代器失效遇到了么
答:我觉得这么写比较保险 it=it.erase(it); 之后又问在linux下写过么,又说linux下不可以这么写。
问:linux下gdb 屏蔽断点 答:disable
问:linux下gbd 怎么停到某函数
问:TCP/IP滑动窗口时怎么回事 答:忘了
问:TCP/IP挥手几次结束 答:四次
问:迪杰斯特拉算法是干什么的 普里姆算法干什么用 答,最短路,第二个不知道。
问:STL,stack能否用list实现 答:可以 stack<int,list<int> >
问:i++,++i那个效率高 答:++i,猜的。实际上i++会有临时变量
问:int *p = new int;
int *q = p;
delete时可能多次释放 怎么避免 怎么检测;
提示:重载delete、autoptr
总结,基础不牢靠建议我回去看下c++ primer,STL源码。