搜狗2015 C++工程师笔试题

小端法和大端法

1题:

假设整数0x12345678 存放在内存地址0x0开始的连续四个字节中 (即地址0x0到 0x3). 那么在以Little Endian字节序存储的memory中,地址0x3的地方存放的字节是:

正确答案: A   你的答案: D (错误)

0x12

0x34

0x56

0x78

解析:

a) Little-Endian就是低位字节排放在内存的低地址端, 高位字节排放在内存的高地址端。

b) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。

c) 网络字节序:TCP/IP各层协议将字节序定义为Big-Endian,因此TCP/IP协议中使用的字节序通常称之为网络字节序。

如果是 Little-Endian:0x0-0x3内存分别存放的是:0x78、0x560x34、0x12;

如果是  Big-Endian :0x0-0x3内存分别存放的是:0x12、0x340x56、0x78; 

sizeof

6 在linux下64位c程序,请计算输出的三个sizeof分别是()

void func(char str_arg[100])

{

     cout<<sizeof(str_arg)<<endl;

}

int main(int argc,char* argv[])

{

     char str[]="Hello";

     char *p=str;

     cout<<sizeof(str)<<endl;

     cout<<sizeof(p)<<endl;

     func("test");

     return 0;

}

正确答案: D   你的答案: B (错误)

5,5,8

6,6,4

6,8,4

6,8,8

sizeof对数组求长度为数组的真实长度,字符串数组的长度要加上最后的‘\0‘字符。

64位机器的指针占8个字节。

这里主要是区分sizeof运算符的测量对象
sizeof(str)测量的是字符数组的占用长度,注意字符串后还有个\0,所以是6
sizeof(p)测量的是指针的占用长度,64位系统下是8字节
sizeof(str_arg)测量的是指针长度,因为这里是形参。


MFC

典型的创建Windows窗口过程的流程为()

正确答案: A   你的答案: B (错误)

注册窗口类->创建窗口->显示窗口->更新窗口->消息循环

注册窗口类->创建窗口->更新窗口->显示窗口->消息循环

创建窗口->注册窗口类->更新窗口->显示窗口->消息循环

创建窗口->注册窗口类->显示窗口->更新窗口->消息循环

在屏幕上显示一个窗口的过程一般有以下步骤,这就是主程序的结构流程:
(1)得到应用程序的句柄(GetModuleHandle)。
(2)注册窗口类(RegisterClassEx)。在注册之前,要先填写RegisterClassEx的参数WNDCLASSEX结构。
(3)建立窗口(CreateWindowEx)。
(4)显示窗口(ShowWindows)。
(5)刷新窗口客户区(UpdateWindow)。
(6)进入无限的消息获取和处理的循环。首先获取消息(GetMessage),如果有消息到达,则将消息分派到回调函数处理(DispatchMessage),如果消息是WM_QUIT,则退出循环。

计算时间复杂度

26 假设某算法的计算时间可用递推关系式T(n)=2T(n/2)+n表示,则该算法的时间复杂度为()

正确答案: B   你的答案: B (正确)

O(logn)

O(n*logn)

O(n)

O(n^2)

T(2n) = 2t(n) + 2n

t(2n)/2n = t(n)/n + 1

令c(n) = t(n)/n

则 c(2n) = c(n) + 1

c(2n) - c(n) = 1

即 c(2^k) - c(2^(k-1)) = 1

累加求和 得

c(2^k) = c(1) + k

即 t(2^k)/(2^k) = c(1) + k

即 t(2^k) = (c(1) + k) * (2^k)

即t(n) = (c(1) + log2(n)) * n

时间: 2024-11-10 13:25:41

搜狗2015 C++工程师笔试题的相关文章

阿里巴巴2015研发工程师笔试题,带答案

欢迎对本文提出补充建议,可以在以下平台上我留言. 个人博客站点:www.anycodex.com/blog/ Csdn博客站点:http://my.csdn.net/?ref=toolbar 微博:http://weibo.com/1958069172/profile?topnav=1&wvr=5&user=1 1.int main(){ fork()||fork(); }共创建几个进程? 答:3个. [知识点] ? 一个现有进程可以调用fork函数创建一个新进程.由fork创建的新进程被

