- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
淘宝网 校园招聘 技术人员笔试题
通用试题部分:选择题1. 在按层次遍历二叉树算法中, 需要借助辅组数据结构是A. 队列B. 栈C. 线性表D. 有序表
2. 所谓指令周期是指A. 取指令和取操作数时间B. 实施指令和存放操作结果时间C. 取操作数和实施指令时间D. 取指令和实施指令时间
3. 调用一组员函数时, 使用动态联编情况是A. 经过对象调用一虚函数B. 经过指针或引用调用一虚函数C. 经过对象调用静态函数D. 经过指针或应用调用一静态函数
4. 配置管理能起到以下哪些作用A. 版本管理B. 变更管理C. 需求管理D. 测试管理
简答题我们在开发中常常强调要面向接口编程(又称契约式编程), 请问采取接口有什么优点呢, 接口和抽象类又有什么区分呢? 分别使用在哪些场景?
面向接口编程:在系统分析和架构中,分清层次和依靠关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而是经过定义一组接口,仅向上层暴露其接口功效,上层对于下层仅仅是接口依靠,而不依靠具体类。
在一个面向对象系统中,系统多种功效是由许很多多不一样对象协作完成。在这种情况下,各个对象内部是怎样实现自己对系统设计人员来讲就不那么关键了;而各个对象之间协作关系则成为系统设计关键。小到不一样类之间通信,大到各模块之间交互,在系统设计之初全部是要着重考虑,这也是系统设计主 要工作内容。面向接口编程就是指根据这种思想来编程。
接口和实现分离了,适于团体协作开发。
“面向接口编程”中接口是一个思想层面用于实现多态性、提升软件灵活性和可维护性架构部件,而具体语言中“接口”是将这种思想中部件具体实施到代码里手段。
抽象类和接口区分在于使用动机。使用抽象类是为了代码复用,而使用接口动机是为了实现多态性。抽象类和它子类之间应该是通常和特殊关系,而接口仅仅是它子类应该实现一组规则
面向接口编程和面向对象编程是什么关系
面向接口编程和面向对象编程并不是平级,它并不是比面向对象编程更优异一个独立编程思想,而是隶属于面向对象思想体系,属于其一部分。或说,它是面向对象编程体系中思想精髓之一。
编程题(不区分编程语言)完成一段代码, 代码有三个线程, 根本程由Main进入, 开启一个生产者线程和一个消费者线程, 生产者线程随机产生整数, 而且把这个整数放入一个List中, 消费者从List中取出数据进行显示
#include?stdio.h
#include?stdlib.h
#include?unistd.h
#include?pthread.h
#include?errno.h
#include?sys/ipc.h
#include?semaphore.h
#include?fcntl.h
#define?FIFO?myfifo
#define?N?5
int?lock_var;
time_t?end_time;
char?buf_r[100];
sem_t?mutex,full,avail;/*定义3个信号量,full标识缓冲区是否为满,avail标识缓冲区是否为空.*/
int?fd;
void?pthread1(void?*arg);
void?pthread2(void?*arg);
void?consumer(void?*arg);
void?productor(void?*arg);
int?main(int?argc,?char?*argv[])
{
????pthread_t?id1,id2;
????pthread_t?mon_th_id;
????int?ret;
????end_time?=?time(NULL)+30;
????if((mkfifo(FIFO,O_CREAT|O_EXCL)0)(errno!=EEXIST))
????????printf(cannot?create?fifoserver\n);
????printf(Preparing?for?reading?bytes...\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,
文档评论(0)