商汤科技2018秋招嵌入式软件工程师笔试第一场

时长:120分钟 总分:100分

228浏览 2人已完成答题

题型介绍
题型 单选题 判断题 简答题
数量 5 5 3
1.
从字符串中“aecbcda”找出不重复的字符组成的顺序子串“aecbd”,...
问题详情

从字符串中“aecbcda”找出不重复的字符组成的顺序子串“aecbd”,用最优的时空复杂度。

答题说明:该题为手动判卷,答案只要写对即可,不用严格满足字符比对。
2.
N个数(其中数可重复),求出其中第m大的数。(可写出多种想法以及其适用场景...
问题详情

N个数(其中数可重复),求出其中第m大的数。(可写出多种想法以及其适用场景,但至少写一种你最中意的那个想法)

答题说明:该题为手动判卷,答案只要写对即可,不用严格满足字符比对。
3.
我们需要编写一个图像相关的应用程序,需要处理大量图形(shape)信息,图...
问题详情

我们需要编写一个图像相关的应用程序,需要处理大量图形(shape)信息,图形有矩形(Rectangle),正方形(Square), 圆形(circle)等种类,程序需要能够计算这些图形的面积,并且在某个设备上面绘制出来。
1) 请使用面向对象的方法进行设计,编写可能需要的类。
2 square是否应该继承Rectangle,为什么?

答题说明:该题为手动判卷,答案只要写对即可,不用严格满足字符比对。
4.
下列哪两条指令构成RAW型依赖关系?
问题详情




5.
对于乱序执行的处理器,下列哪个流水线阶段是乱序执行的?
问题详情




6.
关于NUMA架构,下列描述正确的是
问题详情




7.
下面伪代码程序: Class Base 构造函...
问题详情

下面伪代码程序:

Class Base

构造函数:Base(int i) { std::cout << i }

Class Base1: virtual public Base

构造函数:Base1(int i, int j=0) : Base(j) { std::cout << i }

Class Base2: virtual public Base

构造函数:Base2(int i, int j=0) : Base(j) { std::cout << i }

Class MM : public Base2, public Base1

构造函数:MM(int a, int b, int c, int d) : mem1(a), mem2(b), Base1(c),Base2(d),Base(a)

                                { std::cout << b }

       成员变量:

                     Base2 mem2

                     Base1 mem1

那么析构对象MM objD (1, 2, 3, 4)的输出为




8.
关于this指针使用说法错误的是
问题详情




9.
程序的局部变量存在于[$##$]中,全局变量存在于[$##$]中,动态申请...
问题详情

程序的局部变量存在于()中,全局变量存在于()中,动态申请数据存在于()中,变量放在堆区与栈区的区别是()。
10.
请写一个严谨的宏”MAX”,返回两个参数中较大的一个:[$##$]
问题详情

请写一个严谨的宏”MAX”,返回两个参数中较大的一个:()
11.
如何防止头文件被重复引用:[$##$]
问题详情

如何防止头文件被重复引用:()
12.
以下代码打印出的是:[$##$] char *p = new char...
问题详情

以下代码打印出的是:()
char *p = new char[10] 
printf("%d\n", sizeof(p)) 

13.
若一组记录的排序码为(32, 1, 52, 25, 88, 56),则利用...
问题详情

若一组记录的排序码为(32, 1, 52, 25, 88, 56),则利用快排的方法从小到大排序,以第一个记录为基准得到的一次划分结果为:()