搜狗2016研发工程师笔试题中有关于机器学习的几个判断题及解析

1.SVM对噪声(如来自其他分布的噪声样本)鲁棒       错 SVM(支持向量机)本身对噪声具有一定的鲁棒性,但实验证明,是当噪声率低于一定水平(如40%)时噪声对SVM没有太大影响,算法仍有效,但随着噪声率的不断增加,分类器的识别率会降低.http://www.docin.com/p-749158537.html 拓展:SVM在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中. 在机器学习中,支持向量机(Support Vector Ma

搜狗2015C++工程师笔试题解题分析

试卷链接:搜狗2015 C++工程师笔试题. 1.假设整数0x12345678 存放在内存地址0x0开始的连续四个字节中 (即地址0x0到 0x3). 那么在以Little Endian字节序存储的memory中,地址0x3的地方存放的字节是: 0x12 0x34 0x56 0x78 分析:选D.小端法和大端法. a) Little-Endian就是低位字节排放在内存的低地址端, 高位字节排放在内存的高地址端. b) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地

Java工程师笔试题整理[校招篇]

隔着两个月即将开始校招了.你是不是也想借着这个机会崭露头角,拿到某些大厂的offer,赢取白富美.走上人生巅峰?当然如果你还没能打下Java基础,一定要先打好Java基础:如何一步一步的学Java - 学习编程 - 知乎专栏.然后再来看一下练习一下各大厂的面试笔试题目. 如果以下内容满足不了你,你还可以去看这篇: 2016校招编程题汇总 - 学习编程 - 知乎专栏 进入主要内容(主要内容整理来自牛客网:牛客网)(以下内容按照各大公司进行划分,对每一公司按照年份进行划分,如果想想下载以下内容,可以

前端试题-2016年阿里前端开发工程师笔试题6,7,8题的解法

2016年阿里前端开发工程师笔试题(只有题,没有答案): http://www.cnblogs.com/sdgf/archive/2015/08/18/4740698.html 第6题:请在____处填写答案,从而达到题目的要求 var arr = [1, 2, 3, 4, 5]; var result = arr.sort(_______________________________).join("+"); console.log(result); 解答:在排序当中,如果需要按照某

腾讯web前端开发工程师笔试题及答案

1. 如何实现事件委托? 首先要知道什么是事件委托. 考虑一个列表,在li的数量非常少的时候,为每一个li添加事件侦听当然不会存在太多性能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(当然只是一个解释,实际工作中很少遇到这么多li的情况),为每个li添加事件侦听就会对页面性能产生很大的影响. 就像下面这段代码: <!DOCTYPE HTML><html><head><meta charset="utf-8" /><ti

2014-07-29 Asp.Net 工程师 笔试题

一.选择题    1.下列描述错误的是() A  类不可以被多重继承而接口可以: B  抽象类自身可以定义成员而接口不可以: C  抽象类和接口都不能被实例化: D   一个类可以继承多个基类和多个基接口: 2.下列哪个名词和WebServices不直接相关() A  UDDI B  GUID C  WSDL D  SOAP 3.下列选项中,()是引用类型 A  enum B struct C  string D  Int 4.声明一个委托 public delegate int myCallB

iOS开发工程师笔试题

iOS开发工程师笔试题 分类: IOS 面试题2013-01-17 10:28 820人阅读 评论(0) 收藏 举报 随着iOS平台开发的职位的增加,笔试.面试也越来越有“套路”,这里我总结了一些面试题,多数是Objective-C的基础知识,适合于面试新人,答案是我自己答的,不准确的地方,欢迎指出. 1.   Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? Object-c的类不可以多重继承:可以实现多个接口,通过实

高级软件测试工程师笔试题

1.某目录下所有文件统一批量修改ip 2.获取登陆者自身ip 3.删除某目录下小于10b的文件 4.通过Linux执行MySQL脚本 5.监控某Java进程下所有线程数 6.QTP.watir与selenium的优劣对比 7.什么是回归测试,侧重点是什么 8.什么是场景下考虑性能测试 9.简述安全测试流程 10.a.建class表包括name,id b.插name=wonter,id=1到class表 c.查询id<2的所有名称 d.将以上操作通过存储过程形式写出 e.执行该存储过程 答案一周后