测试行业的面试题---java

        昨天的面试,很痛苦卷子做了3个小时,20页厚的一本 ,足足XXXKg。每张有7-8道题目,题目涉及之广令人不寒而 栗。做完套题唯一感觉只有一个,看起来很熟悉的知识 ,往往因为对细节不够了解而使得答题是比较吃力。以下主要是回忆 了有关操作系统原理方面的知识,涉及进程、线程、线程同步 、死锁等。如果不能理解其含义请自己参考操作系统 -内核处理设计原理P204,或者去google下scan 。此套题目涉及较多关于thread线程内容,这也是面试大公司 Java程序员时必问之处。希望能引起各位的重视 ,在这个方面多看一些例子确切的理解多线程开发的前因后果 ,后续测试题目将在下周三参加复试之后,归纳总结后与大家一起探 讨。

进程与线程的区别?

额外知识:
windows3.x下最小的运行单位是进程和在windows/NT以上版本最小运行单位是线程,而每一个独立的进程可以由多 个进程组成。

什么是线程?
线程是指进程内的一个执行单元,也是进程内的可调度实体.

什么是进程?
进程的基本功能-执行驻留在主存中的机器指令,这些指令以程序的 形式提供。

线程与进程的区别:
(1)地址空间:进程内的一个执行单元;进程至少有一个线程 ;它们共享进程的地址空间;而进程有自己独立的地址空间;
(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线 程共享进程的资源
(3)线程是处理器调度的基本单位,但进程不是.(应该是在Windows3.x以上的版本中)
(4)二者均可并发执行.

线程同步是指?
安全访问可以控制线程间的同步不发生互斥。
线程同步用途:是确保多个线程对共享资源进行互斥访问。

什么是死锁?
死锁可以被定义成一组竞争系统资源或互相通信的进程间相互的 “永远”阻塞。

如何判断何谓死锁,可能发生死锁的三个条件?
三个必要不充分条件:
(1)互斥:一次只有一个进程可以使用资源
(2)占有且等待:当一个进程等待其他资源时,可以占有已分配的 资源
(3)非剥夺:不可能从已经占有资源的进程手中强行剥夺资源
实际发生死锁的条件:
(4)循环等待:存在一个封闭的进程链,使得每个进程至少占有
链中下一个进程 所需要的一个资源
假设前三个条件存在,可能发生一系列事件会导致不可解决的循环等 待,这个即是死锁的定义

防止死锁发生的策略与办法?
可以把死锁防止分为两类:
(1)间接的死锁防御方法,即防止三个必要条件中的任何一个发生
(2)直接的死锁防御方法,即防止循环等待发生

原来这里涉及多线程Thread,以前没看过,呵呵......
什么是原子性、一致性?
原子性:所谓原子性,是指一个共享资源的所有属性在任何时刻都是 一起变化、密不可分的
一致性:所谓一致性,是指一个共享资源的所有属性在变化之后一定 会达到一个一致的状态
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值