完美世界2017笔试知识总结.docx_第1页
完美世界2017笔试知识总结.docx_第2页
完美世界2017笔试知识总结.docx_第3页
全文预览已结束

下载本文档

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

文档简介

完美世界:1、vector:iterator 重载了哪些运算符?解:+,*,= 错误解:2、不能被重载的运算符:解:. ?: sizeof : .*3、const重载函数是合法的 4、对于一个空类,编译器默认生成6个成员函数:缺省的构造函数、拷贝构造函数、析构函数、赋值运算符、一对取址运算符(另一个带const)5、产生死锁的四个必要条件:解:1互斥使用(资源独占) 一个资源每次只能给一个进程使用 2不可强占(不可剥夺) 资源申请者不能强行的从资源占有者手中夺取资源,资源只能由占有者自愿释放 3请求和保持(部分分配,占有申请) 一个进程在申请新的资源的同时保持对原有资源的占有(只有这样才是动态申请,动态分配) 4循环等待 存在一个进程等待队列 P1 , P2 , , Pn, 其中P1等待P2占有的资源,P2等待P3占有的资源,Pn等待P1占有的资源,形成一个进程等待环路6、sizeof 数组:大小为数组大小sizeof 指针:指针所占空间7、C+类对象成员变量与成员函数内存分配问题解:1所有的函数都是存放在代码区的,不管是全局函数,还是成员函数。静态函数也不例外2sizeof访问的程序的数据段,而函数地址则被保存在代码段内3如果类中有虚函数,那么它就会有一个虚函数表的指针_vfptr,在类对象最开始的内存数据中。之后是类中的成员变量的内存数据。 对于子类,最开始的内存数据记录着父类对象的拷贝(包括父类虚函数表指针和成员变量)。 之后是子类自己的成员变量数据。8、成员指针运算符9、信号量:在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。一个非负整数。Wait和Release操作。用于线程同步。互斥量:用于线程的互斥,只能为0或1。关键段:关键段(Critical Section)是一小段代码,它在执行之前需要独占对一些共享资源的访问权。这里的原子方式,指的是代码知道除了当前线程之外,没有其他任何线程会同时访问该资源。当然,系统仍然可以暂停当前线程去调度其他线程。但是,在当前线程离开关键段之前,系统是不会去调度任何想要访问同一资源的其他线程的。事件:秒杀多线程10、多线程同步线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团。线程同步的真实意思和字面意思恰好相反。线程同步的真实意思,其实是“排队”:几个线程之间要排队,一个一个对共享资源进行操作,而不是同时进行操作。线程同步的方法(1)wait():使一个线程处于等待状态,并且释放所持有的对象的lock。(2)sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉 InterruptedException异常。(3)notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。(4)notityAll ():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。11、多线程加锁下表是一个多线程加锁的规律表操作的结果与初值无关操作的结果与初值相关写简单数据类型不需要加锁需要加锁写复杂数据类型需要加锁需要加锁读简单数据类型不需要加锁不需要加锁读复杂数据类型需要加锁需要加锁12、对象初始化可以分为默认初始化、直接初始化、拷贝初始化以及值初始化。13、程序员能访问PC程序计数器14、最小堆的实现15、c+ find函数、sort函数(倒排)16、平均时间复杂度为nlogn的排序算法:归并、快排、堆排方式: 平均 最坏 最好插入 n2 n2 n希尔n1.3 / /冒泡 n2 n2 n快速 nlog

温馨提示

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

评论

0/150

提交评论