记25-27 趋势 凯易讯 IBM的几道面试/笔试题

1 进程和线程区别(趋势&IBM)

我发现这个题目出现的频率实在是太高太高了,我总结了一下,回答这个问题要从四个角度来说

a 调度的角度:在引入线程的操作系统中,把线程作为调度和分派的基本单位,而进程作为资源拥有的基本单位,把传统的进程的两个属性分开,使得线程基本上不掌控资源,这样线程可以轻装上阵,从而显著的提高系统的并发程度。

b 资源分配的角度:进程拥有资源,是操作系统中拥有资源的一个基本单位。一般而言线程自己不拥有资源,但它可以访问隶属进程的资源,即一个进程的代码段、数据段及所拥有的系统资源,如已经打开的文件,I/O设备等,可以供该进程中的所有线程所共享。

c 并发的角度:在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程的多个线程之间亦可并发执行,使得操作系统具有更好的并发性,从而能更加有效地提高系统资源的利用率和系统的吞吐量。

d 系统开销的角度:在创建或者撤销进程时,系统都要为之创建和回收进程控制块,分配和回收资源,如内存空间和I/O设备等,操作系统所付出的开销明显大于线程创建或撤销时的开销。在进程切换时,涉及到当前进程CPU环境的保存及新被调度运行进程的CPU环境的设置,而线程切换时只需保存和设置少量的寄存器内容,不涉及存储器管理方面的操作,所以就切换代价而言,进程是远高于线程的。

这边也有一篇总结的帖子:http://www.cnblogs.com/flashsky/articles/642720.html

2 进程间通信机制,线程与线程的通信机制(趋势)

进程:a共享内存 b消息传递 c管道通信(基于文件) d锁(可算可不算,一般不用)

线程:a全局变量 b自定义消息 c event对象

3 java的内存分配机制(凯易讯)

http://blog.csdn.net/xiaofeixia22222/article/details/7661562

4 object类里面有哪些函数(IBM)

http://www.blogjava.net/jiafang83/archive/2008/12/05/244510.html

5 聚合和组合的区别(IBM)

http://www.cnblogs.com/confach/archive/2005/03/03/112117.html

6 重载和覆盖还有函数隐藏分别是什么意思

7 输入一个数字N,输出小于它的N个正整数的全排列

比如说输入3,输出1,2,3,1 2,1 3,2 3,1 2 3

#include<iostream>
using namespace std;


int compare(const void* a,const void* b)
{
	return *(int *)a - *(int *)b;
}

void recursiveOutput(int* prefix,int preNumber,int level,int n)
{
	for(int i=0;i<level;i++)
		cout<<prefix[i];
	cout<<endl;

	if(level == n)
		return;

	for(int i=preNumber+1;i < n;i++)
	{
		prefix[level] = i;
		recursiveOutput(prefix,i,level+1,n);
	}
}


void output(int n)
{
	int* prefix = new int[n];
	recursiveOutput(prefix,0,0,4);
}

int main()
{

	int numbers[] = {1,2,3};
	output(3);
	return 0;
}

 

8多线程下的单例模式

public class Singletton
{
	private static Singletton uniqueInstance;
	
	private Singletton()
	{
		
	}
	
	public static Singletton getSingleton()
	{
		if(uniqueInstance==null)
		{
			synchronized(Singletton.class)
			{
				if(uniqueInstance==null)
					uniqueInstance = new Singletton();
			}
		}
			
		return uniqueInstance;
	}
}


9 什么是checked exception什么是unchecked exception

http://blog.sina.com.cn/s/blog_6151984a0100kgbv.html
 

10常见的RunTimeException都有哪些

http://www.cnblogs.com/qinqinmeiren/archive/2010/10/14/2151702.html

你可能感兴趣的:(记25-27 趋势 凯易讯 IBM的几道面试/笔试题)