由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 报个电面的面经和据信吧, 求安慰
相关主题
求问CC150书上16.9的“multiple of alignment”是什么意思??请教个C++编程思路
CarerCup 书里面的关于memory的一道题A malloc/free question using C/C++
我最喜欢问的问题,怎样检查out of memory在子函数内开内存,返回主函数指针然后释放空间是不是很糟糕的(转载)
bloomberg onsite一个小问题,请高人指点!
问一道题 实现malloc有没有人同觉得Recover Binary Search Tree的solution using O(n) space并不是那么straight forward么?
how to implement malloc?有没有人面过citrix?顺便也求网上面试经验
什么情况下pass by reference比pass by pointer好?求助:面试题
FB第二轮电面记录Interview questions, Bloomberg
相关话题的讨论汇总
话题: void话题: align话题: ptr话题: newptr话题: p2
进入JobHunting版参与讨论
1 (共1页)
f****s
发帖数: 74
1
calxeda的电面就两个人,一人一题。
1. some_struct* p=NULL;
p->some_member;
问会发生什么?答:会编译通过,但运行会出问题,继续问为什么会出问题,怎么样出
问题,扯了os,trap,interrupt一堆。最后又问,没有os的imbeded system怎么处理
?瞎扯了boot loader,硬件interrupt handler什么的。面完上机试了一下,不会出错
,编译器优化了。
2.问memory alignment,如何allocate一块memory总是以64的整数倍地址开始。我就说
naive的方法是用malloc然后检查地址,他所不naive,问怎么样实现,我想了一会说必
须把原有的地址存下来,就多allocate一点把原有的地址存存下来,当用户调用free的
时候就用这个地址。感觉答的还不错,后来写code,出了个bug,经指点,纠正了。
今天收到hr的据信。感觉小公司就问些实际应用的东西,真不容易啊。
d**********x
发帖数: 4083
2
说说第二题你怎么做的吧
记得当年Google在北京的笔试题就有这个

【在 f****s 的大作中提到】
: calxeda的电面就两个人,一人一题。
: 1. some_struct* p=NULL;
: p->some_member;
: 问会发生什么?答:会编译通过,但运行会出问题,继续问为什么会出问题,怎么样出
: 问题,扯了os,trap,interrupt一堆。最后又问,没有os的imbeded system怎么处理
: ?瞎扯了boot loader,硬件interrupt handler什么的。面完上机试了一下,不会出错
: ,编译器优化了。
: 2.问memory alignment,如何allocate一块memory总是以64的整数倍地址开始。我就说
: naive的方法是用malloc然后检查地址,他所不naive,问怎么样实现,我想了一会说必
: 须把原有的地址存下来,就多allocate一点把原有的地址存存下来,当用户调用free的

f****s
发帖数: 74
3
我是这么做的:
void* malloc64(size_t size)
{
void* ptr=malloc(size+64);
void* newptr=(void*)((ptr/64+1)*64));
*(((int*)newptr)-1)=ptr;
return newptr;
}
void free64(void* ptr)
{
void* ptr= (void*)(*(((int*)newptr)-1));
free(ptr);
}

【在 d**********x 的大作中提到】
: 说说第二题你怎么做的吧
: 记得当年Google在北京的笔试题就有这个

d**********x
发帖数: 4083
4
还是面大公司吧
小公司想要的是一去就能在他们的系统上干活的人。

