职友集>程序员面试题 > 一套综合性的程序员笔试题

一套综合性的程序员笔试题

2015-10-27 06:30:01 阅读( 130 )

2084人 收藏本页

标签:程序员面试题

第一部分:智力测试

(说明:此部分考察应聘者综合能力)

1、  小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃后30秒就会熄灭。问小明一家如何过桥?

答:可以背着过去啊。

2、  100美元哪去了?

三个朋友住进了一家宾馆。结帐时,帐单总计3000美元。三个朋友每人分摊1000美元,并把这3000美元如数交给了服务员,委托他代到总台交帐,但在交帐时,正逢宾馆实施价格优惠,总台退还给服务员500美元,实收2500美元,服务员从这500美元中扣下了200美元,只退还了三位客人300美元,三人平分了这300美元,每人取回了100美元。这样,三个客人每人实际支付900美元,共支付2700美元,加上服务员扣的200美元,共计2900美元。那么这100美元的差额到哪里去了呢?

答:实付的900*3里面包含了服务员的200了,实付900*3=2700,2700+每人收回的100*3=原来的3000

第二部分:知识面考察

(说明:此部分为考察应聘者知识面广度,包含了25条判断题。每一个应聘技术岗位的面试者都要回答本部分问题)

1、  目前市面上最新的PC机仍旧是基于数十年前提出的冯。诺伊曼体系计算机系统。

2、  Unix操作系统和WindowsXP系统一样都是多任务系统,但不是实时操作系统。

3、  设计模式(design pattern)是一种用于解决模式匹配设计时的通用算法。

4、  UML(Unified Modeling Language)只能描述系统要实现什么,而不能描述系统应该如何实现。

5、  SOAP是一种新型的ROC的规范,他是由XML RPC发展演进过来的。

6、  一个域名唯一对应着一个IP地址。

7、  在现行的网络结构下,VOLP技术主要基于UDP协议来传输媒体流。

8、  在IP网络上的计算机通过广播ARP报文来检查是否有其他计算机使用了相同的IP地址。

9、  TCP连接采用了3次握手机制来确认连接,但理论上,任意多次握手都不能完美地确认连接已经成功建立。

10、              AT是一种网络地址翻译的技术,他能使得多台没有合法地址的计算机可以共享1个合法的IP地址访问Inernet.

11、              软件开发中往往测试和修改错误的时间会超过编码的时间。

12、              软件测试最重要的一件事情就是考虑各种出错的可能性,尤其要考虑一引起超出常规的操作。

13、              indowsNT网络中域控制器(Domain Controller)起控制域名解析的作用。

14、              WindowsNT组成的企业网络上Domain和work group模式可以并存。

15、              理论上最完美的防火墙也不能确保网络的绝对安全。

16、              启动一个线程是可以使用run()或者start()

答:是start

17、              sleep()和wait()方法在线程处理中作用是一样的。

答:sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)”醒来”的线程具有更高的优先级 (b)正在运行的线程因为其它原因而阻塞。wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。

18、              java 中没有goto语句。

答:没有

19、              数组和String 都有length()方法,分别用于获取 String的长度以及数组的长度。

答:数组有length属性,没有length()方法。String有length()方法,没有length属性

20、              构造器Constructor不能被继承,因此不能重写Overriding ,但可以被重载Overloading。

答:对

21、              SET中的元素是不允许重复的,可以通过==判断是否重复。

答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖

22、              当一个线程进入一个对象的一个Synchronized方法后,其它任何线程都不允许进入此对象的方法。

答:不能,一个对象的一个synchronized方法只能由一个线程访问

23、              &和&&的区别在于&是位运算符,&&是布尔逻辑运算符。

答:对

24、              HashMap和 Hashtable都实现了 Map接口,都不允许 null键,只是 Hashtable是同步的,因此效率低。

答:Hashtable是基于陈旧的Dictionary类的,HashMap可以为null

25、              String=new String(“xyz”) 语句创建了一个String Object。

答:2个对象。

第三部分:问答题

(这一部分是笔试的重点)

1、  描述一下java中io包的结构以及处理的原理机制

2、  overload和override的区别。Overloaded的方法是否可以改变返回值的类型?

答:重载和覆盖。覆写(Override)的两个函数的函数特征相同,重载(Overload)的两个函数的函数名虽然相同,但函数特征不同。 函数特征包括函数名,参数的类型和个数。Override 是在继承的时候,如果你写的函数与要继承的函数函数特征相同,那么,加上这个关键字,在使用这个子类的这个函数的时候就看不见父类(或超类)的函数了,它被覆盖掉了。

3、  请描述一下java 中的collection frame work的结构以及分别如何使用。

第四部分:编程题

(这一部分是笔试的重点)

1、  写一个程序,接受从console输入n个数字(每个数字以“,”隔开),按照数字从大到小的顺序打印输出到console。请尽量使用高效率的方法。

答:private int min;

public void xuanZhe(int[] list)//选择排序

{

for (int i = 0; i < list.Length – 1; i++)

{

min = i;

for (int j = i + 1; j < list.Length; j++)

{

if (list[j] < list[min])

min = j;

}

int t = list[min];

list[min] = list[i];

list[i] = t;

}

}

2、  singleton模式主要作用是保证在java 应用程序中,一个类class只有一个实例存在;请写一个程序实现该模式。

答:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。

一般Singleton模式通常有几种种形式:

第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

public class Singleton {

private Singleton(){ }

//在自己内部定义自己一个实例,是不是很奇怪?

//注意这是private 只供内部调用

private static Singleton instance = new Singleton();

//这里提供了一个供外部访问本class的静态方法,可以直接访问

public static Singleton getInstance() {

return instance;

}

}

第二种形式:

public class Singleton {

private static Singleton instance = null;

public static synchronized Singleton getInstance() {

//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次

//使用时生成实例,提高了效率!

if (instance==null)

instance=new Singleton();

return instance; }

}

其他形式:

定义一个类,它的构造函数为private的,所有方法为static的。

一般认为第一种形式要更加安全些

第五部分:附加题

(如果您觉得自己的专业知识比较优秀,而知识面不足,可以通过附加题来加分)

1、  使用java socket编程,实现一个echoserver:即客房端连接到服务器,发送任何命令,服务器收到命令后将该命令原样返回到客户端,然后断开连接。

注意:1)需要写出服务器以及客户端两端的程序

2)服务器应该可以支持多个客户端同时连接。

2、描述一下jvm加载class文件的原理机制。

来自IT公司面试手册

下一篇:程序员面试题

上一篇:某个公司的程序员面试题参考

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题