avatar
i*a
1
个人背景是fresh cs PhD。面试挺顺利,感觉都不错,主要围绕简历上的项目讨论。但
不幸被拒。Hiring manager说 definitely impressed with your interview,但只有
一个职位。说是把我推荐给其他组了。 这个是客气话不? 这种还有戏么?Recruiter
电话里也说过我被推荐给其他组了,但是都快一个月了,也没消息。Recruiter也从不
回email。是不是还没有其他组表示感兴趣? Anyway, move on了。
1. Read code to say which c routine function it is. Interviewer want to see
how you understand a program.
00009 void *
00010 f1(register const void *p1, register const void *p2,
00011 register size_t n1, register size_t n2,
00012 int (*f2)(const void *, const void *))
00013 {
00014 register const void *p3;
00015 register int n3;
00016
00017 while (n1 > 0) {
00018 p3 = (char *)p2 + n2 * (n1 >> 1);
00019 if ((n3 = (*f2)(p1, p3)) == 0)
00020 return (void *)p3;
00021 if (n3 >= 0) {
00022 p2 = (char *)p3 + n2;
00023 n1 = (n1 - 1) >> 1;
00024 } else
00025 n1 >>= 1;
00026 }
00027 return (void *)NULL;
00028 }
2. Design pattern used in your project.
3. Data structure used in your project?
4. Find the number of leading zero for a 64 bit long, given a function to
find the position of first set bit in a 32 bit integer.
4. Design a library routine to set a bit in a byte array.
5. Hex, Oct and binary of an integer.
6. What is register? Why register?
7. What is sizeof? Why sizeof?
8. x*7 without a multiplier in at least two ways.
9. What is provided by operating system?
9. Static keyword in c c++.
10. What is the difference between tcp and udp ? What is the same?
11. What is icmp? How to implement ping?
avatar
g*s
2
第8题我在别家被问过一模一样的,不过没有要两种方法
lz写的是哪两种方法?
avatar
r*h
3
x + (x<<1) + (x<<2)

(x<<3) - x
算两种方法吗

【在 g*******s 的大作中提到】
: 第8题我在别家被问过一模一样的,不过没有要两种方法
: lz写的是哪两种方法?

avatar
g*s
4
哦,看错了。我被问道的是不允许用算术运算符。

【在 r**h 的大作中提到】
: x + (x<<1) + (x<<2)
: 与
: (x<<3) - x
: 算两种方法吗

avatar
c*p
5
mark
avatar
g*e
6

那怎么做?

【在 g*******s 的大作中提到】
: 哦,看错了。我被问道的是不允许用算术运算符。
avatar
y*e
7
没有什么特别的了,fiscal year将近, 最近hiring freeze了。 估计要过了9月以后
才会好点。
avatar
g*s
8
先写加法。用xor和&之类的

【在 g*********e 的大作中提到】
:
: 那怎么做?

avatar
g*s
9
// compute i times j without arithmetic operators
int add(int i, int j)
{
int carry = i;
int sum = j;
// keep adding sum and carry
while(carry)
{
int temp = sum;
sum = temp ^ carry;
carry = temp & carry;
carry <<= 1;
}
return sum;
}
int times(int i, int j)
{
if(j==2)
return add(i,i);
return add(i, times(i, j-1));
}

【在 g*********e 的大作中提到】
:
: 那怎么做?

avatar
r*h
10
def add(a, b):
while b > 0:
a, b = a^b, (a&b)<<1
return a
不过不适用于负数
不知道负数的时候有什么办法吗?

【在 g*********e 的大作中提到】
:
: 那怎么做?

avatar
i*k
11
请问楼主面的是哪个组呢

Recruiter
see

