分类: C/C++
2009-10-28 14:46:16
5、 谈谈你对C++三个特点的理解(简单描述一下)。
6、 为什么要封装,如何解释他的用意。
7、 多态的实现机制。
8、 纯虚函数的概念,有什么作用。
9、 友元函数的优点和缺点。
10、 TCP/IP中服务器端和客户端的实现流程。
11、 服务器端是如何处理客户端的连接请求。
12、 线程与进程的区别
13、 进程间是如何通讯的(在Windows中)
14、 线程的同步方式有哪几种?
15、 请写一条查询语句:(答:select 字段名 from 表名 where 条件语句 …)。
16、 数据库中的存储过程与一般的语句有什么不同,哪一个的执行速度快?为什么?
17、 在团队合作过程中遇到哪些问题,是如何处理的。
1、先讲一下做的项目;
2、C和Java的主要区别;
3、进程和线程的区别,为什么要使用线程;
4、TCP和UDP的区别;
5、TCP/IP的状态;
6、存储过程和触发器;
7、UINX常用命令;
8、为什么用虚析构函数;
9、文档的重要性;
10、有关测试方面的一些内容;
11、构造函数和析构函数的执行顺序;
12、UNIX中进程之间是如何通信的。
1.什么时候用虚析构函数,不使用会怎样。
2.继承时构造函数析构函数的调用顺序。
3.什么时候会出现内存泄露,如何防止。
4.select中的order by 干什么用,group by 干什么用,升序的关键字。
5.数据库日志干什么用,数据库日志满的时候再查询数据库时会出现什么情况。
6.数据库中的三步提交。
7.线程进程同步方式。
8.Unix下进程库的名称。
9.MFC下进程库的名称。
10.MFC中线程同步对象的名称。
11.switch for 中定义的简单变量的生存周期。
12.线程同步时如何得到另一个线程中CASE中的代码。
13.进程fork后用什么函数进行等待。
14. fork函数的返回值各表示什么。
15.socket 客户端、服务器端的处理流程。
16.TCP UDP 的区别。
17.描述C++的三个特点。
18.STL中迭代器的名字,链表的迭代方法。
19.MFC中CString是类型安全类么?
20.C++中为什么用模板类。
21.CSingleLock是干什么的。
22.NEWTEXTMETRIC 是什么。
23.程序什么时候应该使用线程,什么时候单线程效率高。
24.Windows是内核级线程么。
25.Linux有内核级线程么。
26.C++中什么数据分配在栈或堆中,New分配数据分配在近堆、远堆中。
27.使用线程是如何防止出现大的波峰。
1函数模板与类模板有什么区别?
2一般数据库若出现日志满了,会出现什么情况,是否还能使用?
3sql server是否支持行级锁,有什么好处?
4如果数据库满了会出现什么情况,是否还能使用?
5、谈谈你对C++三个特点的理解(简单描述一下)。
答:c++三个特点是:
封装:把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的实现细节。
继承:特殊类的对象拥有一般类的全部属性和服务。
多态:不同的对象对相同界面的接口表现出不同的行为。
6、 为什么要封装,如何解释他的用意。
答:使对象和外界形成一个边界,这样做的好处是是对象的接口个数限制到最小,坏处是有时会使调用者难以理解该对象的功能。(这个缺点是我自己的观点,真正面试时最好别这么说,呵呵)
7、 多态的实现机制。
答:虚函数表和动态联编。
8、 纯虚函数的概念,有什么作用。
答:基类中要派生类必须只继承其接口且必须由派生类自己提供相应的实现的函数。其作用就是建立一个公共的接口。
9、 友元函数的优点和缺点。
优点或者说作用:提供了不同类的对象的成员函数之间、同一个类的成员函数与一般函数至尽进行数据共享的机制。
缺点:不利于程序的重用,且增加了函数之间、类之间的藕合度。
10、 TCP/IP中服务器端和客户端的实现流程。
答: 用三次握手法。其运行过程见计算机网络教材。内部实现机制我就不知道了,呵呵
11、 服务器端是如何处理客户端的连接请求。
答:见三次握手法中的第二步的说明
12、 线程与进程的区别
答:进程是程序在其数据集合上的一次运行。线程是一个进程内的基本调度单位。进程是资源分配的基本单位,也是强占处理机的调度单位,线程与资源分配无关。进程的调度与分配都由操作系统内核进行,线程的调度可由用户完成。
13、 进程间是如何通讯的(在Windows中)
答:不知道。
14、 线程的同步方式有哪几种?
答:线程的同步与进程相同有信号量、临界区、管程
15、 请写一条查询语句:(答:select 字段名 from 表名 where 条件语句 …)。
16、 数据库中的存储过程与一般的语句有什么不同,哪一个的执行速度快?为什么?
答:存储过程带有参数。存储过程创建后即被编译,执行速度比单个sql语句快的多。
17、 在团队合作过程中遇到哪些问题,是如何处理的。
答:一、各开发者的能力、经验学历不一样,导致开发效率不一
二、缺少一个技术权威,遇到技术问题时无现成经验可参考
三、开发队伍不稳定,辞职与被辞的现象时有发生,且预先无任何迹象。
四、没有一致的代码规范,导致代码无法进行快速的检查
1、先讲一下做的项目;
答:答过了:-)
2、C和Java的主要区别;
答:不知道
3、进程和线程的区别,为什么要使用线程;
答:区别见前面的答案。引入线程的好处是在有多个任务需要处理机处理时,减少处理机的切换时间。另外使用线程可以简化程序的结构,提高执行效率。(前提是该程序有大量的进程调度和切换,如服务器中的文件管理系统、前后台的处理、异步处理)
4、TCP和UDP的区别;
答:tcp需要建立连接和确认、可靠但增加大量开销
udp不需要建立连接和确认、不可靠但开销少
5、TCP/IP的状态;
答:不知道。
6、存储过程和触发器;
答:存储过程是一系列SQL语句的集合。触发器是一种特殊的存储过程,都数据库系统在一定的触发条件下自动执行。
7、UINX常用命令;
答:ls、rmdir、cd、su、man、cp
8、为什么用虚析构函数;
答:析构函数的主要任务之一是向操作系统归还资源(内存),因此它必须确切知道被释放的对象的类型,否则就可能产生严重后果。因此析构函数经常被声明为虚函数,特别是在用一个基类指针指向派生类对象的情况下。(这段话是我从一本书抄的,我也没看明白它推理的过程,呵呵)
9、文档的重要性;
答:是开发、进度组织、代码量估算、代码编写等等的基础和审核标准
10、有关测试方面的一些内容;
答:我写过测试计划、测试用例、测试报告
11、构造函数和析构函数的执行顺序;
答:创建对象实例时执行构造函数,对象退出时执行析构函数。
12、UNIX中进程之间是如何通信的。
答:有低级通信、管道通信、进程间通讯。
1.什么时候用虚析构函数,不使用会怎样。
答:答过了
2.继承时构造函数析构函数的调用顺序。
答:建立对象时先调用基类的构造函数,后调用派生类的构造函数
释放对象时先调用派生类的析构函数,后调用基类的析构函数
3.什么时候会出现内存泄露,如何防止。
答:程序向操作系统申请了内存而忘记在适当的时候归还,就是内存泄露。
防止办法:
动态内存的申请和释放必须配对,即用new的要delete。用malloc的要free。
4.select中的order by 干什么用,group by 干什么用,升序的关键字。
答:order by指明按哪几列排序,group by对查询结果进行分组,指明升序的关键字是ASC
5.数据库日志干什么用,数据库日志满的时候再查询数据库时会出现什么情况。
答:不知道
6.数据库中的三步提交。
答:见数据库教材
7.线程进程同步方式。
答:答过了
8.Unix下进程库的名称。
答:不知道
9.MFC下进程库的名称。
答:不知道
10.MFC中线程同步对象的名称。
答:不知道
11.switch for 中定义的简单变量的生存周期。
答:到该复合语句的结束点
12.线程同步时如何得到另一个线程中CASE中的代码。
答:不知道
13.进程fork后用什么函数进行等待。
14. fork函数的返回值各表示什么。
答:0:创建子进程,从子进程返回的ID值
>0:从父进程返回的子进程id值
-1:创建失败
15.socket 客户端、服务器端的处理流程。
答:不知道
16.TCP UDP 的区别。
答:答过了
17.描述C++的三个特点。
答:答过了
18.STL中迭代器的名字,链表的迭代方法。
答:迭代器有五种:输入、输出、前向、双向、随机。链表用的是前向迭代器。
19.MFC中CString是类型安全类么?
答:不知道
20.C++中为什么用模板类。
答:为了支持泛型编程
21.CSingleLock是干什么的。
22.NEWTEXTMETRIC 是什么。
答:不知道
23.程序什么时候应该使用线程,什么时候单线程效率高。
24.Windows是内核级线程么。
答:不是
25.Linux有内核级线程么。
答:有
26.C++中什么数据分配在栈或堆中,New分配数据分配在近堆、远堆中。
27.使用线程是如何防止出现大的波峰。
答:不知道
5、谈谈你对C++三个特点的理解(简单描述一下)。
每个人都有不同的理解,C++的设计者,Java,C#的设计者的理解都不一样,看看他们设计的语言的差异都知道.
2、C和Java的主要区别;
一个是结构化的经典之作,一个是OO的简单作品
9.MFC下进程库的名称。
MFC就是一个类库,问题是不对的
23.程序什么时候应该使用线程,什么时候单线程效率高。
IO操作和CPU运算
进程间通讯
楼上的,20多种,都说出来看看
DDE建立在消息机制上,所以这种只能算一种,说出来开开眼界
20.C++中为什么用模板类。
为了提高开发效率
...
15.socket 客户端、服务器端的处理流程。
一般情况:
服务器: 客户端:
socket(); socket();
bind();
listen(); <<<<<< connect();
accept();
. .
. .
. .
close(); close();
华为的试题,面试的,我觉得挺变态的
#include "string.h"
char *func(void)
{
char p[10];strcpy(p,"123");
return p;
}
问有没有问题。
我答,有问题,但我也不知道问题在哪里。但我估计是内存的问题。
玩一下,我顶,
5、谈谈你对C++三个特点的理解(简单描述一下)。
答复:特点就是C,+, +,一共3个点。呵呵。
6、为什么要封装,如何解释他的用意。
答复:总有一些东西不能给人看,或者总有一些人想偷窥、破坏你的东西、而且这种人太多了,封装就是防止这些疯子。(其实疯子一般还是得逞了,每次我看完我被人改过的代码就有这个感觉。哈哈!)
7、多态的实现机制。
答复:基本是指针,负责的指针机制。
8、纯虚函数的概念,有什么作用。
答复:多态的最美妙的地方。OO最美妙的地方。
9、友元函数的优点和缺点。
答复:友元(不纯粹指函数)用好了是可以体现OO的美妙,比如ACE的SingleTon的用法,但是用差了就把OO变成魔鬼了。但是我的感觉中国的程序员不喜欢用友元,大部分人喜欢用public解决问题。
10、TCP/IP中服务器端和客户端的实现流程。
答复:监听,请求,接收,发送,接收............
11、服务器端是如何处理客户端的连接请求。
答复:........ To or Not to be .....
12、线程与进程的区别
答复:就像兄弟,父子,等等等等。
13、进程间是如何通讯的(在Windows中)
答复:Socket, 消息,共享内存.... ....
14、线程的同步方式有哪几种?
答复:
15、请写一条查询语句:
答复:select * from Table where 星星撞地球
16、数据库中的存储过程与一般的语句有什么不同,哪一个的执行速度快?为什么?
答复:理论上应该是存储过程,因为毕竟是在数据的操作进程中运行,减少交互成本。但绝对吗。这要看很多东西。
1、先讲一下做的项目;
答复:呵呵............
2、C和Java的主要区别;
答复:一个是C,一个是Java,这就是本质的区别。
3、进程和线程的区别,为什么要使用线程;
答复:可以是说线程是进程的子集。在某些时候使用线程可以提高处理能力和速度。
4、TCP和UDP的区别;
答复:是否存在虚连接,是否保证传递数据性,时序是否能保证。
5、TCP/IP的状态;
答复:不知道,
6、存储过程和触发器;
数据库的两个宝宝,存储过程用于代替一组SQL过程的处理(可以高效,动态),触发器就是在某个事件时触发处理。可以用于保证数据的完整性等。
7、UINX常用命令;
ls,cd,最常用的两个。
8、为什么用虚析构函数;
答复:让程序的架构更美丽。而且C++提供了。
9、文档的重要性;
答复:让你知道文档和程序间有多大差距,而且让一部分统计人员有事情。
10、有关测试方面的一些内容;
答复:让你知道自己犯了多少错的事情。
11、构造函数和析构函数的执行顺序;
答复,一般来说,构造函数函数先执行。 ^_^。
12、UNIX中进程之间是如何通信的。
答复:Socket,消息,管道,信号等。