由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 分享NVIDIA的第一轮面试题
相关主题
请教一道题问道G家算法题
问个编程,系统,网络有关的综合问题。一道难题
bfs vs dfs面完了G
请教个C++编程思路fb面经
请教一个系统设计问题 (转载)LC的难度级别怎么定的?
OOD amazon questionsgoogle面经(挂了)
再发两道F电面题interview design question: how to design a high through put queue system
Facebook电面题目贡献个系统设计题兼讨论
相关话题的讨论汇总
话题: const话题: car话题: int话题: obj话题: thecar
进入JobHunting版参与讨论
1 (共1页)
u*****o
发帖数: 1224
1
话说我前几天去了学校的campus fair, 看到了nvidia的小booth那里在发卷子做题。现
场那个火爆呀,6个座位永远是满满的,很多人站着答,我才知道这家真是popular呀。
我要了一份卷子,发现好几题都不会。。就没交卷,现在和大家分享一下。因为需要我
一点点打字,所以我只写有点难度的吧。
1. what will be printed by the following code
struct Object{
unsigned char x, y, z, w;
};
int main(){
Object obj;
obj.x = 0x11;
obj.y = 0x22;
obj.z = 0x33;
obj.w = 0x44;
char* p = &obj;
for(int i=0; i<4; i++){
printf("%0xn",*((unsigned short*)++p));
}
return 0;
}
话说这能compile吗? char* p = &obj; 这句用char pointer指obj的地址,看得我很
苦恼呀
2. explain difference between is-a and has-a relationship, if you have a
list class and want to build a queue class, which of the relationship would
you use and why?
我赶脚着是has-a, 对吗?
3. what's wrong with this code, find at least 3 mistakes
class TrackedObject{
struct Position{
int x;
int y;
}
Position p;
const int id;
void display(){
cout << id <<" "<< p << endl;
}
};
struct Car: TrackedObject{
int color;
};
void doStuff(const Car &theCar){
theCar.display();
}
int main(){
Car c;
c.id = 9;
c.Position = (100,200);
c.color = 1;
doStuff(c);
}
这个感觉const Car &theCar不太对,这里的inheritance有点问题吧?
c.id = 9; 这个也不对吧,c既然是const,应该不能改的?
还有啥? 我基础语法知识不行,各种oop看的我头大。。。
q*******z
发帖数: 62
2
最后一题
1.c.id 是const没法改?
2.Position 没有定义(a,b)的constructor 和 << operator?
3.display() 不是const函数所以没法用在const对象上?
请大牛指教
s***e
发帖数: 403
3
题目很基础。
第一题考堆栈结构的。参考csapp
第二题queue不能满足list的所有操作,因此是has-a
第三题int y后面花括号少一个分号,const id需要通过构造函数初始化,cout和endl
在std名字空间里。TrackedObject里面的东西全都是private的。Position没有重载
operator<<无法从cout输出。至于Position有没有constructor是代码好不好的标准,
和对不对无关。继承没有标明默认private.theCar.display()中theCar是const的,需
要void display() const。c.id给const成员赋值也是错的。
c*****t
发帖数: 48
4
第二题 queue is also a list, so it should be is-a?

endl

【在 s***e 的大作中提到】
: 题目很基础。
: 第一题考堆栈结构的。参考csapp
: 第二题queue不能满足list的所有操作,因此是has-a
: 第三题int y后面花括号少一个分号,const id需要通过构造函数初始化,cout和endl
: 在std名字空间里。TrackedObject里面的东西全都是private的。Position没有重载
: operator<<无法从cout输出。至于Position有没有constructor是代码好不好的标准,
: 和对不对无关。继承没有标明默认private.theCar.display()中theCar是const的,需
: 要void display() const。c.id给const成员赋值也是错的。

s***e
发帖数: 403
5
我不清楚具体的说法。
queue的话应该是FIFO队列,list应该指链表。
那么queue的操作链表支持,链表的操作queue不完全支持。
这样就应该是一个“用list实现queue”的问题。
那么就应该是
class queue : private list
那么这是一个has-a的实现。

【在 c*****t 的大作中提到】
: 第二题 queue is also a list, so it should be is-a?
:
: endl

