[2015腾讯校招笔试经验]笔试(9.20 华工 笔试岗位:移动客户端) 笔试基本流程:笔试前一天会收到笔试短信通知;带上2B铅笔(我真是逗b,就是不带铅笔,害我涂黑了两道题,也改不了,考后还担心答题卡不能被检测)...+阅读
1. 输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:struct ListNode{int m_nKey;ListNode* m_pNext;};A: 递归方法逆序输出,栈方法逆序输出。 (任意实现一种既可)void PrintListUsingRecursicve(pListNode head){if(head!=NULL){PrintListUsingRecursicve(head-m_pNext);printf(%d/n,head-m_nKey);}}void PrintListUsingStack(pListNode head){Stack s;s.top=0;pListNode p=head;do{push(s,p-m_nKey);p=p-m_pNext;}while(p!=NULL);while(!IsEmpty(s)){printf(%d/n,pop(s));}}2. 二元树的深度题目:输入一棵二元树的根结点,求该树的深度。
从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。#includestdio.h#includestdlib.h#includestring.h#includetime.h#define MAXLEN 100#define MAXNUM 10typedef int Tree[MAXLEN];Tree bt;int GetDeep(int i){int l=0,r=0;if(bt[i*2]!=-1){l=GetDeep(i*2)+1;}if(bt[i*2+1]!=-1){r= GetDeep(i*2+1)+1;}return lr?l:r;}int main(){int i=0;memset(bt,-1,sizeof(bt));for(i=1;i=MAXNUM;i++)bt[i]=i;bt[(i-1)*2]=i*2;printf(%d /n,GetDeep(1));return 0;}3. 整数的二进制表示中1的个数题目:输入一个整数,求该整数的二进制表达中有多少个1。
例如输入10,由于其二进制表示为1010,有两个1,因此输出2。(关键是能不能想到后面的那个方法,只要想到这个方法既可)int Bit1inInt(int i){int result=0;do{result+=i1;}while(i=i1);return result;}4. 从上往下遍历二元树题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。(先序,中序,后序三种方式实现)如果从上往下,从左到右的话只有一种遍历的方式:广度优先遍历。
#includestdio.h#includestdlib.h#includestring.h#includetime.h#define MAXLEN 100#define MAXNUM 10typedef int Tree[MAXLEN];Tree bt;typedef struct queue{int begin,end;int space[MAXLEN];}Queue;int main(){int i=0;memset(bt,-1,sizeof(bt));for(i=1;i=MAXNUM;i++)bt[i]=i;Queue qe;qe.begin=0;qe.end =0;qe.space[qe.end++]=bt[1];while(qe.begin!=qe.end){if(bt[2*qe.space[qe.begin]]!=-1) lchild{qe.space[qe.end++]=bt[2*qe.space[qe.begin]];}if(bt[2*qe.space[qe.begin]+1]!=-1) rchild{qe.space[qe.end++]=bt[2*qe.space[qe.begin]+1];}qe.begin++;}printf(--------------------/n);for(i=0;iqe.end;i++)printf(%d ,qe.space[i]);return 0;}先序,中序,后序三种方式的只是遍历二元树typedef int Tree[MAXLEN];Tree bt;void PreOrderTrerse(int i){if(bt[i]==-1) {return }printf(%d ,bt[i]);PreOrderTrerse(i*2); lchildPreOrderTrerse(i*2+1); rchild}void InOrderTrerse(int i){if(bt[i]==-1) {return }InOrderTrerse(i*2); lchildprintf(%d ,bt[i]);InOrderTrerse(i*2+1); rchild}void PostOrderTrerse(int i){if(bt[i]==-1) {return }PostOrderTrerse(i*2); lchildPostOrderTrerse(i*2+1); rchildprintf(%d ,bt[i]);}int main(){int i=0;memset(bt,-1,sizeof(bt));for(i=1;i=MAXNUM;i++)bt[i]=i;printf(/n---------------/n);PreOrderTrerse(1);printf(/n---------------/n);InOrderTrerse(1);printf(/n---------------/n);PostOrderTrerse(1);return 0;}5. 查找链表中倒数第k个结点题目:输入一个单向链表,输出该链表中倒数第k个结点。
链表的倒数第0个结点为链表的尾指针。链表结点定义如下:struct ListNode {int m_nKey;ListNode* m_pNext;};(最快的方法,只遍历一遍)int FindCoundDownInList(pListNode head,int num){pListNode p1,p2;p1=p2=head;while(num--0 p1!=NULL) p1=p1-m_pNext;if(p1==NULL) return 0;else{while(p1!=NULL){p1=p1-m_pNext;p2=p2-m_pNext;}return p2-m_nKey;}}
延伸阅读:
工商银行2014校园招聘笔试经验考完出来就在朋友圈声讨工行今次太不人道了!!!!后来坐车人都浑浑噩噩的,直到吃个饱饭后才来上网,看到网友戏称诺鑫银行突然很无奈笑了。 先说说整个考试的流程。提前来到考场,...
2015大众点评网校园招聘笔试题目1、有10个文件,每个文件1G,每个文件的每一行存放的都是用户的query,每个文件的query都可能重复。要求你按照query的频度排序。 hash映射: 1、顺序读取10个文件,按照hash(query)%1...
校园招聘面试技巧其次,进入人才市场或招聘会的时间宜早不宜晚,以免错失机会。但与用人单位的交谈不必太早。进入人才市场或招聘会后,最好是先尽快地将全场浏览一遍,确定几个重点,安排好主次,再去交...
校园招聘会上必胜求职5大绝招摘要:招聘会是让你锻炼如何向招聘经理展示自我的绝佳平台,下面有几条建议让你在校招上表现得更好。 The No. 1 way to make a career fair work for you is to make sure you...
2015年阿里巴巴校园招聘笔试题目笔试时间为2014年8月29日,均为网上答题。第一部分为单选题,共20题,要在40分钟内完成。每个人的选择题都不一样,应该是后台有题库,每个人的试卷都是随机生成的。第二部分为附加题,...
2014年中国银行校园招聘笔试经验分享先说说整个考试的流程。提前来到考场,等待,排队,检查证件,拍照,输入准考证,再等待;笔试一共是三部分:情境能力综合测试,主观情境工作能力,性格测试; 第一部分120分钟120题,假设诺鑫银...
百度2014校园招聘技术研发笔试题目我非985,非211,二本专业一枚,有幸获得度娘的照顾,有个笔试机会,当然抱着重在参与的心态,把所有题目copy回来了。说来惭愧,做的不好,给需要的同学参考参考吧。 一、简答题 1.静态链...
中行2015校园招聘笔试经验我2014年11月1日下午1点30到4点30参加了中国银行2015校招笔试,上午在仙林南邮参加江苏电信笔试,2个小时的时间内赶到了江宁南医参加了中行的考试。以下是考试内容和时间段,都是...
建设银行校园招聘面试技巧(1)出色的个人素质 这一点上,要求你和他们交谈的时候,充分显示你的个人素质和良好的可塑性;同时,更重要的一点是,让他们觉得你是一个可信的人,这点很重要。 (2)较好的表达能力 有...