网上弄到的一份题,不是很完整,边猜边做。


1.写出运行结果

char array[] = “abcde”; char* s = array;

cout<<sizeof(array)<<strlen(array)<<sizeof(s)<<strlen(s);

6585

2.什么是用户级线程和内核级线程?区别。

内核级线程:
(1)线程的创建、撤销和切换等,都需要内核直接实现,即内核了解每一个作为可调度实体的线程。
(2)这些线程可以在全系统内进行资源的竞争。
(3)内核空间内为每一个内核支持线程设置了一个线程控制块(TCB),内核根据该控制块,感知线程的存在,并进行控制。
在一定程度上类似于进程,只是创建、调度的开销要比进程小。有的统计是1:10
用户级线程:
(1)用户级线程仅存在于用户空间。——>对比内核(3)
(2)内核并不能看到用户线程。——>重要的区别

(3)内核资源的分配仍然是按照进程进行分配的;各个用户线程只能在进程内进行资源竞争。

3.从C++文件到生成exe 文件经过哪三个步骤?

预编译,编译优化,汇编,链接

4.有个二维数组 A(6*8),每个元素占 6 字节,起始地址为 1000,请问最后一个元素 A[5][7]的起始地址为??? 数组A占内存大小为??? 假设以行优先,则A[1][4]起始地址为???

1)1000 + 6*6*8 - 8 = 11282; 2)6*6*8=288; 3)A[1][4]位置为5行2列,1000+6*(8*1+4) = 1272.

如果给出结构体,考虑到字节对齐的话就要另外考虑了。

5.用C语言把双向链表中的两个结点交换位置,考虑各种边界问题。

考虑三种情况:第一个结点在头,第一个结点在中间,第一个结点在尾巴。

