粉笔-windows研发

来源:互联网 发布:指静脉识别算法 编辑:程序博客网 时间:2024/04/27 17:38

到粉笔的这次面试是暑期实习的内推,也是我接到的第二个内推面试,虽然连夜补充了一些知识,但结果还是差强人意,知识还是得靠平时积累才行。
面试之前觉得自己的优势是做工程,项目经历还是有几个,实验室项目和实习时接触的项目一半一半,但是面试的时候根本没被问到,沾边的就是问了一些项目中用到的一些泛化知识,没有回答好,确实也是自己平时做项目的时候研究的不够深入。
面试过程比较常规,问原理,解题,问原理。整个流程下来,诸多不满意,STL薄弱,网络编程理解混乱,操作系统知识匮乏,总之是,要么投错了岗位,要么没好好准备。个人觉得确实是没有准备充分,至少准备的方向是错的,没和面试官在一个频道,以后要多多改进,多积累,多研究。
原理性的问题有:进程空间分配,windows消息映射机制,操作系统原理(具体到windows/linux,没答出来),继承,多态,重写,虚函数,堆栈空间的区别,等等。
编程题是让写一个删除map中value为指定值的程序,自己的思路是先遍历一遍记录下要删除的key值,然后再删除。之所以这样考虑是在遍历的时候不能对map进行操作,这样会导致越界错误。但其实用iterator是可以解决的,无须额外记录key值。贴个自己面试后整理的代码如下:

void deleteValueFrMap(std::map<int, int> &map1, int value){    std::map<int, int>::iterator it;    for(it = map1.begin();it!=map1.end();){        if(it->second==value){//            std::cout<<it->first<<" "<<it->second<<std::endl;            map1.erase(it++);        }        else{            it++;       //此句不能写在for后的括号里,否则第一次erase后就会终止循环//            std::cout<<it->first<<std::endl;        }    }}
0 0
原创粉丝点击