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

时长:100分钟 总分:100分

129浏览 0人已完成答题

题型介绍
题型 单选题 多选题
数量 35 1
1.
假设整数0x12345678 存放在内存地址0x0开始的连续四个字节中 (即地址0x0到 0x3). 那么在以Little Endian字节序存储的memory中,地址0x3的地方存放的字节是:
问题详情




2.
对一个由A,B,C,D随机组成的序列进行哈弗曼编码,据统计,各个元素的概率分别为:P(A)=0.4,P(B)=0.35,P(C)=0.2,P(D)=0.05,请问该编码的平均期望编码长度为()bits?
问题详情




3.
以下代码输出的是__? int foo(int x,int y) { if(x<=0||y<=0) return 1 return 3*foo(x-1,y/2) } cout<<foo(3,5)<<endl
问题详情

以下代码输出的是__?
int foo(int x,int y)
{
    if(x<=0||y<=0)  return 1
    return 3*foo(x-1,y/2)
}
cout<<foo(3,5)<<endl




4.
给定下列程序,那么下面程序的的输出结果是多少?
问题详情

给定下列程序,那么执行printf("%\n",foo(20,13)) 的输出结果是多少?
int foo (int x,int y )
{
    if (x<=0││y<=0)
        return 1;
    return 3*foo(x-6,y/2);
}





5.
如果x=2014,下面函数的返回值是()
问题详情

如果x=2014,下面函数的返回值是()
int fun(unsigned int x){
     int n = 0
     while((x + 1){
         n++ 
         x = x | (x + 1)
     }
     return n
}




6.
以下代码的输出是()
问题详情

以下代码的输出是()
int a[5]={1,2,3,4,5}
int *ptr=(int*)(&a+1)
printf("%d,%d",*(a+1),*(ptr-1))





7.
在linux下64位c程序,请计算输出的三个sizeof分别是()
问题详情

在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
}




8.
下面关于迭代器失效的描述哪个是错误的()
问题详情




9.
函数fun的声明为int fun(int *p[4]),以下哪个变量可以作为fun的合法参数()
问题详情




10.
下面说法正确的是()
问题详情




11.
典型的创建Windows窗口过程的流程为()
问题详情




12.
下面哪个API返回的不属于windows内核对象()
问题详情




13.
用户双击鼠标时产生的消息序列,下面正确的是()
问题详情




14.
以下关于线程以下描述正确的是()
问题详情

以下关于线程以下描述正确的是()
1.windows线程创建时,默认绑定在1个特定的CPU上
2.可采用SetThreadAffinityMask接口设置线程与某个cpu绑定
3._beginthreadex比CreateThread创建线程安全是因为使用_beginthreadex会创建一个_tiddata,在调用一些诸如strtok函数时会将需要保护的数据存入_tiddata
4.使用_beginthread创建线程时,线程执行函数必须为_cdecl约束规范,而_beginthreadex指定的线程执行函数必须为_stdcall




15.
以下哪些线程同步锁可以为递归锁
问题详情

以下哪些线程同步锁可以为递归锁
1.信号量  2.读写锁   3.互斥量   4.事件   5.临界区(Critical Section)




16.
关于sendmessage和postmessage的区别,下面的说法错误的是()
问题详情




17.
关于WM_COPYDATA消息的处理,下面描述错误的是()
问题详情




18.
常用的windows进入点函数wWinMain共有四个参数,其中不包括以下哪种类型的参数()
问题详情




19.
下列windows消息中,优先级相对较低的是哪一个()
问题详情




20.
最小堆[0,3,2,5,7,4,6,8],在删除堆顶元素0之后,其结果是()
问题详情




21.
试问计算x(x(8))时需要计算()次x函数。
问题详情

设有递归算法如下,
int x(int n)
{
 if(n<=3)
     return 1
 else
     return x(n-2)+x(n-4)+1
}
试问计算x(x(8))时需要计算()次x函数。




22.
设一组初始记录关键字序列(Q,H,C,Y,P,A,M,S,R,D,F,X),则按字母升序的第一趟冒泡排序结束后的结果是()
问题详情




23.
堆排序的空间复杂度是(),堆排序中构建堆的时间复杂度是()。
问题详情




24.
若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别0和3。当从队列中删除一个元素,再加入两 个元素后,rear和front的值分别为()
问题详情




25.
请计算年龄,地区,学历,收入中对用户是否使用调查产品信息增益最大的属性
问题详情

如下表是用户是否使用某产品的调查结果() 
UID 年龄 地区 学历 收入 用户是否使用调查产品
1 北方 博士
2 北方 本科
3 南方 本科
4 北方 研究生

请计算年龄,地区,学历,收入中对用户是否使用调查产品信息增益最大的属性(Log23≈0.63)




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




27.
基于统计的分词方法为()
问题详情




28.
下列哪个不属于CRF模型对于HMM和MEMM模型的优势()
问题详情




29.
假设一个完整的扑克牌有52张牌,2黑色(黑葵和梅花)和2红色(方块和红心)。如果给你一副完整的牌,和半副牌(1红色和1黑色),则两种情况下抽两种牌都是红色的概率分别是多少()
问题详情

假设一个完整的扑克牌有52张牌,2黑色(黑葵和梅花)和2红色(方块和红心)。如果给你一副完整的牌,和半副牌(1红色和1黑色),则两种情况下抽两牌都是红色的概率分别是多少()




30.
在二分类问题中,当测试集的正例和负例数量不均衡时,以下评价方案哪个是相对不合理的()(假设 precision=TP/(TP+FP),recall=TP/(TP+FN)。)
问题详情




31.
下面关于ID3算法中说法错误的是()
问题详情




32.
圆内接三角形是锐角三角形概率是多少()
问题详情




33.
六个人排成一排,甲与乙不相邻,且甲与丙不相邻的不同排法数是多少()
问题详情




34.
在其他条件不变的前提下,以下哪种做法容易引起机器学习中的过拟合问题()
问题详情




35.
计算一个任意三角形的面积,S=&radic(p(p-a)(p-b)(p-c)),p=(a+b+c)/2,以下等价类测试用例中,不属于无效等价类的是()
问题详情




36.
下列排序算法的常规实现中,哪些空间复杂度是O(1)
问题详情