找工作遇到的其他技术问题及解答(1)

抱歉,由于刚开始不会编辑,很多图片都没有了,可以查看word版本:http://download.csdn.net/detail/duomengwuyou/8310811

1、Group by 和 having

Group by是分组查询,一般和聚合函数使用;


增加having的原因是,在where语句中是不能和聚合函数一起使用的。


2、死锁的原因以及银行家算法

互斥,不可强占,请求和保持,循环等待


为了预防死锁的出现,提出了银行家算法。


可利用资源:列出现在可以使用的资源数目,就是银行家现在有多少钱。

最大需求矩阵:N个进程对M类资源的需求量,限制了资源上限,不能超过这个数值。

分配矩阵:N个进程在M类资源上面已经分配了多少

需求矩阵:N个集成在M类资源上面尚需资源。



银行家算法其实就是是否为用户分配资源,分配之后是否是安全的进行验证。有资源可用量,用户需求最大量,用户分配量,用户需求量。

在银行家算法中,首先是进行资源的初始化;而后模拟用户输入资源请求,如果请求量小于所需量而且请求量小于可用量,则给其分配资源;分配完资源之后判断是否处于一个安全状态。所谓的安全状态是指,我给未结束的而且所需资源数目小于提供数目的进程分配资源,然后释放掉响应资源,继续找这种集成,看能否最后所有的进程都能够结束。


3、数据库的四个范式






4、IP掩码

掩码其实就是通过和真实的ip地址做与运算,然后通过对比前面的网络号来判断是否是在同一个网络下面。IP地址这种0 1 0 1的表示可以通过掩码来进行筛选判断。


5、拓扑排序

拓扑排序就是指在一个图中,如何给出一个节点间的顺序。

1、   声明一个degree数组,用于记录每一个数组的入度是多少。挑选出所有入度为0的点,如果没有,那么说明存在环。

2、  遍历所有入度为0的节点,然后找到其孩子,对应孩子的的degree--,如果degree变为0,那么就加入到上面所说的入度为0的数组中。

在遍历的过程中便可以打印出顺序。


6、进制之间的转换




7、TCP三次握手和四次挥手


8、数据结构-图







9、Dijkstra算法思想

单点源最短路径问题。

主要采用贪心的思想,步骤如下:

1、  设置数据结构:dist[]数组用于存储从原点开始到现在的点的距离。

2、  首先在dist中找出最小值k,然后更新所有和k相连接的点的dist[]。直到所有的节点遍历结束




10、Prim算法思想



Lowcost:lowcost[i]代表的是从选中的节点中到结点i的最短距离。

Mst[i] :表示的是最短距离的这条线的开始节点是什么。

1、  刚开始以0节点为初始化节点。初始化了lowcost[i]。

2、  找出lowcost里面不为零而且最短的节点j。

3、  修改lowcost,因为新加入了节点j,可能lowcost就会有所改变。










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值