struct Node{  Node* prev;     Node* next;     void* data;
};  struct LinkedList{  Node*    head;  Node*    tail;  Node*    cur;  int      size;
}; bool exchange(LinkedList* list,Node *node1,Node *node2)
{ if(node1== NULL || node2==NULL) return false;Node *p,*q;//node1 on the frontif(list->head->next == node1){//node2 on the lastif(list->tail->next == node2){p = node2->prev;//Cope with node2list->head->next = node2;node2->prev = list->head;node2->next = node1->next;node2->next->pre = node2;//Cope with node1list->tail->prev = node1;node1->next = list->tail;node1->prev = p;p->next = node1;return true;}//node2 not on the lastelse{p = node2->prev;q = node2->next;//Cope with node2list->head->next = node2;node2->prev = list->head;node2->next = node1->next;node2->next->prev = node2;//Cope with node1p->next = node1;node1->prev = p;node1->next = q;q->prev = node1;return true;}}//node1 on the lastelse if(list->tail->next == node1){//node2 on the frontif(list->head->next == node2){p = node1->prev;//Cope with node1list->head->next = node1;node1->prev = list->head;node1->next = node2->next;node1->next->prev = node1;//Cope with node2list->tail->prev = node2;node2->next = list->tail;node2->prev = p;p->next = node2;return true;}//node2 not on the frontelse{p = node2->prev;q = node2->next;//Cope with node2list->tail->next = node2;node2->prev = list->tail;node2->next = node1->next;node2->next->prev = node2;//Cope with node1p->next = node1;node1->prev = p;node1->next = q;q->prev = node1;return true;}}//node1 on the middleelse{//node2 on the frontif(list->head->next == node2){p = node1->prev;q = node1->next;node1->prev = list->head;list->head->next = node1;node1->next = node2->next;node2->next->prev = node1;node2->prev = p;p->next = node2;node2->next = q;q->prev = node2;}//node2 on the lastelse if(list->tail->next == node2){p = node1->prev;q = node1->next;node1->prev = node2->prev;node2->prev->next = node1;node1->next = list->tail;list->tail->prev = node1;node2->prev = p;p->next = node2;node2->next = q;q->prev = node2;}//both in the middleelse{p = node2->prev;q = node2->next;//Cope with node2node2->prev = node1->prev;node1->prev->next = node2;node2->next = node1->next;node1->next->prev = node2;//Cope with node1p->next = node1;node1->prev = p;node1->next = q;q->prev = node1;return true;}}} 

6.*.dll,*.lib,*.exe 文件分别是什么,有什么区别?

lib是静态的库文件,dll是动态的库文件。
所谓静态就是link的时候把里面需要的东西抽取出来安排到你的exe文件中,以后运行exe的时候不再需要lib。
所谓动态就是exe运行的时候依赖于dll里面提供的功能,没有这个dll,exe无法运 行。

lib, dll, exe都算是最终的目标文件,是最终产物。而c/c++属于源代码。源代码和最终 目标文件中过渡的就是中间代码obj,实际上之所以需要中间代码,是你不可能一次得到目 标文件。比如说一个exe需要很多的cpp文件生成。而编译器一次只能编译一个cpp文件。这 样编译器编译好一个cpp以后会将其编译成obj,当所有必须要的cpp都编译成obj以后,再统 一link成所需要的exe,应该说缺少任意一个obj都会导致exe的链接失败.

7.附加题(20):使用八叉树算法把24位真彩色转化成 256色。24位真彩色包括 R,G,B颜色,每种颜色8 位。

在计算机中像素的计算单位一般是二进制的,256色,即2的8次方,因此我们也把256色图形叫做8位图;16位图,它可以表达2的16次方即65536种颜色;还有24位彩色图,可以表达16,777,216种颜色。

算法参考:http://blog.csdn.net/zuzubo/article/details/1597985

8.有 11 盆花,围成一圈,要求每次组合时,每盆花相邻的两盆花与上次不同,请问有多少排列方法? 

待解答。

9.2 只宠物合成,1只有 5技能,1 只有4 技能,每个技能有 a%概率遗传,请问刚好有7 个技能遗传成功的概率是?

只有

第一只5个技能 + 第二只2个技能:(a%)^7*C(4,2)

第一只4个技能 + 第二只3个技能:(a%)^7*C(5,4)*C(4,3)

第一只3个技能 + 第二只4个技能:(a%)^7*C(5,3)

加起来就可以了。

10.输出结果为?

#include <iostream>
using namespace std;
class A
{
public:A(){cout<<"1";}A(A &a){cout <<"2";}virtual ~A() {cout<<"3";}
};class B:public A
{
public:B(){cout<<"4";}B(B &b){cout<<"5";}~B(){cout<<"6";}
};int main()
{A* pa = new B();delete pa;return 0;
}

1463

子类构造之前首先调用基类的构造函数,然后是子类的构造函数,析构的时候相反,注意基类的析构函数声明为virtual才可以.

剑指XX游戏(二) - 网易2011笔试题详解相关推荐

  1. 网易2011笔试题详解

    http://blog.csdn.net/silangquan/article/details/18051675 网上弄到的一份题,不是很完整,边猜边做. 1.写出运行结果 char array[] ...

  2. 剑指XX游戏(七) - 不拼搏,枉少年

    不拼搏,枉少年 网易游戏2014年实习生招聘. 过程:无电面,笔试半小时,两道算法题,面试一小时. 结果:7进2,扑街. 这是我最接近网易游戏的一次. 下面大部分的内容是没有答上来的. 1.算法题:W ...

  3. 蘑菇街2015校招 Java研发笔试题 详解,2015java

    蘑菇街2015校招 Java研发笔试题 详解,2015java 1. 对进程和线程描述正确的是( ) A.  父进程里的所有线程共享相同的地址空间,父进程的所有子进程共享相同的地址空间. B.  改变 ...

  4. 剑指XX游戏(一) - 寻找自己的节奏

    从一次面试说起 昨天下午接到的国内一家比较大的游戏公司面试通知,晚上打印好新的简历,今天早上7点半起床从B城赶到C城,海上雾很大.提前十分钟到达面试的地点.等了会,技术总监直接出来面试.下面是一些基本 ...

  5. c语言进阶(3)——指针进阶笔试题详解

    1.指针和数组笔试题解析 关键:数组名在两种情况下是指整个数组: (1)sizeof(数组名)(2)&数组名 其它的情况下,都是代表数组的首元素地址. 例题 1 :一维数组 int main( ...

  6. 2018 年百度校招笔试题详解

    C++ 后置++ 重载 只会调用A的func() 记住大端是反过来的,小端是正的 虚函数不能申请为构造函数 C++ 多态 仔细看,C选项是C语言的内存分配. 注意是选错误的,注意一定是 剑指offer ...

  7. mysql 笔试题_MySQL笔试题详解(一)(中等难度)

    有一位学生在找数据分析工作的时候,遇到一个笔试题,内容如下: 现有注册用户表table_user,有两个字段:user_id(用户id).reg_tm(注册时间).有订单表table_order,有三 ...

  8. 剑指XX游戏(六) - 轻松搞定面试中的红黑树问题

    版权所有,转载请注明出处,谢谢! http://blog.csdn.net/silangquan/article/details/18655795 连续两次面试都问到了红黑树,关键两次都没有答好,这次 ...

  9. 2018 美团校招笔试题详解

    栈必考题目 栈和队列必考题目 不选安全性,可以猜出是ABD 操作系统死锁的题目经常考 这题也是一道必考题 二叉树必考题 第一张抽出红的,第二张抽出黑的,概率是P=1/2* 26/51 第一张抽出黑的, ...

最新文章

  1. DM368开发 -- Bootloader 开发(转毕设)
  2. 搜推广遇上用户画像:Lookalike相似人群拓展算法
  3. ITK:图像重新取样
  4. 计算机用户名密码策略,设置域用户帐户密码策略
  5. python socket epoll
  6. python用xlrd怎么清洗数据_利用Python进行数据清洗
  7. 使用ASP.NET AJAX Control Toolkit中的NoBot控件拒绝垃圾发布程序 【转载】
  8. spring cloud gateway Unhandled failure: Only one connection receive subscriber allowed.
  9. 红帽linux64系统下载,红帽Linux 8.0 iso-RHEL 8.0 64位下载|RHEL 8.0 64位 - 爱学府软件园...
  10. VOC2007/2012数据集解析
  11. 华为y220t android版本升级,华为 Y220T 刷机详细图文教程
  12. 快速排序c语言实现,快速排序——C语言实现
  13. C#+ AE实现地图注记功能
  14. 云服务器延迟测试,云服务器网络延迟和丢包
  15. [C/C++]宽字符与控制台程序
  16. benchmark在postgresql上的安装及使用
  17. 来了!全球三个首次5G技术实现; 辽宁省完成5G投资36.4亿元; 中兴发布白皮书; 7月国内5G手机出货1391.1万...
  18. 【BugkuCTF】Web--never give up
  19. 【视频号推广】小程序怎么申请推广,以及怎么给自己的视频号推广
  20. python中查找文件当前位置的命令为tell()_Python文件处理之seek(), tell()用法...

热门文章

  1. python中的df是什么意思_python df遍历的N种方式
  2. 每日10行代码82:网上购物活动满减凑单计算器
  3. RGB565 与 RGB888的相互转换
  4. c语言多进程编写龟兔赛跑程序,龟兔赛跑(多线程练习题)
  5. #define 和typedef的区别
  6. 三、REPL(交互式解释器)
  7. python 的 int() 函数
  8. 如何查SCI期刊的影响因子与排名
  9. YOLOv5电车识别 电瓶车识别
  10. 关于PHP程序员技术职业生涯规划--swool大神韩天峰