a***m
发帖数: 5037
6
题目很简单 第一题 那个 char* p = &obj; 按c 可以编译
面 nvidia 这种半导体公司 需要大量深入学习 c 的细节 多做点c online test
p****U
发帖数: 109
7
试了一下第一题 c++ 我用的编译器下不能编译, 要强制转换一下类型才能编译。 我
以为输出会是第一个是2233n, 结果是3322n。 高位低位分不清了,好伤心。
p****c
发帖数: 35
8
第一题,i= 3的时候,*p应该输出什么呀?貌似p已经指向p本身的最后一个b
yte了吧。
g*******s
发帖数: 2963
9
最讨厌这种语法题。什么组啊~
n*****o
发帖数: 849
10
"theCar.display()中theCar是const的,需要void display() const。"
这个不准确吧, theCar只是const reference,如果display是public的,那这个调用应该
没有问题.问题就是出现在display是个private函数,不能在全局性的doStaff()里面调用

endl

【在 s***e 的大作中提到】
: 题目很基础。
: 第一题考堆栈结构的。参考csapp
: 第二题queue不能满足list的所有操作,因此是has-a
: 第三题int y后面花括号少一个分号,const id需要通过构造函数初始化,cout和endl
: 在std名字空间里。TrackedObject里面的东西全都是private的。Position没有重载
: operator<<无法从cout输出。至于Position有没有constructor是代码好不好的标准,
: 和对不对无关。继承没有标明默认private.theCar.display()中theCar是const的,需
: 要void display() const。c.id给const成员赋值也是错的。

相关主题
OOD amazon questions问道G家算法题
再发两道F电面题一道难题
Facebook电面题目面完了G
进入JobHunting版参与讨论
n*****o
发帖数: 849
11
基本上这些是最基本的C++概念了,如果你觉得有困难,建议看看入门级宝典:
Effective C++:55 specific ways

【在 u*****o 的大作中提到】
: 话说我前几天去了学校的campus fair, 看到了nvidia的小booth那里在发卷子做题。现
: 场那个火爆呀,6个座位永远是满满的,很多人站着答,我才知道这家真是popular呀。
: 我要了一份卷子,发现好几题都不会。。就没交卷,现在和大家分享一下。因为需要我
: 一点点打字,所以我只写有点难度的吧。
: 1. what will be printed by the following code
: struct Object{
: unsigned char x, y, z, w;
: };
: int main(){
: Object obj;

s***e
发帖数: 403
12
不对。
因为theCar.display()其实会编译成
__classTrackedObject_display(TrackedObject* this);
而你传入的是const指针。这样你就discard qualifier了。

调用

【在 n*****o 的大作中提到】
: "theCar.display()中theCar是const的,需要void display() const。"
: 这个不准确吧, theCar只是const reference,如果display是public的,那这个调用应该
: 没有问题.问题就是出现在display是个private函数,不能在全局性的doStaff()里面调用
:
: endl

s***e
发帖数: 403
13
查big endian和small endian

【在 p****U 的大作中提到】
: 试了一下第一题 c++ 我用的编译器下不能编译, 要强制转换一下类型才能编译。 我
: 以为输出会是第一个是2233n, 结果是3322n。 高位低位分不清了,好伤心。

s***e
发帖数: 403
14
不对。堆栈本身是从内存高端向下的,但是堆栈内每个元素的内容仍然是从低端向上的。

【在 p****c 的大作中提到】
: 第一题,i= 3的时候,*p应该输出什么呀?貌似p已经指向p本身的最后一个b
: yte了吧。

y*u
发帖数: 111
15
请问为什么第一次P会指向33?

的。

【在 s***e 的大作中提到】
: 不对。堆栈本身是从内存高端向下的,但是堆栈内每个元素的内容仍然是从低端向上的。
s***e
发帖数: 403
16
他是++p,不是p++

【在 y*u 的大作中提到】
: 请问为什么第一次P会指向33?
:
: 的。

y*u
发帖数: 111
17
指针不应该是4bytes吗?为什么每次++只移动了1byte?

【在 s***e 的大作中提到】
: 他是++p,不是p++
S**I
发帖数: 15689
18
C学的太差,回去重学。

【在 y*u 的大作中提到】
: 指针不应该是4bytes吗?为什么每次++只移动了1byte?
c********p
发帖数: 1969
19
mark
c********p
发帖数: 1969
20
mark
1 (共1页)
进入JobHunting版参与讨论
相关主题
贡献个系统设计题兼讨论请教一个系统设计问题 (转载)
请教,c++ primer plus是要先看完再刷题吗?OOD amazon questions
弱问OJ的Surrounded Regions那题再发两道F电面题
Nvidia 3rd phone interview and Amazon offerFacebook电面题目
请教一道题问道G家算法题
问个编程,系统,网络有关的综合问题。一道难题
bfs vs dfs面完了G
请教个C++编程思路fb面经
相关话题的讨论汇总
话题: const话题: car话题: int话题: obj话题: thecar