微信

使用微信服务,更方便

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

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

2015-10-28 06:30:01 阅读( 255 )

1007人 收藏本页

标签:程序员面试题

第一部分:智力测试
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文件的原理机制。

下一篇:程序员面试题

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

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

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