【在 f****s 的大作中提到】
: 我是这么做的:
: void* malloc64(size_t size)
: {
: void* ptr=malloc(size+64);
: void* newptr=(void*)((ptr/64+1)*64));
: *(((int*)newptr)-1)=ptr;
: return newptr;
: }
: void free64(void* ptr)
: {

f****s
发帖数: 74
5
大侠有什么公司推荐不?大公司投了一圈,没人理啊。下午要去面一个contract,一个
小时45块钱那种。之前contract的老印想压到38被我拒绝了
面这种contract需要注意什么不?

【在 d**********x 的大作中提到】
: 还是面大公司吧
: 小公司想要的是一去就能在他们的系统上干活的人。

d**********x
发帖数: 4083
6
不知道contract是什么样子的。。
加QQ群。。2106889636。。

【在 f****s 的大作中提到】
: 大侠有什么公司推荐不?大公司投了一圈,没人理啊。下午要去面一个contract,一个
: 小时45块钱那种。之前contract的老印想压到38被我拒绝了
: 面这种contract需要注意什么不?

f****s
发帖数: 74
7
怎么加不进去啊。说没这个号?

【在 d**********x 的大作中提到】
: 不知道contract是什么样子的。。
: 加QQ群。。2106889636。。

d**********x
发帖数: 4083
8
167615205..
我擦,我不知道刚才贴的是什么。。

【在 f****s 的大作中提到】
: 怎么加不进去啊。说没这个号?
f****s
发帖数: 74
9
呵呵,请求发送了。

【在 d**********x 的大作中提到】
: 167615205..
: 我擦,我不知道刚才贴的是什么。。

j*****y
发帖数: 1071
10
void * mymalloc(int size, int align) // align is a power of 2
{
void * p = (void *)malloc(size + align - 1 + sizeof(void *));
void * p1 = (void *)((((int)p) + align -1 + sizeof(void *)) & (~(align
- 1)));
void **p2 = (void **)p1;
p2[-1] = p;
return p1;
}
void myfree(void *p)
{
void **p2 = (void **) p;
free(p2[-1]);
}

【在 f****s 的大作中提到】
: calxeda的电面就两个人,一人一题。
: 1. some_struct* p=NULL;
: p->some_member;
: 问会发生什么?答:会编译通过,但运行会出问题,继续问为什么会出问题,怎么样出
: 问题,扯了os,trap,interrupt一堆。最后又问,没有os的imbeded system怎么处理
: ?瞎扯了boot loader,硬件interrupt handler什么的。面完上机试了一下,不会出错
: ,编译器优化了。
: 2.问memory alignment,如何allocate一块memory总是以64的整数倍地址开始。我就说
: naive的方法是用malloc然后检查地址,他所不naive,问怎么样实现,我想了一会说必
: 须把原有的地址存下来,就多allocate一点把原有的地址存存下来,当用户调用free的

相关主题
how to implement malloc?请教个C++编程思路
什么情况下pass by reference比pass by pointer好?A malloc/free question using C/C++
FB第二轮电面记录在子函数内开内存,返回主函数指针然后释放空间是不是很糟糕的(转载)
进入JobHunting版参与讨论
T*****9
发帖数: 3015
11
pat pat, Move on
d**********x
发帖数: 4083
12
我觉得这个小公司这种风格的话可能是想要在这个基础上谈memory pool的实现

align

【在 j*****y 的大作中提到】
: void * mymalloc(int size, int align) // align is a power of 2
: {
: void * p = (void *)malloc(size + align - 1 + sizeof(void *));
: void * p1 = (void *)((((int)p) + align -1 + sizeof(void *)) & (~(align
: - 1)));
: void **p2 = (void **)p1;
: p2[-1] = p;
: return p1;
: }
: void myfree(void *p)

j*****y
发帖数: 1071
13
再写一个如何实现 malloc, free ?

【在 d**********x 的大作中提到】
: 我觉得这个小公司这种风格的话可能是想要在这个基础上谈memory pool的实现
:
: align

f****s
发帖数: 74
14
calxeda的电面就两个人,一人一题。
1. some_struct* p=NULL;
p->some_member;
问会发生什么?答:会编译通过,但运行会出问题,继续问为什么会出问题,怎么样出
问题,扯了os,trap,interrupt一堆。最后又问,没有os的imbeded system怎么处理
?瞎扯了boot loader,硬件interrupt handler什么的。面完上机试了一下,不会出错
,编译器优化了。
2.问memory alignment,如何allocate一块memory总是以64的整数倍地址开始。我就说
naive的方法是用malloc然后检查地址,他所不naive,问怎么样实现,我想了一会说必
须把原有的地址存下来,就多allocate一点把原有的地址存存下来,当用户调用free的
时候就用这个地址。感觉答的还不错,后来写code,出了个bug,经指点,纠正了。
今天收到hr的据信。感觉小公司就问些实际应用的东西,真不容易啊。
d**********x
发帖数: 4083
15
说说第二题你怎么做的吧
记得当年Google在北京的笔试题就有这个

【在 f****s 的大作中提到】
: calxeda的电面就两个人,一人一题。
: 1. some_struct* p=NULL;
: p->some_member;
: 问会发生什么?答:会编译通过,但运行会出问题,继续问为什么会出问题,怎么样出
: 问题,扯了os,trap,interrupt一堆。最后又问,没有os的imbeded system怎么处理
: ?瞎扯了boot loader,硬件interrupt handler什么的。面完上机试了一下,不会出错
: ,编译器优化了。
: 2.问memory alignment,如何allocate一块memory总是以64的整数倍地址开始。我就说
: naive的方法是用malloc然后检查地址,他所不naive,问怎么样实现,我想了一会说必
: 须把原有的地址存下来,就多allocate一点把原有的地址存存下来,当用户调用free的

f****s
发帖数: 74
16
我是这么做的:
void* malloc64(size_t size)
{
void* ptr=malloc(size+64);
void* newptr=(void*)((ptr/64+1)*64));
*(((int*)newptr)-1)=ptr;
return newptr;
}
void free64(void* ptr)
{
void* ptr= (void*)(*(((int*)newptr)-1));
free(ptr);
}

【在 d**********x 的大作中提到】
: 说说第二题你怎么做的吧
: 记得当年Google在北京的笔试题就有这个

d**********x
发帖数: 4083
17
还是面大公司吧
小公司想要的是一去就能在他们的系统上干活的人。

