淘宝校园招聘笔试题技术类.doc_第1页
淘宝校园招聘笔试题技术类.doc_第2页
淘宝校园招聘笔试题技术类.doc_第3页
淘宝校园招聘笔试题技术类.doc_第4页
淘宝校园招聘笔试题技术类.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

淘宝网 2009 校园招聘 技术人员笔试题通用试题部分:选择题1. 在按层次遍历二叉树的算法中, 需要借助的辅组数据结构是A. 队列B. 栈C. 线性表D. 有序表2. 所谓指令周期是指A. 取指令和取操作数的时间B. 执行指令和存储操作结果的时间C. 取操作数和执行指令的时间D. 取指令和执行指令的时间3. 调用一成员函数时, 使用动态联编的情况是A. 通过对象调用一虚函数B. 通过指针或引用调用一虚函数C. 通过对象调用静态函数D. 通过指针或应用调用一静态函数4. 配置管理能起到以下哪些作用A. 版本管理B. 变更管理C. 需求管理D. 测试管理简答题我们在开发中经常强调要面向接口编程(又称契约式编程), 请问采用接口有什么优点呢, 接口和抽象类又有什么区别呢? 分别使用在哪些场景?面向接口编程:在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而是通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不依赖具体类。在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主 要工作内容。面向接口编程就是指按照这种思想来编程。接口和实现分离了,适于团队的协作开发。“面向接口编程”中的接口是一种思想层面的用于实现多态性、提高软件灵活性和可维护性的架构部件,而具体语言中的“接口”是将这种思想中的部件具体实施到代码里的手段。抽象类和接口的区别在于使用动机。使用抽象类是为了代码的复用,而使用接口的动机是为了实现多态性。抽象类和它的子类之间应该是一般和特殊的关系,而接口仅仅是它的子类应该实现的一组规则面向接口编程和面向对象编程是什么关系面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分。或者说,它是面向对象编程体系中的思想精髓之一。编程题(不区分编程语言)完成一段代码, 代码有三个线程, 主线程由Main进入, 启动一个生产者线程和一个消费者线程, 生产者线程随机产生整数, 并且把这个整数放入一个List中, 消费者从List中取出数据进行显示#include#include#include#include#include#include#include#include#defineFIFOmyfifo#defineN5intlock_var;time_tend_time;charbuf_r100;sem_tmutex,full,avail;/*定义个信号量,full标识缓冲区是否为满,avail标识缓冲区是否为空*/intfd;voidpthread1(void*arg);voidpthread2(void*arg);voidconsumer(void*arg);voidproductor(void*arg);intmain(intargc,char*argv)pthread_tid1,id2;pthread_tmon_th_id;intret;end_time=time(NULL)+30;if(mkfifo(FIFO,O_CREAT|O_EXCL)0)&(errno!=EEXIST)printf(cannotcreatefifoservern);printf(Preparingforreadingbytes.n);memset(buf_r,0,sizeof(buf_r);fd=open(FIFO,O_RDWR|O_NONBLOCK,0);if(fd=-1)perror(open);exit(1);ret=sem_init(&mutex,0,1);ret=sem_init(&avail,0,N);ret=sem_init(&full,0,0);if(ret!=0)perror(sem_init);ret=pthread_create(&id1,NULL,(void*)productor,NULL);if(ret!=0)perror(pthreadcread1);ret=pthread_create(&id2,NULL,(void*)consumer,NULL);if(ret!=0)perror(pthreadcread2);pthread_join(id1,NULL);pthread_join(id2,NULL);exit(0);voidproductor(void*arg)inti,nwrite;while(time(NULL)end_time)sem_wait(&avail);sem_wait(&mutex);if(nwrite=write(fd,hello,5)=-1)if(errno=EAGAIN)printf(TheFIFOhasnotbeenreadyet.Pleasetrylatern);elseprintf(writehellototheFIFOn);sem_post(&full);sem_post(&mutex);sleep(1);voidconsumer(void*arg)intnolock=0;intret,nread;while(time(NULL)./ga.txt6. 修改当前目录下的smb.conf, 将当前/etc目录共享出去Vim smb.confC+开发/搜索引擎开发/数学算法开发1. 以下程序运行后的输出结果是main()int p7=11, 13, 14, 15, 16, 17, 18;int i=0, j=0;while (i7 & pi%2=1) j+=pi+;printf(%dn,j);242. 列举出STL中常用的容器, 并指出下列场景中分别应该使用哪种容器?从文件中循环读取一系列不重复的英文单词放入容器中, 并在放入的同时进行排序, 并提供检索特定的单词是否存在于容器中的功能.从文件中循环读取一系列数目不定的可重复的英文单词放入容器中, 要求读取并放置完后, 能够删除中间单词, 并且能够按以前的顺序再输出到另外的文件中.从文件中循环读取一系列数目固定的可重复的英文单词放入容器中, 要求提供访问第n个单词的功能.从文件中循环读取一系列数目不定的大量重复的英文单词放入容器, 要求统计每个单词出现的次数, 并能够检索特定的单词的出现次数.3. 若有以下说明和语句, int c45, (*p)5; p=c; 如何使用p而不用c来表示c23这个元素, 答案中不能出现操作符(*(p+2)+3)4. 拷贝构造函数在什么时候被调用, 请写出示例代码拷贝初始化构造函数是一种特殊的成员函数,其形参是本类对象的引用。它的功能是用一个已知的对象来初始化一个被创建的同类的对象。 拷贝初始化构造函数实际上也是构造函数,它是在初始化时被调用来将一个已知对象的数据成员的值拷贝给正在创建的另一个同类的对象。 其特点如下: 1、该函数名同类名,并且该函数也不被指定返回类型。 2、该函数只有一个参数,并且是对某个对象的引用。 3、每个类都有各自的拷贝初始化构造函数,其格式如下所示: :( &) 4、如果类中没有说明拷贝初始化构造函数,则编译系统自动生成一个具有上述形式的缺省拷贝初始化构造函数,作为该类的公有成员。 下面三种对象需要调用拷贝构造函数: 1) 一个对象以值传递的方式传入函数体; 2) 一个对象以值传递的方式从函数返回; 3) 一个对象需要通过另外一个对象进行初始化例子:class CExample public: CExample()pBuffer=NULL; nSize=0; CExample()delete pBuffer; CExample(const CExample&); /拷贝构造函数 void Init(int n) pBuffer=new charn; nSize=n; private: char *pBuffer; /类的对象中包含指针,指向动态分配的内存资源 int nSize; ; CExample:CExample(const CExample& RightSides) /拷贝构造函数的定义 nSize=RightSides.nSize; /复制常规成员 pBuffer=new charnSize;/复制指针指向的内容 memcpy(RightSides.pBuffer,pBuffer,nSize*sizeof(char); 5. 有以下定义和语句int a32=1,2,3,4,5,6,*p3;p0=a1;则*(p0+1)所代表的数组元素是:46. 有以下程序, 程序运行后的输出结果是main()char str10=China, Beijing, *p=str;printf(%sn,p+10);编译出错!软件测试1. 语句分析, 本懒虫不打了2. HTTP1.1协议中规定便是正常响应的状态代码是A. 400 B. 200 C. 100 D. 03. 单链表的每个结点中包括一个指针link, 它指向该结点的后继结点. 现要将指针q指向的新结点插入到指针p指向的单结点之后, 下面的操作序列中哪一个是真确的?A. q:=p.link; p.link:=q.linkB. p.link:=q.link; q:=p.linkC. q.link:=p.link; p.link:=qD. p.link:=q; q.link:=p.link4. 逻辑判断题5. 给出以下定义, 则正确的叙述为char x=abcdefg;char y=a,b,c,d,e,f,g;A. 数组X和数组Y等价B. 数组X和数组Y长度相同C. 数组X的长度大于数组Y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论