java面试题

    这些题目都是我搜集到的,如果解答有误,请多多探讨

1、某团队有2/5的人会写java程序,有3/4的人会写C++程序,这个团队里同时会写java和C++的最少()人。

A 3  B 4  C 5  D 8  E 15  F 20

myAnswer:A

最小公约数20,那么8人会java,15人会c++,那么最少同时会java和c++的是8+15-20 = 3.

2. 下面哪些是对称加密算法()

A DES   B AES   C DSA   D RSA

myAnswer:AB

AES :Advanced Encryption Standard    高级加密标准已然成为对称密钥加密中最流行的算法之一

DES:   Data Encryption Standard    此算法是对称加密算法体系中的代表,在计算机网络系统中广泛使用

RSA:   非对称算法

DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却作不到。

3.存在使i > j || i <= j不成立的数吗?

myAnswer:yes

public class NTest {
	
	public static void main(String[] args)
	{
		double i = Double.NaN;
		double j = 3;
		int flag = 0;
		if(i>j || i<= j)
		{
			flag = 1;
		}
		System.out.println(flag);
	}

}

输出:0


4.现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?

这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。

主线程生成并起动了子线程,而子线程里要进行大量的耗时的运算(这里可以借鉴下线程的作用),当主线程处理完其他的事务后,需要用到子线程的处理结果,这个时候就要用到join();方法了。



你可能感兴趣的:(java面试题)