欢迎来到天天文库
浏览记录
ID:15585943
大小:82.50 KB
页数:11页
时间:2018-08-04
《2012数据挖掘校园招聘--笔试面试经验总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、笔试面试经验总结(2011-9-18~2011-9-19)2011-9-18雅虎笔试题及答案1,tcp报文头的内容:源端口,目标端口,序列号,确认号,tcp长度,控制字,窗口大小,检验和,紧急指针,数据2,排序算法的比较:稳定性,平均复杂度,最坏复杂度,额外空间3,Char*copy(){Charname[]=”string”;Returnname;}的运行状况4,五个等概率的红球或黑球连成环后,不存在两个相邻红球的概率是11/325,字符串赋值改错#include#inclu
2、dechar*GetName(void){ //Toreturn“MSRAsia”String charname[]="MSRAsia"; returnname;}voidmain(intargc,char*argv[]){ charname[32]; //Fillinzerosintoname for(inti=0;i<=32;i++) { name=' '; } //copy“Welcome”toname name="Welcome"; //
3、Appendablankchar name[8]=""; //Appendstringtoname strcat(name,GetName()); //printout printf(name);}char*strcat(char*dest,char*src);把src所指字符串添加到dest结尾处(覆盖dest结尾处的' ')并添加' '。答:改正后为#include#includechar*GetName(void){ //Toretur
4、n“MSRAsia”String //charname[]="MSRAsia"; (1) char*name=(char*)malloc(strlen("MSRAsia")+1); strcpy(name,"MSRAsia"); returnname;}voidmain(intargc,char*argv[]){ charname[32]; //Fillinzerosintoname for(inti=0;i<=32;i++) { name
5、=' '; } //copy“Welcome”toname //name="Welcome"; (2) strcat(name,"Welcome"); //Appendablankchar// name[8]=''; (3)多余 //Appendstringtoname char*p=GetName(); (4) strcat(name,p); free(p); //printout printf(name);}6,1,
6、将有序数组转化成最小深度的二叉查找树:折半查找的思路,每次都把序列中间的点作为父结点,而左序列中间节点作为左孩子,右序列中间节点作为右孩子2,在无向无环图中,找到最长的路径:最长路径的起点和终点的度为1,所以可从度为1的结点开始,依次找到他到其它度为1结点的最长路径,之后从最长路径集中找到最长的路径。对每个度为1的节点做广度优先搜索,得到最长路径2011-9-19雅虎一面题及答案1,一直以来最具成就感的项目,实习时的工作内容2,进程与线程的区别,线程的缺点,进程间的通信,管道的通信监听进程和线程
7、都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:简而言之,一个程序至少有一个进程,一个进程至少有一个线程.线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻辑角度来看,
8、多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。线程的缺点:每个线程与主程序共用地址空间,受限于2GB地址空间;线程之间的同步和加锁控制比较麻烦;一个线程的崩溃可能影响到整个程序的稳定性;到达一定的线程数程度后,即使再增加CPU也无法提高性能线程能够提高的总性能有限,而且线程多了之后,线程本身的调度也是一个麻烦事儿,需要消耗较多的CPU进程间的通信:基于信息量,基于共享内存,
此文档下载收益归作者所有