1.避免死锁的方法有哪些? 1 使用事务时,尽量缩短事务的逻辑处理过程,及早提交或回滚事务; 2 设置死锁超时参数为合理范围,如:3分钟-10分种;超过时间,自动放弃本次操作,避免进程悬挂; 3 优化程序,检查并避免死锁现象出现
4 .对所有的脚本和SP都要仔细测试,在正是版本之前。
5 所有的SP都要有错误处理(通过@error)
6 一般不要修改SQL SERVER事务的默认级别。不推荐强行加锁
2.在Sybase数据库中注册用户与数据库用户有什么区别? SYBASE SQL SERVER为一进程,进程本身可管理多个数据库。而有些数据库是相互独立的,有些数据库是可以共用的,如tempdb和sysbsystemprocs 数据库。SQL SERVER与本身数据库的关系犹如城市与其中楼房的关系,当进入某一城市时需某一合法的身份,但进入城市的人并非每个楼房都可进入,即使允许进入也不能干某些事。SQL SERVER注册用户与数据库用户关系即是如此。当SQL SERVER创建注册用户后,该用户就能合法进SQL SERVER,该注册用户信息会放在master数据库中的syslogins表中。但只有注册用户成为某一数据库用户,并且对该用户赋予某些权限时,该注册用户才能在限制条件下使用数据库中的表。
4.内存有哪几种存储组织结构.请分别加以说明一般都是堆和栈 用与存储对象的内存空间。
我们可在堆栈中创建对象。在这种情况下,对象会得以自动清除(但不具有在运行期间随心所欲创建对象的灵活性)。在堆栈中创建对象是为对象分配存储空间最有效的一种方式,也是释放那些空间最有效的一种方式。在内存堆(Heap)中创建对象可能要付出昂贵得多的代价。如果总是从同一个基础类继承,并使所有函数调用都具有“同质多形”特征,那么也不可避免地需要付出一定的代价
5.JAVA中的Wait() 和notify()方法使用时应注意些什么?
Wait() 是线程等待
notify()是线程唤醒
使用这两者的时候,是多线程使用共享资源,防止资源出错
当一个线程使用时,其他线程等待,等该线程使用完毕后,唤醒其它线程notifyAll()
7.操作系统中的同步和互诉解决了什么问题同步:各个进程不知对方名字,但通过某些对象(如I/O缓冲区)的共同存取来协同完成一项任务。
互斥:互斥跟临界资源有关,因为计算机的某些资源有限,所以必须通过互斥操作防止进程之间竞争临界资源而发生死锁,互斥操作用PV原语实现。
8.UNIX 中init
1.不许用中间变量,把String ABCDE 倒转
2.10000个数求第2大的数,不许用排序算法
3.排序算法的测试用例
1, 合并有序链表
2, 删除字符串中相邻重复元素
3, 给出了二叉树结构,要求写出广度优先遍历
4, 给定整型数组,写代码找出数组中第二大元素
5, 有关菲波那契数列问题
1.怎么判断鼠标有没有选中一条线段(如很靠近,鼠标点和线段之间的距离小于5毫米)
2.求一个矩形的中心点和一个点的连线与矩形边的交点坐标(矩形左上角坐标给出,长、宽给出,中心点坐标可以算出来 ,另外一个点的坐标给出)
3.写一个servlet,要求实现在一个页面中能输入名字,然后页面中返回的结果是“hello,姓名”。