搜集的华三面试题的及答案整理.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
搜集的华三面试题的及答案整理

1、什么是死锁,产生的原因,如何避免死锁 死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用这些进程将永远不可能向前 推进。 原因:竞争资源,进程推进顺序非法。必要条件:互斥条件,请求和保持条件,不剥夺条件, 环路等待条件。 处理死锁:预防死锁,避免死锁,检测死锁,解除死锁 如何避免:如果所有并发事务按同一顺序访问对象,则发生死锁的可能性会降低;避免事务 中的用户交互;保持事务简短并在一个批处理中。 2、什么是大端什么是小端字节序?网络字节序是大端还是小端的? 小端:低地址存放低字节,高地址存放高字节; 大端:高地址存放低字节,低地址存放高字节; 网络字节序是:大端。 3、哈希表原理 根据关键码值直接进行访问的数据结构,也就是说,它通过把关键码值映射到表中某一个位 置来访问记录,以加快查找的速度;这个映射函数叫做散列函数,存放记录的数组叫做散列 表。 哈希表是一个以空间换取时间的数据结构,理想情况下的时间复杂度为O(1)。 散列函数的构造方法: (1)直接定址法 取关键字或关键字的某个线性函数值为散列地址;即H(key) key或H(key) a•key + b,其中a和b为常数 (这种散列函数叫做自身函数)。 (2)数字分析法 (3)平方取中法 (4)折叠法 (5)随机数法 (6)除留余数法 拉链法创建散列表 4、函数memset 的实现 原型: void *memset(void *buffer, int c, int count); 功能:把buffer所指内存区域的前count个字节设置成字符c。 void *memset(void *src, int c, size_t count) { assert(src!NULL); char *tmpsrc (char*)src; while(count--) *tmpsrc++ (char)c; return src; } 5、双链表插入节点 // // 语法格式: insert(TYPE * head,TYPE * pi) // 实现功能: 将新申请的节点加入到指定链表中,并按照num进行从小到大排序 // 参数: head:待插入链表 // pi:带插入节点 // 返回值: 插入指定节点后的新链表首址 // TYPE * insert(TYPE * head,TYPE * pi) { TYPE *pb head ,*pf; if(head NULL)//如果为空就建立,空间在传入前申请好 { head pi; pi-prior head; pi-next head; } else { while((pi-num pb-num)(pb-next! head)) //找到一个比插入值大的节点, 然后插在它的前面 { pf pb;//pf指向前,pb指向后 pb pb-next; //节点后移 } if(pi-num pb-num) //找到所要插入节点位置,插到pb 的前面 { if(head pb) //在第一结点之前插入 { pi-next pb; pi-prior head-prior; pb-prior-next pi; //尾节点 pb-prior pi; head pi; //保存头节点 } else { pf-next pi; //在中间位置插入 pb-prior pi; pi-next pb; pi-prior pf; } } else { pb-next pi; //在表末插入 pi-next head; pi-prio

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档