【在 f****s 的大作中提到】
: 我是这么做的:
: void* malloc64(size_t size)
: {
: void* ptr=malloc(size+64);
: void* newptr=(void*)((ptr/64+1)*64));
: *(((int*)newptr)-1)=ptr;
: return newptr;
: }
: void free64(void* ptr)
: {

f****s
发帖数: 74
18
大侠有什么公司推荐不?大公司投了一圈,没人理啊。下午要去面一个contract,一个
小时45块钱那种。之前contract的老印想压到38被我拒绝了
面这种contract需要注意什么不?

【在 d**********x 的大作中提到】
: 还是面大公司吧
: 小公司想要的是一去就能在他们的系统上干活的人。

d**********x
发帖数: 4083
19
不知道contract是什么样子的。。
加QQ群。。2106889636。。

【在 f****s 的大作中提到】
: 大侠有什么公司推荐不?大公司投了一圈,没人理啊。下午要去面一个contract,一个
: 小时45块钱那种。之前contract的老印想压到38被我拒绝了
: 面这种contract需要注意什么不?

f****s
发帖数: 74
20
怎么加不进去啊。说没这个号?

【在 d**********x 的大作中提到】
: 不知道contract是什么样子的。。
: 加QQ群。。2106889636。。

相关主题
一个小问题,请高人指点!求助:面试题
有没有人同觉得Recover Binary Search Tree的solution using O(n) space并不是那么straight forward么?Interview questions, Bloomberg
有没有人面过citrix?顺便也求网上面试经验大家新年好。 请教一个 c interview question (转载)
进入JobHunting版参与讨论
d**********x
发帖数: 4083
21
167615205..
我擦,我不知道刚才贴的是什么。。

【在 f****s 的大作中提到】
: 怎么加不进去啊。说没这个号?
f****s
发帖数: 74
22
呵呵,请求发送了。

【在 d**********x 的大作中提到】
: 167615205..
: 我擦,我不知道刚才贴的是什么。。

j*****y
发帖数: 1071
23
void * mymalloc(int size, int align) // align is a power of 2
{
void * p = (void *)malloc(size + align - 1 + sizeof(void *));
void * p1 = (void *)((((int)p) + align -1 + sizeof(void *)) & (~(align
- 1)));
void **p2 = (void **)p1;
p2[-1] = p;
return p1;
}
void myfree(void *p)
{
void **p2 = (void **) p;
free(p2[-1]);
}

【在 f****s 的大作中提到】
: calxeda的电面就两个人,一人一题。
: 1. some_struct* p=NULL;
: p->some_member;
: 问会发生什么?答:会编译通过,但运行会出问题,继续问为什么会出问题,怎么样出
: 问题,扯了os,trap,interrupt一堆。最后又问,没有os的imbeded system怎么处理
: ?瞎扯了boot loader,硬件interrupt handler什么的。面完上机试了一下,不会出错
: ,编译器优化了。
: 2.问memory alignment,如何allocate一块memory总是以64的整数倍地址开始。我就说
: naive的方法是用malloc然后检查地址,他所不naive,问怎么样实现,我想了一会说必
: 须把原有的地址存下来,就多allocate一点把原有的地址存存下来,当用户调用free的

T*****9
发帖数: 3015
24
pat pat, Move on
d**********x
发帖数: 4083
25
我觉得这个小公司这种风格的话可能是想要在这个基础上谈memory pool的实现

align

【在 j*****y 的大作中提到】
: void * mymalloc(int size, int align) // align is a power of 2
: {
: void * p = (void *)malloc(size + align - 1 + sizeof(void *));
: void * p1 = (void *)((((int)p) + align -1 + sizeof(void *)) & (~(align
: - 1)));
: void **p2 = (void **)p1;
: p2[-1] = p;
: return p1;
: }
: void myfree(void *p)

j*****y
发帖数: 1071
26
再写一个如何实现 malloc, free ?

【在 d**********x 的大作中提到】
: 我觉得这个小公司这种风格的话可能是想要在这个基础上谈memory pool的实现
:
: align

a*******3
发帖数: 27
27
最安全,最elegant的是posix_memalign,其他各种山寨做法都不太好
1 (共1页)
进入JobHunting版参与讨论
相关主题
Interview questions, Bloomberg问一道题 实现malloc
大家新年好。 请教一个 c interview question (转载)how to implement malloc?
问一个placement new 和 operator new的问题什么情况下pass by reference比pass by pointer好?
菜鸟求救 请大家看看我的代码有没有问题FB第二轮电面记录
求问CC150书上16.9的“multiple of alignment”是什么意思??请教个C++编程思路
CarerCup 书里面的关于memory的一道题A malloc/free question using C/C++
我最喜欢问的问题,怎样检查out of memory在子函数内开内存,返回主函数指针然后释放空间是不是很糟糕的(转载)
bloomberg onsite一个小问题,请高人指点!
相关话题的讨论汇总
话题: void话题: align话题: ptr话题: newptr话题: p2