1.****************************************************************** introduce yourself. 大约一个小时。基本就是c++和简历上的东东。
2.****************************************************************** 收到面试通知有点意外,因为记得上次说的是final,而且自己感觉是希望不大的。 自我介绍。 问我还有什么问题,我说上次都问了…… 3.******************************************************************
为什么要用struct //成员的默认属性不同,用struct的话,主要是作为数据的集合 引用和指针的区别与联系。引用是否可以更改 //引用类似于常量指针,一旦初始化,不 windows编程基础,线程与进程的区别 //我竟然忘了 com+是否熟悉,(没用过) 还问了我几个我都没有听说过的名词 然后就是数据结构/算法的问题 简述一下hash算法 一个32位的数据,怎样找到最左边的一个1 一个4*4的格子,填入1~15 然后给个目标状态,怎样去搜索。 给你100万个数据,数据的值在0~65535之间 用最快的速度排序 最后一个问题:
c++的就不说了,只说数据结构的吧。可能这个我比较好一些。 1,hash算法,这个我忘得差不多了,他给了我一个提示,我想起来了。ok 2,n位的2进制数据怎样找罪左边的1,如果是在最左位,这个数是负数,否则的话,左移 3,广度优先搜索+启发式 4,统计每个数字出现的频率 5,这个我也没经验,乱说了一通。
1,八皇后问题,详述解法 ---轻松搞定 2,kmp快速匹配算法 ---不算轻松的搞定 3,无向图中两点间最短路问题 ---伟大的迪杰克斯拉算法 4,空间中任意给两个向量,求角平分线 他给了个提示,解决 5,什么是平衡树 ---光说上概念来了,其他的不会了(昨晚光看b-,b+树了) 6,哈夫曼编码问题 ---回答的有些混乱 7,求1~10000的素数 ---筛选法,有点细节没处理好 8,有向图求环 ---我只会搜索,在他的提示下,还是没有做出来 9,给n个点,求凸包问题 ---hiahia,牛X一把,用二分作的! 10,堆排序 ---明确地告诉了他,俺忘了 11,四则运算 (1)给一个前缀表达式,然后求解 ---勉强做上来了 (2)给一个中缀表达式,求解 ---更勉强的作上来了 12,正则表达式 ---一开始不知道什么东西,后来他一解释,原来是正规式,刚考完,轻
然后,换人,考智力: 1,3个门,分别叫做:日月星 日:此门通向光明 月:此门非通向光明 星:月非通向光明 至少一个说真话,至少一个说假话,一个通向光明 问:谁通向光明,----答:星,需要假设来做 2,不均匀的绳子测一个小时,答:两头烧,---我和他讨论了一下,是否可能无法解决, 3,一个长方形,里面随即挖去另一个长方形,一刀把它平分。---中点相连接 4,4个人过河,怎样最快 1,2,5,7。 答:我以前做过,给我点时间 5,给你三个盒子,其中一个放了东西,你指定一个,然后打开另外两个中的一个,发现是 6, 1,2,5 3中硬币,有无数个,然后给你个n,让你用最少的硬币数组成n ---我竟然用 7,开放性题目:怎样测一个飞机的重量,---答:问厂商,问:还有呢?答:根据发动机 8,给一个正方体,两个对面上有两个点,沿着体表面,找一条最短路,---答:拆开,
发信人: idoloveyou (idoloveyou), 信区: Job 【 以下文字转载自 VC 讨论区 】 1.STL中container有哪些? 答:vector,list,set,multiset,map,multimap,deque,bitset 2.map中的数据存储方式是什么? 答:Hashtable 3.map和hashmap有什么区别? 答:不知道。 4.hashmap是标准库中的吗? 答:不是。 5.vector中的erase方法跟algorithm的remove有什么区别? 答:我不怎么清楚,只知道remove_if可以用function object。还有可能vector自带的erase在执行过后会有一些优化的方法吧。 6.function object是什么? 答:(这个我说了半天,反正就是描述一下) 大概就是这么几道题,他问我的STL不多,欢迎大家讨论:) 其他部分过几天陆续放出,敬请期待! 5.****************************************************************** 这部分他问了我特别多,回答也比较麻烦,有些题目我就不说我的回答了 1. C++中如何阻止一个类被实例化? 答:抽象类,或者构造函数被声明成private 2. 一般在什么时候构造函数被声明成private呢? 答:比如要阻止编译器生成默认的copy constructor 3. 什么时候编译器会生成默认的copy constructor呢? 答:只要自己没写,而程序中需要,都会生成 4. 如果你已经写了一个构造函数,编译器还会生成copy constructor吗? 答:会 5. struct和class有什么区别? 答:默认的访问级别不同,struct是public,class是private 6. 没有别的不同了吗? 答:好像没有了吧…… 7. 为什么说如果一个类作为基类,则它的析构函数要声明成virtual的? 答:(Effective C++ 条款14,我当时刚刚复习过,呵呵) 8. inline的函数和#define有什么区别? 答:类型检查 9. inline是什么意思? 答:就是不产生call,直接把函数的代码嵌入程序。但是inline不是强制的,是 10. 那你说说什么时候会真的被inline,什么时候不会呢? 答:(略) 11. 如果把一个类的成员函数写在类的声明中是什么意思? 答:inline 12. public继承和private继承有什么架构上的区别? 答:public是is-a的关系,private是has-a的关系 13. 在多继承的时候,如果一个类继承同时继承自class A和class B,而class A和 答:虚拟继承吧……(我想了半天也不记得这个怎么弄了,他也就没有继续难为 14. 虚拟继承的语法是什么? 答:class C : public A, virtual public B 15. 部分模版特例化(我忘了他当时怎么翻译这个词的了,反正就是partial temp 答:(想了半天)就是是不是还有一个通用的模版的区别。这个特性在VC中不支 16. 哦?VC不支持?你确定 答:确定!(.net刚出的时候,我特意看过MSDN,上面写着VC7.0中有3个C++的 …… 剩下的忘了,想起来再添吧
#define由预处理器处理 const可以做许多#define不能做的事情,比如const Class* const pchar = new Class... 不能从带有private 构造函数的类派生出新类,不允许拷贝
|
|