【在 i******a 的大作中提到】
: 个人背景是fresh cs PhD。面试挺顺利,感觉都不错,主要围绕简历上的项目讨论。但
: 不幸被拒。Hiring manager说 definitely impressed with your interview,但只有
: 一个职位。说是把我推荐给其他组了。 这个是客气话不? 这种还有戏么?Recruiter
: 电话里也说过我被推荐给其他组了,但是都快一个月了,也没消息。Recruiter也从不
: 回email。是不是还没有其他组表示感兴趣? Anyway, move on了。
: 1. Read code to say which c routine function it is. Interviewer want to see
: how you understand a program.
: 00009 void *
: 00010 f1(register const void *p1, register const void *p2,
: 00011 register size_t n1, register size_t n2,

avatar
r*n
12
为什么不适用于负数呢?
在c/c++里面负数用two's complement表示,我run了下这个程序,输入是负数,结果也
是正确的。
不过不太理解这些题的意义,cpu能一下就算出来的东西,非要写loop来实现。

【在 r**h 的大作中提到】
: def add(a, b):
: while b > 0:
: a, b = a^b, (a&b)<<1
: return a
: 不过不适用于负数
: 不知道负数的时候有什么办法吗?

avatar
i*a
13
面的是corp research。
现在又收到CDMA的面试邀请。这个。。。。算是浪费资源不 面了又面,就不能直接发
offer么 呵呵

【在 i*****k 的大作中提到】
: 请问楼主面的是哪个组呢
:
: Recruiter
: see

avatar
g*e
14

那就用c++模拟门电路运算得了

【在 r**h 的大作中提到】
: def add(a, b):
: while b > 0:
: a, b = a^b, (a&b)<<1
: return a
: 不过不适用于负数
: 不知道负数的时候有什么办法吗?

avatar
i*a
15
个人背景是fresh cs PhD。面试挺顺利,感觉都不错,主要围绕简历上的项目讨论。但
不幸被拒。Hiring manager说 definitely impressed with your interview,但只有
一个职位。说是把我推荐给其他组了。 这个是客气话不? 这种还有戏么?Recruiter
电话里也说过我被推荐给其他组了,但是都快一个月了,也没消息。Recruiter也从不
回email。是不是还没有其他组表示感兴趣? Anyway, move on了。
1. Read code to say which c routine function it is. Interviewer want to see
how you understand a program.
00009 void *
00010 f1(register const void *p1, register const void *p2,
00011 register size_t n1, register size_t n2,
00012 int (*f2)(const void *, const void *))
00013 {
00014 register const void *p3;
00015 register int n3;
00016
00017 while (n1 > 0) {
00018 p3 = (char *)p2 + n2 * (n1 >> 1);
00019 if ((n3 = (*f2)(p1, p3)) == 0)
00020 return (void *)p3;
00021 if (n3 >= 0) {
00022 p2 = (char *)p3 + n2;
00023 n1 = (n1 - 1) >> 1;
00024 } else
00025 n1 >>= 1;
00026 }
00027 return (void *)NULL;
00028 }
2. Design pattern used in your project.
3. Data structure used in your project?
4. Find the number of leading zero for a 64 bit long, given a function to
find the position of first set bit in a 32 bit integer.
4. Design a library routine to set a bit in a byte array.
5. Hex, Oct and binary of an integer.
6. What is register? Why register?
7. What is sizeof? Why sizeof?
8. x*7 without a multiplier in at least two ways.
9. What is provided by operating system?
9. Static keyword in c c++.
10. What is the difference between tcp and udp ? What is the same?
11. What is icmp? How to implement ping?
avatar
g*s
16
第8题我在别家被问过一模一样的,不过没有要两种方法
lz写的是哪两种方法?
avatar
r*h
17
x + (x<<1) + (x<<2)

(x<<3) - x
算两种方法吗

【在 g*******s 的大作中提到】
: 第8题我在别家被问过一模一样的,不过没有要两种方法
: lz写的是哪两种方法?

avatar
g*s
18
哦,看错了。我被问道的是不允许用算术运算符。

【在 r**h 的大作中提到】
: x + (x<<1) + (x<<2)
: 与
: (x<<3) - x
: 算两种方法吗

avatar
c*p
19
mark
avatar
g*e
20

那怎么做?

【在 g*******s 的大作中提到】
: 哦,看错了。我被问道的是不允许用算术运算符。
avatar
y*e
21
没有什么特别的了,fiscal year将近, 最近hiring freeze了。 估计要过了9月以后
才会好点。
avatar
g*s
22
先写加法。用xor和&之类的

【在 g*********e 的大作中提到】
:
: 那怎么做?

avatar
g*s
23
// compute i times j without arithmetic operators
int add(int i, int j)
{
int carry = i;
int sum = j;
// keep adding sum and carry
while(carry)
{
int temp = sum;
sum = temp ^ carry;
carry = temp & carry;
carry <<= 1;
}
return sum;
}
int times(int i, int j)
{
if(j==2)
return add(i,i);
return add(i, times(i, j-1));
}

【在 g*********e 的大作中提到】
:
: 那怎么做?

avatar
r*h
24
def add(a, b):
while b > 0:
a, b = a^b, (a&b)<<1
return a
不过不适用于负数
不知道负数的时候有什么办法吗?

【在 g*********e 的大作中提到】
:
: 那怎么做?

avatar
i*k
25
请问楼主面的是哪个组呢

Recruiter
see

【在 i******a 的大作中提到】
: 个人背景是fresh cs PhD。面试挺顺利,感觉都不错,主要围绕简历上的项目讨论。但
: 不幸被拒。Hiring manager说 definitely impressed with your interview,但只有
: 一个职位。说是把我推荐给其他组了。 这个是客气话不? 这种还有戏么?Recruiter
: 电话里也说过我被推荐给其他组了,但是都快一个月了,也没消息。Recruiter也从不
: 回email。是不是还没有其他组表示感兴趣? Anyway, move on了。
: 1. Read code to say which c routine function it is. Interviewer want to see
: how you understand a program.
: 00009 void *
: 00010 f1(register const void *p1, register const void *p2,
: 00011 register size_t n1, register size_t n2,

avatar
r*n
26
为什么不适用于负数呢?
在c/c++里面负数用two's complement表示,我run了下这个程序,输入是负数,结果也
是正确的。
不过不太理解这些题的意义,cpu能一下就算出来的东西,非要写loop来实现。

【在 r**h 的大作中提到】
: def add(a, b):
: while b > 0:
: a, b = a^b, (a&b)<<1
: return a
: 不过不适用于负数
: 不知道负数的时候有什么办法吗?

avatar
i*a
27
面的是corp research。
现在又收到CDMA的面试邀请。这个。。。。算是浪费资源不 面了又面,就不能直接发
offer么 呵呵

【在 i*****k 的大作中提到】
: 请问楼主面的是哪个组呢
:
: Recruiter
: see

avatar
g*e
28

那就用c++模拟门电路运算得了

【在 r**h 的大作中提到】
: def add(a, b):
: while b > 0:
: a, b = a^b, (a&b)<<1
: return a
: 不过不适用于负数
: 不知道负数的时候有什么办法吗?

avatar
m*g
29
第一题是什么 c routine? 楼主 或大侠指教

【在 g*******s 的大作中提到】
: 第8题我在别家被问过一模一样的,不过没有要两种方法
: lz写的是哪两种方法?

avatar
m*x
30
同问,没看懂啊,请大牛指示

【在 m**********g 的大作中提到】
: 第一题是什么 c routine? 楼主 或大侠指教
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。