2018校招金山云笔试题目总结

金山云笔试:
1.两个进程争夺同一个资源会发生死锁吗?(死锁发生的四个必要条件)
(1)互斥条件:一个资源每次只能别一个进程使用。
(2)请求和保持条件:一个进程因为请求资源而阻塞时,对持有资源保持不放。
(3)不剥夺条件:在进程没有执行完成的情况下,持有资源不会被剥夺。
(4)循环等待条件:若个进程之间因为等待资源而形成一种循环关系。

在其他情况不明确的情况下,无法判断两个进程是否仅需要这一个资源就能完成,如果需要其他的资源,而资源被另外一个进程所持有,就有可能发生死锁。

2.关于寄存器和高速缓存?

 寄存器是中央处理器(cpu)的的组成部分,是有限存储容量的高速存储部件,可以暂存指令,数据和地址(指令寄存器(IR),程序计数器(pc),累加器(ACC))。

 Cache,位于CPU和主内存之间容量小但速度很快的存储器,是为了弥补CPU与内存之间的运算差距而设置的部件。

3.实现原子加操作

锁总线,

恩~~,果然不是很明白,难受。。。

4.信号量,互斥体,自旋锁。

 信号量,相当于一个计数器,每当一个进程使用一个资源,信号量-1;进程释放一个资源,信号量+1;当信号量为0时,进程无法使用该资源。

 互斥体,在任何线程进入临界区之前都先获得临界区的互斥体,其他进程没有获得互斥体便不能执行。

 自旋锁,跟互斥锁挺像,但是未获得执行权的进行不阻塞,而是循环请求,适应于持有锁时间短的进程。

5.TCP中服务端和客户端的执行完操作后的各种状态。

 (1)三次握手时:

          客户端:closed->syn-send->establised

          服务端:listened->syn-rcvd->establised

 (2)四次挥手时:

          客户端:fin-wait-1->fin-wait-2->time-wait->close

          服务端:close-wait->last-ack->close

 

6.事务的隔离机制。

 (1)readunCommited 事务修改数据加了X锁,结束后释放。解决了更新丢失。

 (2)readCommited    在(1)的基础上,每次事务读数据时+S锁,读完(不是事务结束)释放。解决了脏读。

 (3)repeatableRead  在(1)的基础上,每次事务读数据时+S锁,事务结束后释放。解决了不可重复度。

 (4)serializable 事务串行执行。。。。

7.会引起全表查询的情况。

 (1)模糊查询:右模糊查询,全模糊查询一定会产生全表扫描。

 (2)查询条件中含有 is null的select语句

 (3)其余我真的不知道去哪查了。。。知道的可以回复我啊。

 

转载于:https://www.cnblogs.com/rookie111/p/7515082.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
黑马程序员训练营入学考试题 1、方法中的内部类能不能访问方法中的局部变量,为什么? 2、编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。 3、取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)... 4、有五个学生,每个学生有3门课(语文、数学、英语)的成绩,写一个程序接收从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩),然后把输入的学生信息按总分从高到低的顺序写入到一个名称"stu.txt"文件中。要求:stu.txt文件的格式要比较直观,打开这个文件,就可以很清楚的看到学生的信息。 5、编写一个程序,获取10个1至20的随机数,要求随机数不能重复。 6、编写三各类Ticket、SealWindow、TicketSealCenter分别代表票信息、售票窗口、售票中心。售票中心分配一定数量的票,由若干个售票窗口进行出售,利用你所学的线程知识来模拟此售票过程。 7、写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。 如: n = 4 则打印: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 ? 8、编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,然后打印出这个十进制整数对应的二进制形式。这个程序要考虑输入的字符串不能转换成一个十进制整数的情况,并对转换失败的原因要区分出是数字太大,还是其中包含有非数字字符的情况。提示:十进制数转二进制数的方式是用这个数除以2,余数就是二进制数的最低位,接着再用得到的商作为被除数去除以2,这次得到的余数就是次低位,如此循环,直到被除数为0为止。其实,只要明白了打印出一个十进制数的每一位的方式(不断除以10,得到的余数就分别是个位,十位,百位),就很容易理解十进制数转二进制数的这种方式。 9、28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(需写出分析思路) 10、有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值