程序员面霸手册

所需积分/C币:48 2014-09-26 11:52:49 1.85MB PDF
2
收藏 收藏
举报

程序员面霸手册,讲述面试中常见的问题,并附有解释
前言 本人计算机专业毕业,找工作历尽艰辛,面尽无数公司,深感 怀才不遇,整理前人心血,以成此书。为了让后人少走我的路,把自 己遇到的一些问题,以及网上一些朋友的程序员面试笔试题以及一些 在面试笔试中的重要知识点都写出来同大家分享。其中有些题目已经 做了答案,而有些答案在后边的知识点里已经注明,要读者自行寻找 把这些题目和知识点整理成本册子,欢迎大家来信推荐一些在自己面 试笔试中遇到的问题,以完善此书,不胜感激。此书闲来所做,只期 望能对后来者起到一定帮助。此电子版,免费无限分发,请勿用于商 业目的,违者必究。如果你觉得好的话,将他分享给更多的朋友朋友。 书中难免出现错误和不足,还望不吝赐教,如果你在笔试或者 面试中遇到了此册中没有遇到的问题,可以发电子邮件或者在本书官 网给我留言,希望能把大家遇到的问题收集在一起,不胜感激。希望 大家一起交流,大家帮大家,大家都能找到一个自己喜欢和满意的工 作。我的电子邮件: dotflyghotmai I com,QQ:1140603739,本书永久 性官网http://mian8king.bokeecom处获取本书所有信息。 黄优于西安 版权声明 此书之电子版免费,可任意分发传播,但需保持本书完整性, 书中内容禁止用于商业目的,如需要修改或因商业目的使用本书需联 系作者本人,emaiI:botfly@hotmaill.com。未经授权非法利用本书用 于商业目的将受严厉惩处 版本更新说明 版本 更新内容 备注 创建 1.增加了操作系统部分 v1.1(9.04) 数据结构部分增加了ADT的实现代码 更新及维护 3.数据结构部分增加了KMP排序算法。 4.增加附录一 ASCII码表。 5.增加了附录二A)O.NF连接字符串 6.增加了附录二 ADONET连接字符串 7.第四部分增加使用,NET访问MySq数据库。 有几道趣目做了答案 9.数据库部分新增几道华为公司问答题目。 1.修正一些小的疏忽和错 1.对知识点精华部分做了索引,方便信息查阅,并且对 2 原来档案做了简化,以保持本书的单易读性 更改 2.整理内容,对内容进行√详细分类,并修改√分类, 使框架简明易懂。 目录 第一部分数据结构 笔试面试题集 知识点精华 第二部分C/C++ 笔试面试题集 知识点精华 第三部分JNVA 笔试面试题集 知识太精华 第四部分.\ET 笔试面试题集 知识点精华 第五部分数据库 笔试面试题集 知识点精华 第六部分操作系统 笔试面试题集 附录 码表 第一部分数据结构 笔试面试题集 1.在一个单链表中p所指结点之前插入一个s(值为e)所指结点时,可执行如下操作: e(g>next! =p q=g >next new Node >data-e g->next s->next=p 2.线性表的顺序存储结构是一种的存储结构,而链式存储结构是一种的存储结 构 A.随机存取B.索引存取C.顺序存取D.散列存取 3.线性表若采用链式存储结构时,要求内存中可用存储单元的地址_D A.必须是连续的B.部分地址必须是连续的 C.一定是不连续的D.连续或不连续都可以 4.在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s 结点,则执行。 A. s->next=p->next: p->next=s: B. p>ncxt=s->next: s->next=p Es, s >next=p D. p >next=sS >next=q 5.在一个单链表屮,若p所指结点不是最后结点,在p之后插入s所指结点,则执行 A. s->next=p: p->next=s ext=p->next: p>next=s C. S->next=p->next C. p->next=s: s->next=p 6.在一个单链表中,若删除p所指结点的后续结点,则执行 A. pmext= p->next->next B. p=p->next; p->next=p>next->next >next- p>next D 链表不具备的特点是A A可随机访门任何一个元素 B插入、删除操作不需要移动元素 无需事先佔计存储空间大小 D所需存储空间与线性表长度成正比 注:链衣是顺序结构,必须顺斥访问 8.以下关于线性表的说法不正确的是 A线性表中的数据元紊可以是数字、字符、记录等不同类型。 B线性表中包含的数据元素个数不是任意的一 6线性表中的每个结点都有且只有一个直接前趋和直接后继。 D存在这样的线性表:表中各结点都没有直接前趋和直接后继 9.在一个长度为n的顺序表中删捺第i个元素,要移动n-i个元素。如果要在第i个元 素前入一个元素,要后移n-i+1个元素 10.栈操作数据的原则是后进先出,队列操作数据的原则是先进先出。 1.在栈中,可进行插入和删除操作的一端称栈顶。 12.栈和队列都是非线性结构;对亍栈只能在栈顶插入和删除元素;对丁队列只能在 队头插入元素和队尾删除元素。 13.结构通常采用的两种存储结构是 和 14.计算机在运行递归程序时,要用到编译器提供的栈 15.一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列是_C A, edcba b. deca c. dceab d, abcde 注:此题的难点在于不必考虑完全入完后再出栈,可以边入边出,也可以入几个再出。 16.一个队列的数据入列序列是1,2,3,4,则头列的出队时输出序列是B A.4,3,2,1 B. 2,3,4C.1,4,3,2 D.3,2,4,1 17.判断一个表达式中左右括号是否匹配,采用 实现较为方便。 A线性表的顺序存储 B队列 C线性表的链式存储 18.栈与一般线性表区别要在方面C。 A元素个数 B元素类型 C逻辑结构 D插入、删除元素的位置 9.假上涵”现象会出现在中 A循坏队列B队列C链队列國顺房队列 20.在个链队中,假设F和R分别是队首和队尾指针,则刖除个结点的运算是 A R=F->next B R=R->next C F=F->next DF=R→>next 21.表达式a*(b+c)d的后缀表达式是B A.abCd*+一B.abC+*d-C.abC*+d一D.一+abcd 注:>a(b+c)*d>abc*d 22.判断链表是否存在环型链表问题:判断一个链表是否存在环,例如下面这个链表就存在 个环: 例如N1N2->N3-N4-5-N2就是一个有环的链表,环的开始结点是N5这里有一个比 较简单的解法。设置两个指针p1,p2。每次循环p1向前走一步,p2向前走两步。直到 p2椪到NUL指针或者两个指针相等结束循环。如果两个指针相等则说明存在环。 struct link int data link米next; bool SlOop(link* head) link* p1-head, *p2- head if(head= NULL head-next=NUL)/该链表没有节点或者只有个节点, 则不用判断 return alse 宄循环,再判断 do t p1= p1->next p1前进一步 p2= p2->next->next //p2前进一步 whilc(p2&kp2-next&&pl!-p2);//p2不为空,p2的下个节点不为空,p1 不等于p2继续循环,否则退出。 //p2为空则p1n2不相等则不存在环,p1-p2则存在环 if(p1==n2) return true return false 23.链衣反转单向链表的反转是个经常被问到的个面试题,也是个非常基础的问题 比如一个链表是这样的:1->2->3->4->5道过反转后成为5->1->3->2->1。最容易想 到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元 素,然后将当前节点元素的指针反转后,和用凵经存储的指针往后面继续遍历。源代码 如下 struct linka int data linkak void reverse (linka*& head) if(hcad=NULL)/链表为罕 return; l inka*pre,本Cur,kne prensa cur-nea while(cur) ne- cur->next cuI head-neXL null head- pre 还有一种利用递归的方法。这种方法的基本思想是在反转当前节点之前先调用递归 函数反转后续节点。源代码如下。不过这个方法有一个缺点,就是在反转后的最后 个结点会形成一个环,所以必须将函数的返回的节点的next域置为NULL。因为要改 变head指针,所以我用了引用。算法的源代码如下 Link (1inka*p,⊥ink米&head) NULL >next hcad-p return ei se linkak tmp= reverse(p-ncxt, head tmp >next return p 24.判断两个数组中是否存在相同的数字给定两个排好序的数组,怎样高效得判断这两个 数组中存在相同的数字? 这个问题首先最直接能想到的是一个0( nlogn)的算法。就是仟意挑选一个数组,遍历 这个数组的所有元素,遍历过程中,在另个数组中对第个数组中的每个元素走行 binary search。用C++实现代码如下: hool findcommon (int al, int size, int. bl, int size2) int 1 for(i=0; i<sizel; 1++)

...展开详情
试读 127P 程序员面霸手册
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚钱or赚积分
最新推荐
程序员面霸手册 48积分/C币 立即下载
1/127
程序员面霸手册第1页
程序员面霸手册第2页
程序员面霸手册第3页
程序员面霸手册第4页
程序员面霸手册第5页
程序员面霸手册第6页
程序员面霸手册第7页
程序员面霸手册第8页
程序员面霸手册第9页
程序员面霸手册第10页
程序员面霸手册第11页
程序员面霸手册第12页
程序员面霸手册第13页
程序员面霸手册第14页
程序员面霸手册第15页
程序员面霸手册第16页
程序员面霸手册第17页
程序员面霸手册第18页
程序员面霸手册第19页
程序员面霸手册第20页

试读结束, 可继续阅读

48积分/C币 立即下载 >